Ubuntu proc_root_driver отсутствует в <linux / proc_fs.h> - PullRequest
2 голосов
/ 16 ноября 2010

Я пытаюсь скомпилировать модуль ядра в Ubuntu 10.04 с ядром 2.6.35-22, и он жалуется на отсутствие proc_root_driver.Я провел некоторый поиск и обнаружил, что он должен это определять, но в моей версии заголовков linux он не определен.Есть ли другая глобальная переменная, которую я должен использовать вместо нее, или есть способ, которым я могу определить ее где-нибудь, чтобы модуль ядра мог компилироваться?

1 Ответ

2 голосов
/ 16 ноября 2010

proc_root_driver раньше был указателем на proc_dir_entry, созданный как proc_mkdir("driver", NULL);. Он был удален в апреле 2008 года в этом коммите: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=928b4d8c8963e75bdb133f562b03b07f9aa4844a

Кроме того, я не думаю, что это когда-либо было частью API ядра, AFAIK это было внутреннее.

Это не так много, правда. Все, что вам нужно сделать, это использовать полный путь в / proc, т.е. заменить код, который выглядит как

proc_array = proc_mkdir("drvnamehere", proc_root_driver);

с кодом, похожим на

proc_array = proc_mkdir("driver/drvnamehere", NULL);

и с тобой все будет в порядке.

...