我在學(xué)習(xí)linux 驅(qū)動(dòng)中中斷處理的時(shí)候,看到mini2440 自帶的按鍵驅(qū)動(dòng)中的終端申請(qǐng)函數(shù)的,flag形參為什么是 IRQ_TYPE_EDGE_BOTH(中斷觸發(fā)方式)?
代碼如下:
static int s3c24xx_buttons_open(struct inode *inode, struct file *file)
{
int i;
int err = 0;
for (i = 0; i < sizeof(button_irqs)/sizeof(button_irqs[0]); i++) {
if (button_irqs.irq < 0) {
continue;
}
err = request_irq(button_irqs.irq, buttons_interrupt, IRQ_TYPE_EDGE_BOTH,
button_irqs.name, (void *)&button_irqs);
if (err)
break;
}
if (err) {
i--;
for (; i >= 0; i--) {
if (button_irqs.irq < 0) {
continue;
}
disable_irq(button_irqs.irq);
free_irq(button_irqs.irq, (void *)&button_irqs);
}
return -EBUSY;
}
ev_press = 1;
return 0;
}
最為一個(gè)菜鳥現(xiàn)在不知如何是好啊,請(qǐng)各位大蝦指點(diǎn)指點(diǎn)