class_create
来源:互联网 发布:mac win8压缩软件 编辑:程序博客网 时间:2024/06/10 16:17
class_create
之前写的字符类设备驱动,没有自动创建设备节点,因为只使用了register_chrdev()函数,只是注册了这个设备。然后在系统启动后,就要自己创建设备节点mknod,这样虽然是可行的,但是比较麻烦。于是想在__init函数里面,自动创建设备节点。
经过查阅资料,发现创建设备节点使用了两个函数 class_create()和class_device_create(),当然在__exit()函数里,要使用class_destory()和class_device_desotry()注销创建的设备节点!
问题来了,编译了之后,发现报错error: implicit declaration of function 'class_device_create'等几个错误。经过分析,应该是Linux内核版本不同的原因!早期的版本,使用的是上面说的两个函数,但是在2.6.29以后(我用的是2.6.32的),使用的函数则变成了 class_create()和device_create(),并且要在声明中加入#include <linux/device.h> ,因为定义这些函数是在Linux2.6.32/include/linux/device.h里面!
经过这些修改后,驱动编译成功,就能够自动创建设备节点了!
之前写的字符类设备驱动,没有自动创建设备节点,因为只使用了register_chrdev()函数,只是注册了这个设备。然后在系统启动后,就要自己创建设备节点mknod,这样虽然是可行的,但是比较麻烦。于是想在__init函数里面,自动创建设备节点。
经过查阅资料,发现创建设备节点使用了两个函数 class_create()和class_device_create(),当然在__exit()函数里,要使用class_destory()和class_device_desotry()注销创建的设备节点!
问题来了,编译了之后,发现报错error: implicit declaration of function 'class_device_create'等几个错误。经过分析,应该是Linux内核版本不同的原因!早期的版本,使用的是上面说的两个函数,但是在2.6.29以后(我用的是2.6.32的),使用的函数则变成了 class_create()和device_create(),并且要在声明中加入#include <linux/device.h> ,因为定义这些函数是在Linux2.6.32/include/linux/device.h里面!
经过这些修改后,驱动编译成功,就能够自动创建设备节点了!
- class_create()
- class_create()
- class_create()
- class_create()
- class_create()
- class_create
- class_create()
- class_create
- class_create()
- class_create()
- class_create
- class_create
- class_create() class_device_create
- register_chrdev,class_create()
- class_create() 2
- class_create() device_create()
- class_create() 详解
- register_chrdev,class_create()
- cocos2d-x lua之创建剪切精灵
- 史上最经典的Linux内核学习方法论
- Spring配置项<context:annotation-config/>解释说明
- 高级进程间通信
- 手动设置Centos静态地址
- class_create
- SVN修改用户名与密码
- 收集的有关网络安全的常用链接
- ubuntu12.04 gvim启动慢解决办法
- postgreSQL学习记录之raise用法
- Compute how many bits to require convert one integer to another
- linux串口编程参数配置详解
- 直接插入排序与二分查找
- webbug 解决数据库乱码的问题