我只是通過下面的線程說,內核頭文件不想公開irq的模塊。爲什麼內核頭文件不想公開irq的模塊?
Accessing IRQ description array within a module and displaying action names
,但我不知道爲什麼會這樣呢?
此外,我看到一些不使用irq的驅動程序,這是否意味着這些設備不是interuppt驅動?
這樣的驅動程序之一是針對lm73傳感器linux/drivers/hwmon/lm73.c,它主要綁定到i2c總線並且又是一個模塊。
那麼,這是怎麼回事,設備如何選擇不被中斷驅動?
lm73只是插在i2c子系統的頂部,而i2c驅動程序(其中有很多不同的變體)很可能是中斷驅動的。 – nos
@nos但是應該有一些方法讓設備也可以中斷它的總線。不是這種情況嗎? –
也許吧。這取決於子系統。如果你正在編寫一個位於i2c層之上的模塊,你應該調用i2c層定義的函數。而且,如果需要,該層將負責處理總線,無論是否需要中斷。這樣你就不會被綁定到任何特定的i2c芯片。 lm73模塊就是這種情況,它是i2c總線遠端傳感器的驅動程序,它不需要知道i2c總線的本地端如何工作,只要它能發送消息到另一端。 – nos