[英]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.