len = count; copy_from_user(buf,buffer,len); loops_per_jiffy = simple_strtol(buf,NULL,10); return len; }
//装入模块
int init_module(void) { //创建proc/myfile目录 example_dir = (struct proc_dir_enry *)proc_mkdir(PMDIR,NULL); if (example_dir == 0){ printk (\ return -1; } data_file = (struct proc_dir_entry *)create_proc_entry(PMFILE,0666,example_dir); if (data_file == 0){ remove_proc_entry(PMFILE,0); printk(\ return -ENOMEM; } strcpy(mydata.value,\ data_file->data = &mydata; data_file->read_proc = &proc_read; data_file->write_proc=&proc_write; //data_file->owner=THIS_MODULE; 在我的内核中该结构已经没有owner成员了 return 0; }
//卸载模块
void cleanup_module(void) { remove_proc_entry(PMFILE,example_dir); remove_proc_entry(PMDIR,NULL); printk(\}
MODULE_LICENSE(\
MODULE_DESCRIPTION(\MODULE_AUTHOR(\
参考材料 lke2012.pdf