Module Name: src
Committed By: snj
Date: Fri Jan 2 19:00:17 UTC 2015
Modified Files:
src/sys/dev/dec [netbsd-7]: dzkbd.c lk201_ws.c lk201var.h
src/sys/dev/tc [netbsd-7]: zskbd.c
Log Message:
Revert changes that were presumably intended for HEAD. Hi jklos!
To generate a diff of this commit:
cvs rdiff -u -r1.26.12.1 -r1.26.12.2 src/sys/dev/dec/dzkbd.c
cvs rdiff -u -r1.8.38.1 -r1.8.38.2 src/sys/dev/dec/lk201_ws.c
cvs rdiff -u -r1.6.138.1 -r1.6.138.2 src/sys/dev/dec/lk201var.h
cvs rdiff -u -r1.17.38.1 -r1.17.38.2 src/sys/dev/tc/zskbd.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/dev/dec/dzkbd.c
diff -u src/sys/dev/dec/dzkbd.c:1.26.12.1 src/sys/dev/dec/dzkbd.c:1.26.12.2
--- src/sys/dev/dec/dzkbd.c:1.26.12.1 Fri Jan 2 08:09:51 2015
+++ src/sys/dev/dec/dzkbd.c Fri Jan 2 19:00:17 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: dzkbd.c,v 1.26.12.1 2015/01/02 08:09:51 jklos Exp $ */
+/* $NetBSD: dzkbd.c,v 1.26.12.2 2015/01/02 19:00:17 snj Exp $ */
/*
* Copyright (c) 1992, 1993
@@ -45,7 +45,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: dzkbd.c,v 1.26.12.1 2015/01/02 08:09:51 jklos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: dzkbd.c,v 1.26.12.2 2015/01/02 19:00:17 snj Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -237,7 +237,7 @@ dzkbd_cngetc(void *v, u_int *type, int *
do {
c = dzgetc(dzi->dzi_ls);
- } while (!lk201_decode(&dzi->dzi_ks, 0, c, type, data) == LKD_NODATA);
+ } while (!lk201_decode(&dzi->dzi_ks, c, type, data));
}
static void
@@ -294,15 +294,12 @@ dzkbd_input(void *v, int data)
struct dzkbd_softc *sc = (struct dzkbd_softc *)v;
u_int type;
int val;
- int decode;
- do {
- decode = lk201_decode(&sc->sc_itl->dzi_ks, 1,
- data, &type, &val);
- if (decode != LKD_NODATA)
- wskbd_input(sc->sc_wskbddev, type, val);
- } while (decode == LKD_MORE);
+ if (sc->sc_enabled == 0)
+ return(0);
+ if (lk201_decode(&sc->sc_itl->dzi_ks, data, &type, &val))
+ wskbd_input(sc->sc_wskbddev, type, val);
return(1);
}
Index: src/sys/dev/dec/lk201_ws.c
diff -u src/sys/dev/dec/lk201_ws.c:1.8.38.1 src/sys/dev/dec/lk201_ws.c:1.8.38.2
--- src/sys/dev/dec/lk201_ws.c:1.8.38.1 Fri Jan 2 08:09:51 2015
+++ src/sys/dev/dec/lk201_ws.c Fri Jan 2 19:00:17 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: lk201_ws.c,v 1.8.38.1 2015/01/02 08:09:51 jklos Exp $ */
+/* $NetBSD: lk201_ws.c,v 1.8.38.2 2015/01/02 19:00:17 snj Exp $ */
/*
* Copyright (c) 1998
@@ -27,11 +27,10 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: lk201_ws.c,v 1.8.38.1 2015/01/02 08:09:51 jklos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: lk201_ws.c,v 1.8.38.2 2015/01/02 19:00:17 snj Exp $");
#include <sys/param.h>
#include <sys/systm.h>
-#include <sys/callout.h>
#include <dev/wscons/wsconsio.h>
@@ -41,23 +40,11 @@ __KERNEL_RCSID(0, "$NetBSD: lk201_ws.c,v
#define send(lks, c) ((*((lks)->attmt.sendchar))((lks)->attmt.cookie, c))
-void lk201_identify(void *);
-
-static callout_t lkkbd_id;
-
-static const char *lkkbd_descr[] = {
- "no keyboard",
- "LK-201 keyboard",
- "LK-401 keyboard",
-};
-
int
lk201_init(struct lk201_state *lks)
{
int i;
- lks->waitack = 0;
-
send(lks, LK_LED_ENABLE);
send(lks, LK_LED_ALL);
@@ -82,78 +69,20 @@ lk201_init(struct lk201_state *lks)
send(lks, LK_LED_ALL);
lks->leds_state = 0;
- callout_init(&lkkbd_id, 0);
- callout_setfunc(&lkkbd_id, lk201_identify, lks);
- callout_schedule(&lkkbd_id, 0);
-
return (0);
}
-void
-lk201_identify(void *v)
-{
- struct lk201_state *lks = v;
- int i;
-
- callout_destroy(&lkkbd_id);
- /*
- * Swallow all the keyboard acknowledges from lk201_init().
- * There should be 14 of them - one per LK_CMD_MODE command.
- */
- for(;;) {
- lks->waitack = 1;
- for (i = 100; i != 0; i--) {
- DELAY(1000);
- if (lks->waitack == 0)
- break;
- }
- if (i == 0)
- break;
- }
-
- /*
- * Try to set the keyboard in LK-401 mode.
- * If we receive an error, this is an LK-201 keyboard.
- */
- lks->waitack = 1;
- send(lks, LK_ENABLE_401);
- for (i = 100; i != 0; i--) {
- DELAY(1000);
- if (lks->waitack == 0)
- break;
- }
- if (lks->waitack != 0)
- lks->kbdtype = KBD_NONE;
- else {
- if (lks->ackdata == LK_INPUT_ERROR)
- lks->kbdtype = KBD_LK201;
- else
- lks->kbdtype = KBD_LK401;
- }
- lks->waitack = 0;
-
- printf("lkkbd0: %s\n", lkkbd_descr[lks->kbdtype]);
-}
-
int
-lk201_decode(struct lk201_state *lks, int wantmulti, int datain, u_int *type, int *dataout)
+lk201_decode(struct lk201_state *lks, int datain, u_int *type, int *dataout)
{
int i, freeslot;
- if (lks->waitack != 0) {
- lks->ackdata = datain;
- lks->waitack = 0;
- return LKD_NODATA;
- }
-
switch (datain) {
-#if 0
case LK_KEY_UP:
for (i = 0; i < LK_KLL; i++)
lks->down_keys_list[i] = -1;
*type = WSCONS_EVENT_ALL_KEYS_UP;
return (1);
-#endif
case LK_POWER_UP:
printf("lk201_decode: powerup detected\n");
lk201_init(lks);
@@ -169,25 +98,7 @@ lk201_decode(struct lk201_state *lks, in
return (0);
}
-
- if (datain == LK_KEY_UP) {
- if (wantmulti) {
- for (i = 0; i < LK_KLL; i++)
- if (lks->down_keys_list[i] != -1) {
- *type = WSCONS_EVENT_KEY_UP;
- *dataout = lks->down_keys_list[i] -
- MIN_LK201_KEY;
- lks->down_keys_list[i] = -1;
- return (LKD_MORE);
- }
- return (LKD_NODATA);
- } else {
- for (i = 0; i < LK_KLL; i++)
- lks->down_keys_list[i] = -1;
- *type = WSCONS_EVENT_ALL_KEYS_UP;
- return (LKD_COMPLETE);
- }
- } else if (datain < MIN_LK201_KEY || datain > MAX_LK201_KEY) {
+ if (datain < MIN_LK201_KEY || datain > MAX_LK201_KEY) {
printf("lk201_decode: %x\n", datain);
return (0);
}
Index: src/sys/dev/dec/lk201var.h
diff -u src/sys/dev/dec/lk201var.h:1.6.138.1 src/sys/dev/dec/lk201var.h:1.6.138.2
--- src/sys/dev/dec/lk201var.h:1.6.138.1 Fri Jan 2 08:09:51 2015
+++ src/sys/dev/dec/lk201var.h Fri Jan 2 19:00:17 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: lk201var.h,v 1.6.138.1 2015/01/02 08:09:51 jklos Exp $ */
+/* $NetBSD: lk201var.h,v 1.6.138.2 2015/01/02 19:00:17 snj Exp $ */
/*
* Copyright (c) 1998
@@ -33,14 +33,6 @@ struct lk201_attachment {
struct lk201_state {
struct lk201_attachment attmt;
-
- volatile int waitack;
- int ackdata;
-
- int kbdtype;
-#define KBD_NONE 0x00
-#define KBD_LK201 0x01
-#define KBD_LK401 0x02
#define LK_KLL 8
int down_keys_list[LK_KLL];
int bellvol;
@@ -49,12 +41,7 @@ struct lk201_state {
};
int lk201_init(struct lk201_state *);
-int lk201_decode(struct lk201_state *, int, int, u_int *, int *);
+int lk201_decode(struct lk201_state *, int, u_int *, int *);
void lk201_bell(struct lk201_state *, struct wskbd_bell_data *);
void lk201_set_leds(struct lk201_state *, int);
void lk201_set_keyclick(struct lk201_state *, int);
-
-#define LKD_NODATA 0x00
-#define LKD_COMPLETE 0x01
-#define LKD_MORE 0x02
-
Index: src/sys/dev/tc/zskbd.c
diff -u src/sys/dev/tc/zskbd.c:1.17.38.1 src/sys/dev/tc/zskbd.c:1.17.38.2
--- src/sys/dev/tc/zskbd.c:1.17.38.1 Fri Jan 2 08:09:51 2015
+++ src/sys/dev/tc/zskbd.c Fri Jan 2 19:00:17 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: zskbd.c,v 1.17.38.1 2015/01/02 08:09:51 jklos Exp $ */
+/* $NetBSD: zskbd.c,v 1.17.38.2 2015/01/02 19:00:17 snj Exp $ */
/*
* Copyright (c) 1992, 1993
@@ -45,7 +45,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: zskbd.c,v 1.17.38.1 2015/01/02 08:09:51 jklos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: zskbd.c,v 1.17.38.2 2015/01/02 19:00:17 snj Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -281,7 +281,7 @@ zskbd_cngetc(void *v, u_int *type, int *
do {
c = zs_getc(zsi->zsi_cs);
- } while (!lk201_decode(&zsi->zsi_ks, 0, c, type, data) == LKD_NODATA);
+ } while (!lk201_decode(&zsi->zsi_ks, c, type, data));
}
static void
@@ -336,15 +336,12 @@ zskbd_input(struct zskbd_softc *sc, int
{
u_int type;
int val;
- int decode;
- do {
- decode = lk201_decode(&sc->sc_itl->zsi_ks, 1,
- data, &type, &val);
- if (decode != LKD_NODATA)
- wskbd_input(sc->sc_wskbddev, type, val);
- } while (decode == LKD_MORE);
+ if (sc->sc_enabled == 0)
+ return;
+ if (lk201_decode(&sc->sc_itl->zsi_ks, data, &type, &val))
+ wskbd_input(sc->sc_wskbddev, type, val);
}
/****************************************************************