在uart驱动中使用uart_add_one_port
问题描述:
我在写uart驱动。我的驱动程序将支持4个实例,因此我在通过tty注册我的uart时通过.nr = 4
。当我的探测功能被调用时,我需要使用端口特定的结构来做uart_add_one_port
。在uart驱动中使用uart_add_one_port
我在这里有一个疑问。我不需要称它4次,因为我的驱动程序将支持4个实例,并且因为我的所有飞镖的基地址是不同的?
在我发现的大多数标准驱动程序中,无论驱动程序支持多少个实例,它们只会调用uart_add_one_port
一次。
请解释为什么需要uart_add_one_port
以及为什么只在标准驱动程序中调用它。
答
如果您的硬件支持多个uart端口,则应根据可用端口调用uart_add_one_port
。
分别设备将被注册为/dev/ttyDEVX
名称,其中DEV
您的驱动程序的名称,X
是设备的编号。
这要看你的硬件(设备)在OS被枚举。这取决于巴士和相应的巴士桥。查看* drivers/tty/serial/8250/*中的很多现有示例。你可以考虑使用'serdev'框架。 – 0andriy