1

カーネル モジュールで GPIO 割り込みを使用しており、最初の登録時 (request_irq()) で割り込みを受けるたびに使用しています。

irq コードの登録:

at91_set_gpio_input(AT91_PIN_PB12, 0);
at91_set_pulldown(AT91_PIN_PB12, 1);
at91_set_deglitch(AT91_PIN_PB12, 1);
request_irq(gpio_to_irq(AT91_PIN_PB12), &interrupt_handler, IRQF_TRIGGER_FALLING, "irqname", NULL)

コンソール ログ:

# cat /proc/interrupts | grep irqname 
                           <----- the "irqname" interrupt is not registred 
# insmod testmodule.ko
# cat /proc/interrupts | grep irqname
 76:         1      GPIO  irqname <------Why first interrupt hapened at registration
# rmmod testmodule
# insmod testmodule.ko
# cat /proc/interrupts | grep irqname
 76:         1      GPIO  irqname
# rmmod testmodule
# insmod testmodule.ko
# cat /proc/interrupts | grep irqname
 76:         1      GPIO  irqname
# rmmod testmodule
4

1 に答える 1