2017-03-07 125 views
1

我们正在为ADC编写一个设备驱动程序。 ADC使用2条通信总线:SPI用于控制,McASP用于数据。所以我们需要将ADC驱动程序连接到这些总线驱动程序。 对于器件树知道的ADC是SPI控制器的子节点。是否有可能引用ADC节点下的McASP控制器为好,即做这样的事情:将设备驱动程序连接到Linux内核中的多个外部驱动程序

spi1: [email protected]{ 
    .. 
    adc: [email protected] { 
     ... 
    } 
} 
mcasp: [email protected]{ 
    ... 
    &adc 
} 

还是有在内核中某些attach()功能? 解决这个问题的正确方法是什么?

谢谢。

+1

据我了解设备树的概念,您需要提供一个辅助总线的阶梯。假设你有一个SPI设备(通过控制),主总线是SPI。因此,在SPI设备描述中,您需要向数据总线添加一个阶梯。 – 0andriy

+0

谢谢,我得到了phandle的概念。但仍然在努力如何将数据总线翻译成设备结构(struct dev)?反之亦然,如何从数据总线驱动程序引用SPI设备? – Robert

回答

0

其实我可以使用功能组合of_parse_phandle()of_find_device_by_node() 还有一个of_find_*函数族可以使用。

相关问题