Re: [問題] linux中斷旗標-IRQF_TRIGGER_NONE的觸發動作與意義

看板LinuxDev作者 (theanine)時間14年前 (2011/11/19 09:58), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
現在一般的裝置大多都是level trigger了, 多半使用IRQF_DISABLED, 要看完整的IRQF_ 種類可以看linux/interrupt.h. ※ 引述《hsuya (隱身術??)》之銘言: : 各位先進你好: : 小弟剛踏入linux 驅動程式開發 : 我想請問一下 : IRQF_TRIGGER_NONE 的信號觸發方式是怎樣的一個觸發方式?? : 在諸多範例中不乏有下面的用法 : if (request_irq(BUTTON_IRQ, button_interrupt, 0, "button", NULL)) : { : printk(KERN_ERR "button.c: Can't allocate irq %d\n", button_irq); : return -EBUSY; : } : 但是在程式上下文中卻沒有用set_irq_type 來宣告該信號是上緣/下緣/level trigger : 我很納悶這樣的用法的意義為何? : IRQF_TRIGGER_NONE是哪種觸發方式啊? : #include <linux/input.h> : #include <linux/module.h> : #include <linux/init.h> : #include <asm/irq.h> : include <asm/io.h> : static struct input_dev *button_dev; : static irqreturn_t button_interrupt(int irq, void *dummy) : { : input_report_key(button_dev, BTN_0, inb(BUTTON_PORT) & 1); : input_sync(button_dev); : return IRQ_HANDLED; : } : static int __init button_init(void) : { : int error; : if (request_irq(BUTTON_IRQ, button_interrupt, 0, "button", NULL)) : { : printk(KERN_ERR "button.c: Can't allocate irq %d\n", button_irq); : return -EBUSY; : } : button_dev = input_allocate_device(); : .... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.169.182.117
文章代碼(AID): #1EnmqhBZ (LinuxDev)
文章代碼(AID): #1EnmqhBZ (LinuxDev)