Requester interrupt i interrupt.c (modificeret øvelse 5)
indsættes i init lige før return:
unsigned int IRQ = gpio_to_irq(130);
request_irq(IRQ, myISR, IRQF_TRIGGER_RISING, "Joe", NULL);
printk("IRQ-line: %d", IRQ);
//der ses med dmesg hvilket IRQ-linie vi får tildelt.
implimenter pseudo myISR, som kører printk(KERN_ALERT "IRQ event!!!\n");.
Implementer ISR
Der er et eksempel på wait() på side 160 i LDD3.
Tilføj følgende kode i toppen af filen, som global variabel.
static DECLARE_WAIT_QUEUE_HEAD(wq);
static int flag = 0;
I mygpio_read( ) på linie 278 og 279 tilføjes følgende kode.
flag = 0;
wait_event_interruptible(wq, flag!=0);
I mypgio_isr( ) implimenteres således:

vi forbinder interruptbenet til GROUND
indsætter modul:
insmod interrupts.ko
VI skifter benet over til VCC, og bagefter til GND igen.
vi kigger i dmesg, og ser at der sket nogle interrupts.
Fik I det til at virke?
SvarSlet