Lines Matching +full:pc +full:- +full:ack
1 // SPDX-License-Identifier: GPL-2.0-only
5 * Copyright (c) 1999-2004 Vojtech Pavlik
15 * +5V --------------------- +5V (4)
18 * +5V -------|______|--.
20 * ACK (10) ------------|
21 * |--- KBD CLOCK (5)
22 * STROBE (1) ---|<|----'
25 * +5V -------|______|--.
27 * BUSY (11) -----------|
28 * |--- KBD DATA (1)
29 * AUTOFD (14) --|<|----'
31 * GND (18-25) ------------- GND (3)
38 * or from a joystick port. Unfortunately, the parallel port of a PC doesn't
61 #define PARKBD_CLOCK 0x01 /* Strobe & Ack */
75 return (parport_read_status(parkbd_dev->port) >> 6) ^ 2; in parkbd_readlines()
80 parport_write_control(parkbd_dev->port, (~data & 3) | 0x10); in parkbd_writelines()
87 if (!parkbd_mode) return -1; in parkbd_write()
134 serio_interrupt(parkbd_port, (parkbd_buffer >> (2 - parkbd_mode)) & 0xff, 0); in parkbd_interrupt()
152 return -ENODEV; in parkbd_getport()
156 return -EBUSY; in parkbd_getport()
170 serio->id.type = parkbd_mode; in parkbd_allocate_serio()
171 serio->write = parkbd_write; in parkbd_allocate_serio()
172 strscpy(serio->name, "PARKBD AT/XT keyboard adapter", sizeof(serio->name)); in parkbd_allocate_serio()
173 snprintf(serio->phys, sizeof(serio->phys), "%s/serio0", parkbd_dev->port->name); in parkbd_allocate_serio()
181 if (pp->number != parkbd_pp_no) { in parkbd_attach()
182 pr_debug("Not using parport%d.\n", pp->number); in parkbd_attach()
201 parkbd_mode ? "AT" : "XT", parkbd_dev->port->name); in parkbd_attach()
208 if (!parkbd_port || port->number != parkbd_pp_no) in parkbd_detach()