在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以及为什么只在标准驱动程序中调用它。

+0

这要看你的硬件(设备)在OS被枚举。这取决于巴士和相应的巴士桥。查看* drivers/tty/serial/8250/*中的很多现有示例。你可以考虑使用'serdev'框架。 – 0andriy

如果您的硬件支持多个uart端口,则应根据可用端口调用uart_add_one_port

分别设备将被注册为/dev/ttyDEVX名称,其中DEV您的驱动程序的名称,X是设备的编号。

Refer similar driver like yours