Lines Matching +full:keyboard +full:- +full:controller
1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * Copyright (c) 2000-2001 Vojtech Pavlik
10 * Amiga keyboard driver for Linux/m68k
18 #include <linux/keyboard.h>
26 MODULE_DESCRIPTION("Amiga keyboard driver");
156 [0] = KERN_ALERT "amikbd: Ctrl-Amiga-Amiga reset warning!!\n",
157 [1] = KERN_WARNING "amikbd: keyboard lost sync\n",
158 [2] = KERN_WARNING "amikbd: keyboard buffer overflow\n",
159 [3] = KERN_WARNING "amikbd: keyboard controller failure\n",
160 [4] = KERN_ERR "amikbd: keyboard selftest failure\n",
161 [5] = KERN_INFO "amikbd: initiate power-up key stream\n",
162 [6] = KERN_INFO "amikbd: terminate power-up key stream\n",
163 [7] = KERN_WARNING "amikbd: keyboard interrupt\n"
171 scancode = ~ciaa.sdr; /* get and invert scancode (keyboard is active low) */ in amikbd_interrupt()
189 printk(amikbd_messages[scancode - 0x78]); in amikbd_interrupt()
199 dev = devm_input_allocate_device(&pdev->dev); in amikbd_probe()
201 dev_err(&pdev->dev, "Not enough memory for input device\n"); in amikbd_probe()
202 return -ENOMEM; in amikbd_probe()
205 dev->name = pdev->name; in amikbd_probe()
206 dev->phys = "amikbd/input0"; in amikbd_probe()
207 dev->id.bustype = BUS_AMIGA; in amikbd_probe()
208 dev->id.vendor = 0x0001; in amikbd_probe()
209 dev->id.product = 0x0001; in amikbd_probe()
210 dev->id.version = 0x0100; in amikbd_probe()
212 dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_REP); in amikbd_probe()
215 set_bit(i, dev->keybit); in amikbd_probe()
220 err = devm_request_irq(&pdev->dev, IRQ_AMIGA_CIAA_SP, amikbd_interrupt, in amikbd_probe()
236 .name = "amiga-keyboard",
242 MODULE_ALIAS("platform:amiga-keyboard");