我正在为多点触控设备开发 Linux 内核驱动程序。目前,我已经将触控功能注入 Linux 内核子系统,并且它正在运行。问题是我还需要与设备交互以更改设置等。
当内核抓取设备时,我无法在用户空间抓取它,所以我需要找到一种与内核驱动程序交互的方法。
我的第一个驱动程序测试有一些额外的操作,我在当前使用的型号上找不到这些操作。它有打开、关闭、读取、写入操作,我可以从用户空间执行这些操作。
我该如何使用输入驱动程序来做这样的事情? 有没有什么官方的方法?
提前致谢,
我最好的问候,
努诺桑托斯
答案1
您需要实现将字符设备注入内核标准输入子系统。请检查这书。read()
、write()
、ioctl()
等是典型的字符驱动程序操作,任何字符驱动程序至少有open()
和close()
。无论如何,您在上一个驱动程序版本中使用了内核的哪个子系统?对于任何内核开发来说,最有用的方法是阅读内核源目录中的文档/中的相关文档,并阅读与您的任务相关的区域的内核驱动程序代码。
答案2
您可以将输入设备驱动程序与字符驱动程序组合起来,然后获得一个设备文件,您可以将配置数据写入其中并从中读取配置。内核空间中两个独立驱动程序之间的交互应该也不复杂。
我想你已经知道这本书了,它可能会详细回答你的问题: