[input] Linux 输入子系统(二)
来源:互联网 发布:知乎电力系统仿真书籍 编辑:程序博客网 时间:2024/06/05 10:12
注册一个INPUT设备
hwm_obj->idev = input_allocate_device(); //申请input_dev结构if (!hwm_obj->idev){err = -ENOMEM;HWM_ERR("unable to allocate input device!\n");goto exit_alloc_input_dev_failed;}set_bit(EV_REL, hwm_obj->idev->evbit);set_bit(EV_SYN, hwm_obj->idev->evbit);input_set_capability(hwm_obj->idev, EV_REL, EVENT_TYPE_SENSOR); //记录本设备对于哪些事件感兴趣(对其进行处理)hwm_obj->idev->name = HWM_INPUTDEV_NAME;if((err = input_register_device(hwm_obj->idev))) //注册输入设备,并和对应的handler处理函数挂钩{HWM_ERR("unable to register input device!\n");goto exit_input_register_device_failed;}input_set_drvdata(hwm_obj->idev, hwm_obj);hwm_obj->mdev.minor = MISC_DYNAMIC_MINOR;hwm_obj->mdev.name = HWM_SENSOR_DEV_NAME;hwm_obj->mdev.fops = &hwmsen_fops;if((err = misc_register(&hwm_obj->mdev))){HWM_ERR("unable to register sensor device!!\n");goto exit_misc_register_failed;}dev_set_drvdata(hwm_obj->mdev.this_device, hwm_obj);if(hwmsen_create_attr(hwm_obj->mdev.this_device) != 0){HWM_ERR("unable to create attributes!!\n");goto exit_hwmsen_create_attr_failed;}
这里调用了input_register_device()函数注册输入设备结构体,input_register_device()函数原型:
int input_register_device(struct input_dev *dev)
input_register_device()函数是输入子系统核心(input core)提供的函数。该函数将input_dev结构体注册到输入子系统核心中,input_dev结构体必须由前面讲的input_allocate_device()函数来分配。input_register_device()函数如果注册失败,必须调用input_free_device()函数释放分配的空间。如果该函数注册成功,在卸载函数中应该调用input_unregister_device()函数来注销输入设备结构体。
相关内容:
[input] linux输入子系统(一)
- [input] Linux 输入子系统(二)
- Linux 输入子系统 input 子系统
- Linux input输入子系统
- Linux输入(input)子系统
- Linux input输入子系统
- Linux input输入子系统
- linux输入子系统(8)--input core
- [input] linux输入子系统(一)
- Linux 输入(input)子系统架构分析
- Linux 输入(input)子系统架构分析
- Linux输入子系统(Input Subsystem)
- Linux输入子系统(Input Subsystem)
- Linux输入子系统:input.txt
- Linux输入子系统(Input Subsystem)
- Linux输入子系统(Input Subsystem)
- Linux输入子系统(Input Subsystem)
- Linux输入子系统(Input Subsystem)
- Linux输入子系统(Input Subsystem)
- POJ 2352 线段树
- ubuntu source.list
- SQL :每个会员第一次操作的数量
- Linux下tomcat JVM内存设置
- andriod 出现解析包出现错误
- [input] Linux 输入子系统(二)
- iphone知识汇总
- python支持的套接字选项
- 通过css解决html中英文字符溢出
- android 出现java.lang.SecurityException:requires READ_PHONE_STATE
- 60 数据是核心
- Liferay6.0.5中WebContent编辑的一个bug
- Linux Shell编程入门
- ubuntu server 10.04 网卡丢失或不能联网