簡體   English   中英

Linux中的共享中斷線可以具有不同的中斷處理程序嗎?

[英]Can a shared interrupt line in Linux have different interrupt handlers?

不同驅動程序共享的中斷線可以具有不同的唯一中斷處理程序嗎? 例如,這樣的事情可能嗎?

request_irq(irq, &handler1, IRQF_SHARED,"dev1", dev1);上: request_irq(irq, &handler1, IRQF_SHARED,"dev1", dev1);

request_irq(irq, &handler2, IRQF_SHARED,"dev2", dev2);上: request_irq(irq, &handler2, IRQF_SHARED,"dev2", dev2);

如果所有希望共享此IRQ的驅動程序都向IRQF_SHARED請求,則可以IRQF_SHARED工作-如果其中只有一個設置該標志,即僅需要IRQ,則request_irq將失敗。

另一個前提是,您的處理程序需要能夠從硬件中以某種方式識別出是否觸發了IRQ的是他的設備。 這確定了處理程序的返回值。

內核將依次調用所有共享IRQ的處理程序,直到找到實際處理它的處理程序為止。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM