Lines Matching +full:keyboard +full:- +full:controller

1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * Copyright (c) 2000-2001 Vojtech Pavlik
8 * Acorn RiscPC PS/2 keyboard controller driver for Linux/ARM
23 MODULE_DESCRIPTION("Acorn RiscPC PS/2 keyboard controller driver");
64 struct rpckbd_data *rpckbd = port->port_data; in rpckbd_open()
66 /* Reset the keyboard state machine. */ in rpckbd_open()
71 if (request_irq(rpckbd->rx_irq, rpckbd_rx, 0, "rpckbd", port) != 0) { in rpckbd_open()
72 printk(KERN_ERR "rpckbd.c: Could not allocate keyboard receive IRQ\n"); in rpckbd_open()
73 return -EBUSY; in rpckbd_open()
76 if (request_irq(rpckbd->tx_irq, rpckbd_tx, 0, "rpckbd", port) != 0) { in rpckbd_open()
77 printk(KERN_ERR "rpckbd.c: Could not allocate keyboard transmit IRQ\n"); in rpckbd_open()
78 free_irq(rpckbd->rx_irq, port); in rpckbd_open()
79 return -EBUSY; in rpckbd_open()
87 struct rpckbd_data *rpckbd = port->port_data; in rpckbd_close()
89 free_irq(rpckbd->rx_irq, port); in rpckbd_close()
90 free_irq(rpckbd->tx_irq, port); in rpckbd_close()
116 return -ENOMEM; in rpckbd_probe()
119 rpckbd->rx_irq = rx_irq; in rpckbd_probe()
120 rpckbd->tx_irq = tx_irq; in rpckbd_probe()
122 serio->id.type = SERIO_8042; in rpckbd_probe()
123 serio->write = rpckbd_write; in rpckbd_probe()
124 serio->open = rpckbd_open; in rpckbd_probe()
125 serio->close = rpckbd_close; in rpckbd_probe()
126 serio->dev.parent = &dev->dev; in rpckbd_probe()
127 serio->port_data = rpckbd; in rpckbd_probe()
128 strscpy(serio->name, "RiscPC PS/2 kbd port", sizeof(serio->name)); in rpckbd_probe()
129 strscpy(serio->phys, "rpckbd/serio0", sizeof(serio->phys)); in rpckbd_probe()
139 struct rpckbd_data *rpckbd = serio->port_data; in rpckbd_remove()