static int release_mouse(struct inode * inode, struct file * file) { ATIXL_MSE_INT_OFF(); /* Interrupts are really shut down here */ free_irq(ATIXL_MOUSE_IRQ, NULL); MOD_DEC_USE_COUNT; return 0; }
static void release_mouse(struct inode * inode, struct file * file) { ATIXL_MSE_INT_OFF(); /* Interrupts are really shut down here */ mouse.active = 0; mouse.ready = 0; free_irq(ATIXL_MOUSE_IRQ); }
static int release_mouse(struct inode * inode, struct file * file) { fasync_mouse(-1, file, 0); if (--mouse.active) return 0; ATIXL_MSE_INT_OFF(); /* Interrupts are really shut down here */ mouse.ready = 0; free_irq(ATIXL_MOUSE_IRQ, NULL); MOD_DEC_USE_COUNT; return 0; }