2.6内核前后--注册字符设备驱动区别
来源:互联网 发布:百度贴吧论坛 源码 编辑:程序博客网 时间:2024/05/16 12:17
1:2.6内核前
int register_chrdev (unsigned int major, const char *name, struct file_operations *fops);
int unregister_chrdev( unsigned int major, const char *name );
创建设备文件的方法:
static devfs_handle_t devfs_handle;
devfs_handle = devfs_register( NULL, DEVICE_NAME, DEVFS_FL_DEFAULT,
BUTTON_MAJOR,&sbc2410_buttons_fops, NULL);
devfs_unregister( devfs_handle);
2:2.6内核以及以后
int register_chrdev_region( dev_t first, unsigned int count, char *name );
int alloc_chrdev_region( dev_t *dev, unsigned int firstminor,unsigned int count, char *name );
void unregister_chrdev_region( dev_t first, unsigned int count );
void cdev_init( struct cdev *cdev, struct file_operations *fops);
int cdev_add( struct cdev *dev, dev_t num, unsigned int count);
void cdev_del( struct cdev *dev );
创建设备文件的方法:
devfs_mk_cdev( MKDEV(LED_MAJOR, LED_MINOR),
S_IFCHR | S_IRUSR | S_IWUSR | S_IRGRP, DEVICE_NAME);
devfs_remove(DEVICE_NAME);
3:字符设备文件生成方法
1:通过命令创建
mknod /dev/设备文件名 字符设备(c是字符设备,b是块设备) 主设备号 次设备号
例如:mknod /dev/testChar c 100 0
删除设备入口:
rm /dev/testChar
2:使用devfs动态创建设备节点
#ifdef CONFIG_DEVFS_FS---内核配置项
3:用udev配合class动态生成设备文件
dev_class = class_create(THIS_MODULE, "cdd_class");
dev_device = device_create(dev_class, NULL, dev, NULL, "cdd%d", cdd_minor);
总结:2.6内核以前的字符驱动注册机制不应该在新代码中使用了,因为会在将来的内核中消失。
- 2.6内核前后--注册字符设备驱动区别
- Linux内核设备驱动注册
- Linux字符设备驱动--设备注册
- 内核字符设备驱动框架
- Linux(2.6.35.7)字符设备驱动注册接口
- [设备驱动] 最简单的内核设备驱动--字符驱动
- 内核中宏MKDEV、字符设备注册
- Linux驱动编程--字符设备文件注册
- 字符设备注册platform平台驱动机制
- 《Linux驱动》注册字符类设备
- Linux字符设备驱动的注册
- 【Pixhawk】注册一个字符型驱动设备
- 以杂项设备驱动的方法注册字符设备驱动
- Linux 2.6 内核下字符设备驱动编写(转)
- Linux 2.6内核 动态加载字符设备驱动模块
- linux 2.6内核 字符设备驱动 相关函数
- 内核模块编程笔记 - 字符设备驱动
- linux内核ioctl(字符设备驱动)
- Rightmost Digit 数论
- 关于struct2的配置问题
- 《C++ Template Metaprogramming》习题3-0
- R语言多元分析系列
- Java中常见的坑
- 2.6内核前后--注册字符设备驱动区别
- [cocos2dx 3.0 (二)] 多线程std::thread的使用 以及performFunctionInCocosThread函数
- Redis C客户端Hiredis的安装
- Java那些不为人知的特殊方法
- Smurf攻击
- [Debug]内存问题的一些调试方法
- something 待整理
- 关于Android添加、判断快捷方式是否已添加的问题
- CKEditor上传插件