Посчитал, что тема "написание драйвера под Linux" посвящена поиску литературы и решил создать новую.
Появилась необходимость срочно написать драйвер, прочитал книгу Linux Device Drivers 3ed. Там рассмотрен механизм создания драйвера для версии ядра 2.6, и чёрным по белому написано, что для получения старшего номера устройства необходимо использовать функцию alloc_chrdev_region (динамически) или register_chrdev_region (если номер заранее известен) вместо устаревшей register_chrdev. Но у меня возникли трудности с получением номера устройства.
При использовании функции register_chrdev_region всё вроде бы работает нормально, функция завершается без ошибок, но я не могу найти свой модуль в файле /proc/devices :ujasnah:
При динамическом получении номера, в файле /proc/devices появляется новая строка с выделенным мне номером, но вместо имени модуля печатается всякая белиберда. К тому же при выгрузке модуля освобождения номера не происходит.
Помогите люди добрые. Я новичок в Линуксе (использую ASPLinux 10).Может быть чего-то недопонимаю. Заранее спасибо.