Linux驱动——error: unknown field 'ioctl' specified in initializer

驱动编程初学者经常会遇到资料与实际环境不匹的情况:

error: unknown field 'ioctl' specified in initializer

原因:

        由于2.6.36内核之后,去掉了原来的ioctl,添加两个新的成员,所以会出错,我的内核版本是:4.2.0-27-generic

解决方法:

        新成员:

           long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long);

           long (*compat_ioctl) (struct file *, unsigned int, unsigned long);

         修改源文件中file_operations内.ioctl 改为 .compat_ioctl 即可。


猜你喜欢

转载自blog.csdn.net/qq_35277038/article/details/80498759
今日推荐