免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3741 | 回复: 4
打印 上一主题 下一主题

请教input设备ioctl问题,谢谢高手回答(已解决) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-02-18 10:44 |只看该作者 |倒序浏览
本帖最后由 shepx 于 2011-02-21 15:55 编辑

Hi,
        我刚接触驱动开发,写一个输入设备的驱动,现在设备已经可以正常工作了,产生了/dev/input/event1节点,能正常上报数据。
        现在想通过ioctl对硬件进行设置,但是input设备上,ioctl的调用是在 kernel/drivers/input/evdev.c中,是针对全部input设备的,而我只希望对于我这个device进行设置,扩展evdev.c似乎不是一个好的方法,我应该怎么做?希望有人能帮忙解答。

论坛徽章:
0
2 [报告]
发表于 2011-02-18 11:16 |只看该作者
有人知道吗?
我是否要再创造个fops,注册一个chrdev,再产生个文件节点?

论坛徽章:
0
3 [报告]
发表于 2011-02-21 17:19 |只看该作者
你可以仿照evdev_handler重新创建一个input_handler,然后在用int input_register_handler将这个handler注册。至于如何实现你可以参考evdev.c因为这个是evdev_handler用来匹配所有的input设备。而
完全可以仿照这个驱动,来实现自己的handler。

论坛徽章:
0
4 [报告]
发表于 2011-02-21 19:02 |只看该作者
回复 3# steven_miao
谢谢 steven_miao提供的方法,
不过,我在驱动里misc_register()新注册了一个miscdevice,这样就在/dev下生成了一个节点,专门用于ioctl。

论坛徽章:
0
5 [报告]
发表于 2011-04-06 11:06 |只看该作者
无论怎么样,那个节点都必须有啊,负责你怎么去在用户态下去控制硬件的工作呢,哦,除非是用Input 那几个函数了,呵呵
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP