input子系统三 核心层和处理器注册
来源:互联网 发布:靠谱欧洲代购淘宝店 编辑:程序博客网 时间:2024/05/29 14:09
一 input字符设备注册
static int __init input_init(void){int err;err = class_register(&input_class);if (err) {pr_err("unable to register input_dev class\n");return err;}err = input_proc_init();if (err)goto fail1;err = register_chrdev_region(MKDEV(INPUT_MAJOR, 0), INPUT_MAX_CHAR_DEVICES, "input");if (err) {pr_err("unable to register char major %d", INPUT_MAJOR);goto fail2;}return 0; fail2:input_proc_exit(); fail1:class_unregister(&input_class);return err;}注册了sysfs接口和proc接口,注册了一个主设备号为13的char设备input。
二 handler处理器注册
static int __init evdev_init(void){return input_register_handler(&evdev_handler);}
int input_register_handler(struct input_handler *handler){struct input_dev *dev;int error;error = mutex_lock_interruptible(&input_mutex);if (error)return error;INIT_LIST_HEAD(&handler->h_list);list_add_tail(&handler->node, &input_handler_list);list_for_each_entry(dev, &input_dev_list, node)input_attach_handler(dev, handler);input_wakeup_procfs_readers();mutex_unlock(&input_mutex);return 0;}
list_add_tail(&handler->node, &input_handler_list);把自己挂在全局的list上,input device register的时候,会遍历这个list,做handler匹配,当然这个匹配时双向的,
所以此时会遍历input_dev_list,为hander找到匹配的dev。没错,匹配时调用的仍然是input_attach_handler(dev, handler)。- input子系统三 核心层和处理器注册
- input子系统三 核心层和处理器注册
- input子系统三 核心层和处理器注册
- android input子系统之二:核心层
- input子系统学习笔记七 handler处理器注册分析
- input子系统学习笔记七 handler处理器注册分析
- input子系统学习笔记七 handler处理器注册分析
- input子系统学习笔记七 handler处理器注册分析
- input子系统二 驱动层input设备注册
- input子系统二 驱动层input设备注册
- input子系统二 驱动层input设备注册
- input子系统框架、核心层、输入事件驱动层详解
- android input子系统之三:事件层
- Linux/Android——input子系统核心 (三)
- Linux/Android——input子系统核心 (三)
- Linux/Android——input子系统核心 (三)
- linux input子系统分析--子系统核心.事件处理层.事件传递过程
- linux驱动——input输入子系统(1)—输入子系统核心层(Input Core)
- ORA-00054: 资源正忙
- 2009-08-27 22:21 C++调试时的错误例子及解决方法
- 数据挖掘中所需的概率论与数理统计知识、上
- 17个学术论文搜索引擎
- jDom --xml
- input子系统三 核心层和处理器注册
- Storyboard里面的几种Segue区别:push,modal,popover,replace和custom(转载) (
- 判断jquery 对象是否存在
- 21个新鲜的CSS 3教程与技巧强烈推荐
- 补算法相关知识一:蚂蚁算法
- HDU-3392 Pie DP
- android保存Bitmap图片到sd卡
- debian下安装php的一些扩展geoip,mongo,redis,libevent,proctitle,inotify,pcntl,uv,yaf
- C# 文件下载四方法