Less magic number
authorshadchin <shadchin@openbsd.org>
Tue, 5 May 2015 16:27:20 +0000 (16:27 +0000)
committershadchin <shadchin@openbsd.org>
Tue, 5 May 2015 16:27:20 +0000 (16:27 +0000)
For PS/2 - status byte - bit 5:
The bit is '1' if the data on input port 60h came from the AUX port, or '0' if
the data came from the keyboard or from the keyboard controller itself.

KBS_TERR (kbd transmission error) was valid for AT-mode, but not for PS/2-mode.

ok ratchov@, miod@

sys/dev/ic/i8042reg.h
sys/dev/ic/pckbc.c

index ef3ad18..01ccc71 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: i8042reg.h,v 1.8 2013/12/25 21:01:01 miod Exp $       */
+/*     $OpenBSD: i8042reg.h,v 1.9 2015/05/05 16:27:20 shadchin Exp $   */
 /*     $NetBSD: i8042reg.h,v 1.7 1998/01/18 14:41:37 drochner Exp $    */
 
 #define        KBSTATP         4       /* kbd controller status port (I) */
@@ -7,7 +7,7 @@
 #define         KBS_WARM       0x04    /* kbd input buffer low */
 #define         KBS_OCMD       0x08    /* kbd output buffer has command */
 #define         KBS_NOSEC      0x10    /* kbd security lock not engaged */
-#define         KBS_TERR       0x20    /* kbd transmission error */
+#define         KBS_AUXDATA    0x20    /* kbd data in buffer from aux port */
 #define         KBS_RERR       0x40    /* kbd receive error */
 #define         KBS_PERR       0x80    /* kbd parity error */
 
index c078238..ed34dd3 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: pckbc.c,v 1.47 2015/03/31 02:27:30 jcs Exp $ */
+/* $OpenBSD: pckbc.c,v 1.48 2015/05/05 16:27:20 shadchin Exp $ */
 /* $NetBSD: pckbc.c,v 1.5 2000/06/09 04:58:35 soda Exp $ */
 
 /*
@@ -153,7 +153,7 @@ pckbc_poll_data1(bus_space_tag_t iot, bus_space_handle_t ioh_d,
                        KBD_DELAY;
                        CPU_BUSY_CYCLE();
                        c = bus_space_read_1(iot, ioh_d, 0);
-                       if (checkaux && (stat & 0x20)) { /* aux data */
+                       if (checkaux && (stat & KBS_AUXDATA)) {
                                if (slot != PCKBC_AUX_SLOT) {
                                        DPRINTF("lost aux 0x%x\n", c);
                                        continue;
@@ -998,7 +998,7 @@ pckbcintr_internal(struct pckbc_internal *t, struct pckbc_softc *sc)
 
                served = 1;
 
-               slot = (t->t_haveaux && (stat & 0x20)) ?
+               slot = (t->t_haveaux && (stat & KBS_AUXDATA)) ?
                    PCKBC_AUX_SLOT : PCKBC_KBD_SLOT;
                q = t->t_slotdata[slot];