static int __init pinpad_init(void) { /* Eventually set up IT */ request_irq(USIP_KEYBOARD_IRQ, pinpad_interrupt, SA_INTERRUPT, pinpad_name, NULL); } static void __exit pinpad_exit(void) { /*note: if you not use pinpad_interrupt(not NULL), the kernel will holler:Trying to free already-free IRQ 4*/ free_irq(USIP_KEYBOARD_IRQ, NULL); }