O par de comandos device_create e class_create fazem o truque no Linux. Verifica link
Lendo todos os livros / artigos / tutoriais / exemplos sobre drivers de dispositivo de caracteres que pude encontrar, todos eles abordam como adquirir um número principal em meu código de driver e todos sugiro que eu faça isso invocando alloc_chrdev_region()
. Para criar o nó do dispositivo real, todos eles me dizem para invocar mknod
fora do código do meu driver manualmente ou em um script. Uma referência quer que meu motorista imprima o número principal. Outro quer que eu use awk
on /proc/devices
para encontrar o maior número. Há menção à função mknod()
, mas parece ser destinada ao uso no código do usuário.
Obviamente, estou sentindo falta de algo, pois não entendo por que não há como meu motorista ser autônomo, ou seja, eu faço modprobe my_driver
e acabo com, digamos, /dev/my_driver
criado sem ter fazer qualquer outra coisa.
O par de comandos device_create e class_create fazem o truque no Linux. Verifica link