diff options
| -rw-r--r-- | sys/src/9/pc/devkbd.c | 27 | ||||
| -rw-r--r-- | sys/src/9/pc/fns.h | 1 | ||||
| -rw-r--r-- | sys/src/9/pc/psaux.c | 57 | ||||
| -rw-r--r-- | sys/src/9/pc64/fns.h | 1 |
4 files changed, 5 insertions, 81 deletions
diff --git a/sys/src/9/pc/devkbd.c b/sys/src/9/pc/devkbd.c index 96baab79f..5aeaded1f 100644 --- a/sys/src/9/pc/devkbd.c +++ b/sys/src/9/pc/devkbd.c @@ -159,24 +159,6 @@ i8042auxcmd(int cmd) return 0; } -int -i8042auxcmds(uchar *cmd, int ncmd) -{ - int i; - - ilock(&i8042lock); - for(i=0; i<ncmd; i++){ - if(outready() < 0) - break; - outb(Cmd, 0xD4); - if(outready() < 0) - break; - outb(Data, cmd[i]); - } - iunlock(&i8042lock); - return i; -} - /* * set keyboard's leds for lock states (scroll, numeric, caps). * @@ -252,7 +234,7 @@ i8042intr(Ureg*, void*) void i8042auxenable(void (*putc)(int, int)) { - char *err = "i8042: aux init failed\n"; + static char err[] = "i8042: aux init failed\n"; ilock(&i8042lock); @@ -293,6 +275,7 @@ kbdshutdown(void) { if(nokbd) return; + /* disable kbd and aux xfers and interrupts */ ccc &= ~(Ckbdint|Cauxint); ccc |= (Cauxdis|Ckbddis); outready(); @@ -391,7 +374,7 @@ kbdwrite(Chan *c, void *a, long n, vlong) static void kbdreset(void) { - static char *initfailed = "i8042: init failed\n"; + static char initfailed[] = "i8042: kbd init failed\n"; int c, try; kbd.q = qopen(1024, Qcoalesce, 0, 0); @@ -437,8 +420,8 @@ kbdreset(void) outready(); nokbd = 0; - ioalloc(Data, 1, 0, "kbd"); - ioalloc(Cmd, 1, 0, "kbd"); + ioalloc(Cmd, 1, 0, "i8042.cs"); + ioalloc(Data, 1, 0, "i8042.data"); intrenable(IrqKBD, i8042intr, 0, BUSUNKNOWN, "kbd"); } diff --git a/sys/src/9/pc/fns.h b/sys/src/9/pc/fns.h index 02fac41b8..9701ed547 100644 --- a/sys/src/9/pc/fns.h +++ b/sys/src/9/pc/fns.h @@ -58,7 +58,6 @@ void guesscpuhz(int); void halt(void); void mwait(void*); int i8042auxcmd(int); -int i8042auxcmds(uchar*, int); void i8042auxenable(void (*)(int, int)); void i8042reset(void); void i8250console(void); diff --git a/sys/src/9/pc/psaux.c b/sys/src/9/pc/psaux.c deleted file mode 100644 index 4d187584c..000000000 --- a/sys/src/9/pc/psaux.c +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Interface to raw PS/2 aux port. - * Used by user-level mouse daemon. - */ - -#include "u.h" -#include "../port/lib.h" -#include "mem.h" -#include "dat.h" -#include "fns.h" -#include "../port/error.h" -#include "io.h" - -#define Image IMAGE -#include <draw.h> -#include <memdraw.h> -#include <cursor.h> -#include "screen.h" - -/* - * BUG: we ignore shift here. - * we need a more general solution, - * one that will also work for serial mice. - */ -Queue *psauxq; - -static void -psauxputc(int c, int) -{ - uchar uc; - - uc = c; - qproduce(psauxq, &uc, 1); -} - -static long -psauxread(Chan*, void *a, long n, vlong) -{ - return qread(psauxq, a, n); -} - -static long -psauxwrite(Chan*, void *a, long n, vlong) -{ - return i8042auxcmds(a, n); -} - -void -psauxlink(void) -{ - psauxq = qopen(1024, Qcoalesce, 0, 0); - if(psauxq == nil) - panic("psauxlink"); - qnoblock(psauxq, 1); - i8042auxenable(psauxputc); - addarchfile("psaux", DMEXCL|0660, psauxread, psauxwrite); -} diff --git a/sys/src/9/pc64/fns.h b/sys/src/9/pc64/fns.h index 5cbef27aa..1d92109cd 100644 --- a/sys/src/9/pc64/fns.h +++ b/sys/src/9/pc64/fns.h @@ -49,7 +49,6 @@ void guesscpuhz(int); void halt(void); void mwait(void*); int i8042auxcmd(int); -int i8042auxcmds(uchar*, int); void i8042auxenable(void (*)(int, int)); void i8042reset(void); void i8250console(void); |
