Проблема
С определённой версии ядра Linux, многие модули перестали собираться.
Сообщая при этом:
error: unknown field 'ioctl' specified in initializer
Как исправить
1. В структуре file_operations нужно заменить ".ioctl = " на ".unlocked_ioctl ="
2. Заменить параметры функции, на которую указывает .unlocked_ioctl. А именно, у брать первый аргумент. Получится:
static long servo_ioctl (struct file *file, unsigned int cmd, unsigned long param)
3. Заменить возвращаемое значение этой же функции со static int на static long.