Ядро ОС Linux



         

Инициализация.


Кроме функций описанных в file_operations, есть еще одна функция, кото- рую вам надо вписать в функцию foo_init(). Вам придется изменить функцию chr_dev_init() в chr_drv/mem.c для вызова вашей функции foo_init(). foo_init() вначале должна вызывать register_chrdev() для определения самой себя и установки номеров устройств. Аргументы register_chrdev() :

  • int major - основной номер драйвера.
  • char *name - имя драйвера оно может быть изменено, но не имеет практического применения.
  • struct file_operations *fops - адрес определенной вами file_operations.
  • Возвращаемые значения : 0 - в случае если указанным основным номером ни одно устройство более не обладает. не 0 в случае некорректного вызова.



  • Содержание  Назад  Вперед