我想使用ioctl与我的内核模块进行通信。我已经为内核模块和其他用户模式编写了两个c程序。编译内核模块时我收到这个错误:
error:在初始化程序中指定的未知字段’ioctl’
在这一行:
struct file_operations Fops = { .read = device_read,.write = device_write,.ioctl = device_ioctl,------> at this point error is occuring. .open = device_open,.release = device_release,};
任何想法为什么会发生这种情况。
谢谢
在较新的内核中,首选方法是使用.unlocked_ioctl或.compat_ioctl字段。从struct file_operations中删除了简单的.ioctl。
This discussion可能会澄清发生了什么,如何处理。