input子系统学习
input子系统最主要的思想就是中断的思想如何处理中断。input子系统分为三层分别是input_handler——处理层创建设备节点实现fops;input_core——核心层申请主设备号register_chrdev()创建类class_create();input_device——设备层这一部分需要编程自己编写硬件初始化程序编程的步骤struct input_dev *btn_input;1.实例化设备对象kzalloc-------若需要实例化就实例2.申请input设备input_allocate_device()3.初始化input device 对象即位表EV_KEY——按键EV_ABS——绝对坐标EV_REL——相对坐标EV_SYN——同步所有位表其中evbit有32bit对应的位使能可以使设备产生对应的数据类型4.注册input device对象input_register_device;5.硬件初始化一般是申请中断IRQ_EINT,request_irq;6.中断处理函数中断函数中主要是要上报数据input_event,input_sync。