/* q40kbd_open() is called when a port is open by the higher layer. It allocates the interrupt and enables in in the chip.  */
static int q40kbd_open(struct serio *port)
/* q40kbd_open() is called when a port is open by the higher layer. It allocates the interrupt and enables in in the chip.  */
static int q40kbd_open(struct serio *port)
{
	q40kbd_flush();
	if (request_irq(Q40_IRQ_KEYBOARD, q40kbd_interrupt, 0, "q40kbd", NULL)) {
		printk(KERN_ERR "q40kbd.c: Can't get irq %d.\n", Q40_IRQ_KEYBOARD);
		return -EBUSY;
	}
	master_outb(-1, KEYBOARD_UNLOCK_REG);
	master_outb(1, KEY_IRQ_ENABLE_REG);
	return 0;
}