Diferença entre device_register e driver_register
Estou escrevendo um driver UART. Eu me deparei com as duas funções no capítulo 14.Linux Device Model.
int device_register(struct device *dev);
int driver_register(struct device_driver *drv);
Como o UART é um driver de char, criei dinamicamente o número principal usando (alloc_chrdev_region)
e adicionou o dispositivo ao kernel usandocdevadd()
.
Me depareiuart_register_driver()
eplatform_driver_register()
no omap-serial.c.
Eu poderia mapear odriver_register
com oplatform_driver_register()
mas ouart_register_driver
é mapeado com a função relacionada ao tty. Desde que eu sou iniciante, não quero usar as funções relacionadas ao tty.
Éuart_register_driver
relacionado comdevice_driver()
?
Por favor explique.