字符设备初始化
来源:互联网 发布:mac导入照片不清晰 编辑:程序博客网 时间:2024/06/17 08:15
一个 cdev 一般它有两种定义初始化方式:静态的和动态的。 静态内存定义初始化: struct cdev my_cdev; cdev_init(&my_cdev, &fops); my_cdev.owner = THIS_MODULE;动态内存定义初始化: struct cdev *my_cdev = cdev_alloc(); my_cdev->ops = &fops; my_cdev->owner = THIS_MODULE;两种使用方式的功能是一样的,只是使用的内存区不一样,一般视实际的数据结构需求而定。 下面贴出了两个函数的代码,以具体看一下它们之间的差异。struct cdev *cdev_alloc(void) { struct cdev *p = kzalloc(sizeof(struct cdev), GFP_KERNEL); if (p) { INIT_LIST_HEAD(&p->list); kobject_init(&p->kobj, &ktype_cdev_dynamic); } return p; } void cdev_init(struct cdev *cdev, const struct file_operations *fops) { memset(cdev, 0, sizeof *cdev); 注1; INIT_LIST_HEAD(&cdev->list); kobject_init(&cdev->kobj, &ktype_cdev_default); cdev->ops = fops; }由此可见,两个函数完成都功能基本一致,只是 cdev_init() 还多赋了一个 cdev->ops 的值。
阅读全文
0 0
- 字符设备初始化函数
- 字符设备初始化流程
- 字符设备初始化
- 字符设备结构体 cdev 初始化
- 字符设备的初始化之我见:
- 字符设备结构体 cdev 初始化
- Linux 内核设备驱动之GPIO驱动之GPIO GPIO字符设备初始化
- 字符设备
- 字符设备
- 字符设备
- 字符设备
- 字符设备
- 字符设备
- 字符设备
- 块设备 字符设备
- 字符设备 块设备
- 块设备、字符设备
- 字符驱动之初始化设备及自动mknod(未实验)
- Android获取电池充电状态的方式
- Java Web笔记(六)
- 利用AD域访问web资源
- 怎样选择安全靠谱的网贷平台
- 原创简单易懂的排列算法,经过测试性能要比字典排序好25%左右
- 字符设备初始化
- 转载-改做人工智能之前,90%的人都没能给自己定位
- 使用MarkDown编写博客
- CondaHTTPError: HTTP 000 CONNECTION FAILED for url
- Qt怎么打包程序
- 学习历程—程序设计基础(一)
- 微信小程序之报错—pages/welcome/welcome 出现脚本错误或者未正确调用 Page()是什么问题?
- 为MyEclipse 9/10中的html/JSP编辑器添加代码自动提示
- 【转载:总有人会解决你的问题】eclipse被maven搞得无法启动