Оказывается, если модуль пытается инициализировать устройство с использованием большого числа, которое уже выполнено, insmod и modprobe сбойятся с сообщением об ошибке
operation not permitted
Для XAPP 1022, в частности, драйвер пытается зарегистрировать устройство char, которому он присваивает основное число 240. На моем компьютере было зарегистрировано еще одно устройство с таким большим числом, что привело к отказу драйвера от его функции init.
Решение заключается в изменении
int gDrvrMajor = 240;
на
int gDrvrMajor = {some major number that isn't taken}
внутри xpcie.c. Затем также необходимо изменить
mknod /dev/xpcie c 240 1
на
mknod /dev/xpcie c {same other major number as above} 1
внутри make_device.
Оказывается, если модуль пытается инициализировать устройство с использованием большого числа, которое уже выполнено, insmod и modprobe сбойятся с сообщением об ошибке
operation not permitted
Для XAPP 1022, в частности, драйвер пытается зарегистрировать устройство char, которому он присваивает основное число 240. На моем компьютере было зарегистрировано еще одно устройство с таким большим числом, что привело к отказу драйвера от его функции init.
Решение заключается в изменении
int gDrvrMajor = 240;
на
int gDrvrMajor = {some major number that isn't taken}
внутри xpcie.c. Затем также необходимо изменить
mknod /dev/xpcie c 240 1
на
mknod /dev/xpcie c {same other major number as above} 1
внутри make_device.