初始值设定项中指定的未知字段 'ioctl'

unknown field 'ioctl' specified in initializer

我根据书LDD3实现了一个简单的例子来研究ioctl接口的用法。当我编译代码时,报告unknown field 'ioctl' specified in initializer.

我猜 LDD3 和我的内核版本的差异导致了这个错误。我现在使用的是带有内核 3.18.14 的 Debian 8,它比 LDD3.

中的 2.6 版本更新得多

我不知道 ioctl,甚至 struct file_operations 是如何将 2.6 更改为 3.18,所以请给我一些阅读 material 来澄清它。当然,除了阅读material,我其实还需要一个解决办法来解决这个问题

ioctl 已重命名为 unlocked_ioctl。例如,请参阅该文章:http://lwn.net/Articles/115651/

LDD3 中提到的 struct file_operations 中的其他操作未更改。