[問題] request_irq的flag細節
我想請問一下關於
request_irq(unsigned int irq, irq_handler_t handler,
unsigned long flags, const char *name, void *dev)
裡面的一些細節。
現在問題是我原本的device driver是使用request_threaded_irq
但是現在因為某些原因必須改成 request_irq
那這樣我原本的flag是
request_threaded_irq(i2c->irq, NULL, abc_irq_handler,IRQF_TRIGGER_RISING |
IRQF_TRIGGER_FALLING | IRQF_ONESHOT, "abc", abc);
就可以直接改成下面這樣嗎?
request_irq(i2c->irq,abc_irq_handler,RQF_TRIGGER_RISING |
IRQF_TRIGGER_FALLING | IRQF_ONESHOT, "abc", abc);
主要有幾個問題?
1. 上面的改法正確嗎?
2. flag裡面有一個IRQF_SHARED, 這個是什麼狀況下用的? (看英文解釋沒什麼FU)
3. 我在網路上看到sample code
request_irq(button_irqs[i].irq, buttons_interrupt, IRQF_DISABLED
| IRQF_TRIGGER_RISING, button_irqs[i].name, NULL);
為什麼flag裡面要帶一個"IRQF_DISABLED" ? 這個有什麼用意嗎?
thanks
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.250.205.229
※ 文章網址: https://www.ptt.cc/bbs/LinuxDev/M.1466510887.A.2EF.html
→
06/30 23:14, , 1F
06/30 23:14, 1F
推
07/15 20:42, , 2F
07/15 20:42, 2F
→
07/15 20:43, , 3F
07/15 20:43, 3F
→
07/15 21:01, , 4F
07/15 21:01, 4F
→
07/15 21:02, , 5F
07/15 21:02, 5F
→
07/15 21:13, , 6F
07/15 21:13, 6F
→
07/15 21:14, , 7F
07/15 21:14, 7F
LinuxDev 近期熱門文章
PTT數位生活區 即時熱門文章
10
17