2011-11-24 124 views

回答

2

我不相信你可以在模塊中使用irq_to_desc()

如果沒有定義CONFIG_GENERIC_HARDIRQS,則irq_to_desc()#defined作爲include/linux/irqnr.h中的宏。由於它引用的變量irq_desc不在EXPORT_SYMBOLEXPORT_SYMBOL_GPL聲明中,我不認爲您可以將使用該變量的模塊鏈接到內核 - 只有靜態編譯的內核代碼才能使用它。

如果定義了CONFIG_GENERIC_HARDIRQS,則函數irq_to_desc()include/linux/irqnr.h中聲明並在kernel/irq/irqdesc.c中定義。 兩個定義irq_to_desc()kernel/irq/irqdesc.c取決於CONFIG_SPARSE_IRQ的值。該函數沒有相應的EXPORT_SYMBOLEXPORT_SYMBOL_GPL聲明,因此它不能用於模塊 - 僅用於靜態編譯的內核代碼。

+0

嗯,我不認爲我真的明白了。無論如何,如果有任何功能或宏,我可以在模塊中使用irq號碼獲得irq_desc。 – Roman

+0

我不相信。 – sarnold