2015-09-29 14 views
0

中未引用的內核api使用我試圖使用irq_to_desc api獲取芯片數據並從內核模塊設置irq關聯。但是api irq_to_desc不能在linux內核中輸出。 有什麼辦法通過我可以通過任何其他方式獲得irq芯片數據或設置irq_affinity?在模塊

感謝, 開發

+0

在當前內核版本中,「irq_to_desc」被導出用於模塊。你使用的是什麼版本的內核? – Tsyvarev

+0

我使用2.6.32內核。 – dev

回答

1

看來,內核2.6.32沒有爲模塊提供了IRQ描述符的訪問。所有使用它的驅動程序都是內置編譯的。

如果你確實需要此功能,您可以使用find_symbol爲獲取其地址:

// It will be pointer to irq_to_desc function. 
struct irq_desc (*func_irq_to_desc)(unsigned int irq); 

// Initialize pointer to function 
struct kernel_symbol* ks = find_symbol("irq_to_desc"); 
if(ks) 
    func_irq_to_desc = (typeof(func_irq_to_desc))ks->value; 

// Use function 
func_irq_to_desc(2)->affinity = 3; 

當然,這是一個黑客。另外,使用find_symbol需要模塊的「GPL」許可證。

+0

謝謝,我會試試這個。 – dev