请教input设备ioctl问题,谢谢高手回答(已解决)
本帖最后由 shepx 于 2011-02-21 15:55 编辑Hi,
我刚接触驱动开发,写一个输入设备的驱动,现在设备已经可以正常工作了,产生了/dev/input/event1节点,能正常上报数据。
现在想通过ioctl对硬件进行设置,但是input设备上,ioctl的调用是在 kernel/drivers/input/evdev.c中,是针对全部input设备的,而我只希望对于我这个device进行设置,扩展evdev.c似乎不是一个好的方法,我应该怎么做?希望有人能帮忙解答。 有人知道吗?
我是否要再创造个fops,注册一个chrdev,再产生个文件节点? 你可以仿照evdev_handler重新创建一个input_handler,然后在用int input_register_handler将这个handler注册。至于如何实现你可以参考evdev.c因为这个是evdev_handler用来匹配所有的input设备。而
完全可以仿照这个驱动,来实现自己的handler。 回复 3# steven_miao
谢谢 steven_miao提供的方法,
不过,我在驱动里misc_register()新注册了一个miscdevice,这样就在/dev下生成了一个节点,专门用于ioctl。 无论怎么样,那个节点都必须有啊,负责你怎么去在用户态下去控制硬件的工作呢,哦,除非是用Input 那几个函数了,呵呵
页:
[1]