字符型设备驱动模板

字符型设备驱动模板

ID:43513644

大小:15.50 KB

页数:4页

时间:2019-10-09

字符型设备驱动模板_第1页
字符型设备驱动模板_第2页
字符型设备驱动模板_第3页
字符型设备驱动模板_第4页
资源描述:

《字符型设备驱动模板》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、字符型设备驱动模板#defineDEVICE_NAME"demo"#definedemo_MAJOR254#definedemo_MINOR0staticssize_tdemo_write(structfile*filp,constchar*buffer,size_tcount){chardrv_buf[];copy_from_user(drv_buf,buffer,count);…}staticssize_tdemo_read(structfile*filp,char*buffer,size_tcount,loff_t*ppos){chardrv_buf[];copy_

2、to_user(buffer,drv_buf,count);…}staticintdemo_ioctl(structinode*inode,structfile*file,unsignedintcmd,unsignedlongarg){}staticintdemo_open(structinode*inode,structfile*file){MOD_INC_USE_COUNT;printk("deviceopensucess!");return0;}staticintdemo_release(structinode*inode,structfile*filp){MO

3、D_DEC_USE_COUNT;printk("devicerelease");return0;}staticstructfile_operationsdemo_fops={owner:THIS_MODULE,write:demo_write,read:demo_read,ioctl:demo_ioctl,open:demo_open,release:demo_release,};#ifdefCONFIG_DEVFS_FSstaticdevfs_handle_tdevfs_demo_dir,devfs_demo_handle;#endifstaticint__init

4、demo_init(void){intresult;#ifdefCONFIG_DEVFS_FSdevfs_demo_dir=devfs_mk_dir(NULL,"demo",NULL);devfs_demo_handle=devfs_register(devfs_demo_dir,"0",DEVFS_FL_DEFAULT,demo_MAJOR,demo_MINOR,S_IFCHR

5、S_IRUSR

6、S_IWUSR,&demo_fops,NULL);#elseSET_MODULE_OWNER(&demo_fops);result=register_chrdev(demo_MA

7、JOR,"demo",&demo_fops);if(result<0)returnresult;if(demo_MAJOR==0)demo_MAJOR=result;/*动态分配主设备号*/#endifprintk(DEVICE_NAME"initialized");return0;}staticvoid__exitdemo_exit(void){#ifdefCONFIG_DEVFS_FSdevfs_unregister(devfs_demo_handle);#elseunregister_chrdev(demo_MAJOR,"demo");#endifprintk(

8、DEVICE_NAME"unloaded");}module_init(demo_init);module_exit(demo_exit);

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。