#define IRQ_NO 11
static irqreturn_t irq_handler(int irq,void *dev_id) {
printk(KERN_INFO “Shared IRQ: Interrupt Occurred”);
return IRQ_HANDLED;
}
static int __init driver_init(void)
{
if (request_irq(IRQ_NO, irq_handler, IRQF_SHARED, “etx_device”, (void *)(irq_handler))) {
printk(KERN_INFO “my_device: cannot register IRQ “);
goto irq;
}
}
void __exit driver_exit(void)
{
free_irq(IRQ_NO,(void *)(irq_handler));
}
module_init(driver_init);
module_exit(driver_exit);
MODULE_LICENSE(“GPL”);