#include #include #include #include static int test_var; static irqreturn_t test_handler(int irq, void *arg) { printk("irq_test: INTERRUPT!\n"); return IRQ_HANDLED; } static int __init __test_init(void) { int err; printk("irq_test: before request_irq\n"); err = request_irq(48, test_handler, IRQF_SHARED, "test_irq", &test_var); printk("irq_test: after request_irq (err = %d)\n", err); return err; } static void __exit __test_exit(void) { free_irq(48, &test_var); } MODULE_LICENSE("GPL"); module_init(__test_init); module_exit(__test_exit);