Я намагаюся скомпілювати модуль ядра в Ubuntu10.04 з ядром 2.6.35-22 і він скаржиться на відсутність proc_root_driver. Я зробив деякі пошуки, і я знайшов, що він повинен визначити це, але в моїй версії linux-заголовки, це не визначено. визначити його десь так, що модуль ядра може компілюватися?
Відповіді:
2 для відповіді № 1proc_root_driver
використовується для покажчика на a 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);
і ви повинні бути в порядку.