ddp*_*dpd 2 c serial-port linux-device-driver embedded-linux uart
我正在写一个UART驱动程序。我在第 14.Linux 设备模型一章中遇到了这两个函数。
int device_register(struct device *dev);
int driver_register(struct device_driver *drv);
Run Code Online (Sandbox Code Playgroud)
由于 UART 是一个字符驱动程序,我使用 ( 动态创建了主alloc_chrdev_region)设备号,并使用cdevadd().
我在 omap-serial.c 中遇到了uart_register_driver()和。platform_driver_register()
我可以映射driver_register与 ,platform_driver_register()但uart_register_driver映射与 tty 相关的函数。因为我是初学者,所以我不想使用 tty 相关的函数。
uart_register_driver与?有关device_driver()。
请解释。
小智 5
driver_register:将此驱动程序添加到总线驱动程序列表中。
device_register:迭代总线的驱动程序列表以查找支持该设备的驱动程序,然后将该设备添加到总线的设备列表中。