2017-03-07 67 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_*函數族可以使用。