From 95bc0b09e200c9500931bf37598b61066d27a310 Mon Sep 17 00:00:00 2001 From: wiz Date: Thu, 18 Apr 2002 15:44:20 +0000 Subject: [PATCH] Remove opms(4) for bebox (superseded by pms(4)). Approved by christos. --- distrib/sets/lists/base/obsolete.bebox | 2 + etc/etc.bebox/MAKEDEV | 8 +- sys/arch/bebox/bebox/conf.c | 6 +- sys/arch/bebox/conf/GENERIC | 5 +- sys/arch/bebox/conf/INSTALL | 3 +- sys/arch/bebox/conf/files.bebox | 6 +- sys/arch/bebox/include/conf.h | 6 +- sys/arch/bebox/isa/pms.c | 476 ------------------------- sys/dev/DEVNAMES | 3 +- 9 files changed, 13 insertions(+), 502 deletions(-) create mode 100644 distrib/sets/lists/base/obsolete.bebox delete mode 100644 sys/arch/bebox/isa/pms.c diff --git a/distrib/sets/lists/base/obsolete.bebox b/distrib/sets/lists/base/obsolete.bebox new file mode 100644 index 000000000000..0ebac8fe4d57 --- /dev/null +++ b/distrib/sets/lists/base/obsolete.bebox @@ -0,0 +1,2 @@ +# $NetBSD: obsolete.bebox,v 1.1 2002/04/18 15:44:23 wiz Exp $ +/dev/pms0 diff --git a/etc/etc.bebox/MAKEDEV b/etc/etc.bebox/MAKEDEV index dc0dfbcb4820..c5d25b403706 100644 --- a/etc/etc.bebox/MAKEDEV +++ b/etc/etc.bebox/MAKEDEV @@ -1,6 +1,6 @@ #!/bin/sh - # -# $NetBSD: MAKEDEV,v 1.30 2002/03/16 17:03:31 martin Exp $ +# $NetBSD: MAKEDEV,v 1.31 2002/04/18 15:44:21 wiz Exp $ # # Copyright (c) 1990 The Regents of the University of California. # All rights reserved. @@ -59,7 +59,6 @@ # Pointing devices: # mms* Microsoft bus mouse # lms* Logitech bus mouse -# pms* PS/2 mouse # wsmouse* wscons mouse events # # Keyboard devices: @@ -136,7 +135,7 @@ all) makedev lpt0 lpt1 lpt2 ttyv0 tun0 tun1 ipl makedev bpf0 bpf1 bpf2 bpf3 bpf4 bpf5 bpf6 bpf7 makedev ccd0 ccd1 ccd2 ccd3 md0 ss0 ch0 uk0 uk1 random ttyCY0 - makedev speaker lkm mms0 lms0 pms0 audio joy0 joy1 apm local satlink0 + makedev speaker lkm mms0 lms0 audio joy0 joy1 apm local satlink0 makedev audio0 audio1 audio2 audio3 makedev ttyv0 ttyE0 ttyE1 ttyE2 ttyE3 ttyE4 ttyE5 ttyE6 ttyE7 ttyE8 makedev music rmidi0 rmidi1 rmidi2 rmidi3 rmidi4 rmidi5 rmidi6 rmidi7 @@ -461,13 +460,12 @@ lpt*|lpa*) mknod $name$unit c $chr $(($unit + $flags)) ;; -bpf*|tun*|mms*|lms*|pms*|joy*) +bpf*|tun*|mms*|lms*|joy*) case $i in bpf*) name=bpf; unit=${i#bpf}; chr=23;; tun*) name=tun; unit=${i#tun}; chr=40;; mms*) name=mms; unit=${i#mms}; chr=35;; lms*) name=lms; unit=${i#lms}; chr=36;; - pms*) name=pms; unit=${i#pms}; chr=37;; joy*) name=joy; unit=${i#joy}; chr=26;; esac rm -f $name$unit diff --git a/sys/arch/bebox/bebox/conf.c b/sys/arch/bebox/bebox/conf.c index 66542e2935c5..e1b2d29a1158 100644 --- a/sys/arch/bebox/bebox/conf.c +++ b/sys/arch/bebox/bebox/conf.c @@ -1,4 +1,4 @@ -/* $NetBSD: conf.c,v 1.17 2002/03/16 16:55:54 martin Exp $ */ +/* $NetBSD: conf.c,v 1.18 2002/04/18 15:44:21 wiz Exp $ */ /*- * Copyright (c) 1998 The NetBSD Foundation, Inc. @@ -150,8 +150,6 @@ cdev_decl(spkr); cdev_decl(mms); #include "lms.h" cdev_decl(lms); -#include "pms.h" -cdev_decl(pms); #include "cy.h" cdev_decl(cy); cdev_decl(mcd); @@ -226,7 +224,7 @@ struct cdevsw cdevsw[] = cdev_lkm_dummy(), /* 34 */ cdev_mouse_init(NMMS,mms), /* 35: Microsoft mouse */ cdev_mouse_init(NLMS,lms), /* 36: Logitech mouse */ - cdev_mouse_init(NPMS,pms), /* 37: PS/2 mouse */ + cdev_notdef(), /* 37: was: opms (PS/2 mouse) */ cdev_tty_init(NCY,cy), /* 38: Cyclom serial port */ cdev_disk_init(NMCD,mcd), /* 39: Mitsumi CD-ROM */ cdev_bpftun_init(NTUN,tun), /* 40: network tunnel */ diff --git a/sys/arch/bebox/conf/GENERIC b/sys/arch/bebox/conf/GENERIC index 2f1041e3f05e..219483c38e31 100644 --- a/sys/arch/bebox/conf/GENERIC +++ b/sys/arch/bebox/conf/GENERIC @@ -1,4 +1,4 @@ -# $NetBSD: GENERIC,v 1.53 2002/04/12 08:10:53 gmcgarry Exp $ +# $NetBSD: GENERIC,v 1.54 2002/04/18 15:44:22 wiz Exp $ # # GENERIC machine description file # @@ -20,7 +20,7 @@ include "arch/bebox/conf/std.bebox" -#ident "GENERIC-$Revision: 1.53 $" +#ident "GENERIC-$Revision: 1.54 $" maxusers 32 @@ -143,7 +143,6 @@ lpt0 at isa? port 0x378 irq 7 # standard PC parallel ports #lms1 at isa? port 0x238 irq 5 #mms0 at isa? port 0x23c irq 5 # Microsoft InPort mouse #mms1 at isa? port 0x238 irq 5 -#pms0 at pckbd? irq 12 # PS/2 auxiliary port mouse pckbc0 at isa? pckbd* at pckbc? diff --git a/sys/arch/bebox/conf/INSTALL b/sys/arch/bebox/conf/INSTALL index fb3d7b817889..51a0ea3aaae1 100644 --- a/sys/arch/bebox/conf/INSTALL +++ b/sys/arch/bebox/conf/INSTALL @@ -1,4 +1,4 @@ -# $NetBSD: INSTALL,v 1.19 2002/04/12 08:10:54 gmcgarry Exp $ +# $NetBSD: INSTALL,v 1.20 2002/04/18 15:44:22 wiz Exp $ # # First try for BEBOX config file # @@ -110,7 +110,6 @@ lpt0 at isa? port 0x378 irq 7 # standard PC parallel ports #lms1 at isa? port 0x238 irq 5 #mms0 at isa? port 0x23c irq 5 # Microsoft InPort mouse #mms1 at isa? port 0x238 irq 5 -#pms0 at pckbd? irq 12 # PS/2 auxiliary port mouse #siop* at pci? dev ? function ? # NCR 538XX SCSI controllers #scsibus* at siop? diff --git a/sys/arch/bebox/conf/files.bebox b/sys/arch/bebox/conf/files.bebox index cfcf547cc14b..f3a7b9e87274 100644 --- a/sys/arch/bebox/conf/files.bebox +++ b/sys/arch/bebox/conf/files.bebox @@ -1,4 +1,4 @@ -# $NetBSD: files.bebox,v 1.33 2002/04/16 20:50:18 thorpej Exp $ +# $NetBSD: files.bebox,v 1.34 2002/04/18 15:44:22 wiz Exp $ # # First try for bebox specific configuration info # @@ -123,10 +123,6 @@ file arch/bebox/isa/lms.c lms needs-flag device mms attach mms at isa file arch/bebox/isa/mms.c mms needs-flag -device opms -attach opms at pckbcport with pms_hack -attach opms at pckbc with pms_pckbc -file arch/bebox/isa/pms.c pms | pms_hack | pms_pckbc needs-flag include "dev/wscons/files.wscons" include "dev/wsfont/files.wsfont" diff --git a/sys/arch/bebox/include/conf.h b/sys/arch/bebox/include/conf.h index 2d81616f96b8..319a201ecda5 100644 --- a/sys/arch/bebox/include/conf.h +++ b/sys/arch/bebox/include/conf.h @@ -1,4 +1,4 @@ -/* $NetBSD: conf.h,v 1.5 2002/02/27 01:19:04 christos Exp $ */ +/* $NetBSD: conf.h,v 1.6 2002/04/18 15:44:22 wiz Exp $ */ /*- * Copyright (c) 1996 The NetBSD Foundation, Inc. @@ -38,8 +38,6 @@ #include -cdev_decl(pms); - bdev_decl(fd); cdev_decl(fd); @@ -49,6 +47,4 @@ cdev_decl(mms); cdev_decl(lms); -cdev_decl(pms); - cdev_decl(joy); diff --git a/sys/arch/bebox/isa/pms.c b/sys/arch/bebox/isa/pms.c deleted file mode 100644 index ced9b66acbc0..000000000000 --- a/sys/arch/bebox/isa/pms.c +++ /dev/null @@ -1,476 +0,0 @@ -/* $NetBSD: pms.c,v 1.7 2001/09/16 16:34:29 wiz Exp $ */ - -/*- - * Copyright (c) 1994 Charles M. Hannum. - * Copyright (c) 1992, 1993 Erik Forsberg. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * THIS SOFTWARE IS PROVIDED BY ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN - * NO EVENT SHALL I BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -/* - * XXXX - * This is a hack. This driver should really be combined with the - * keyboard driver, since they go through the same buffer and use the - * same I/O ports. Frobbing the mouse and keyboard at the same time - * may result in dropped characters and/or corrupted mouse events. - */ - -#include "pms.h" -#if NPMS > 1 -#error Only one PS/2 style mouse may be configured into your system. -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#include - -#define PMS_DATA 0x60 /* offset for data port, read-write */ -#define PMS_CNTRL 0x64 /* offset for control port, write-only */ -#define PMS_STATUS 0x64 /* offset for status port, read-only */ -#define PMS_NPORTS 8 - -/* status bits */ -#define PMS_OBUF_FULL 0x01 -#define PMS_IBUF_FULL 0x02 - -/* controller commands */ -#define PMS_INT_ENABLE 0x47 /* enable controller interrupts */ -#define PMS_INT_DISABLE 0x65 /* disable controller interrupts */ -#define PMS_AUX_ENABLE 0xa8 /* enable auxiliary port */ -#define PMS_AUX_DISABLE 0xa7 /* disable auxiliary port */ -#define PMS_AUX_TEST 0xa9 /* test auxiliary port */ - -#define PMS_8042_CMD 0x65 - -/* mouse commands */ -#define PMS_SET_SCALE11 0xe6 /* set scaling 1:1 */ -#define PMS_SET_SCALE21 0xe7 /* set scaling 2:1 */ -#define PMS_SET_RES 0xe8 /* set resolution */ -#define PMS_GET_SCALE 0xe9 /* get scaling factor */ -#define PMS_SET_STREAM 0xea /* set streaming mode */ -#define PMS_SET_SAMPLE 0xf3 /* set sampling rate */ -#define PMS_DEV_ENABLE 0xf4 /* mouse on */ -#define PMS_DEV_DISABLE 0xf5 /* mouse off */ -#define PMS_RESET 0xff /* reset */ - -#define PMS_CHUNK 128 /* chunk size for read */ -#define PMS_BSIZE 1020 /* buffer size */ - -struct pms_softc { /* driver status information */ - struct device sc_dev; - void *sc_ih; - - struct clist sc_q; - struct selinfo sc_rsel; - u_char sc_state; /* mouse driver state */ -#define PMS_OPEN 0x01 /* device is open */ -#define PMS_ASLP 0x02 /* waiting for mouse data */ - u_char sc_status; /* mouse button status */ - int sc_x, sc_y; /* accumulated motion in the X,Y axis */ -}; - -int pmsprobe __P((struct device *, struct cfdata *, void *)); -void pmsattach __P((struct device *, struct device *, void *)); -int pmsintr __P((void *)); - -struct cfattach pms_ca = { - sizeof(struct pms_softc), pmsprobe, pmsattach, -}; - -extern struct cfdriver pms_cd; - -#define PMSUNIT(dev) (minor(dev)) - -static __inline void pms_flush __P((void)); -static __inline void pms_dev_cmd __P((u_char)); -static __inline void pms_pit_cmd __P((u_char)); -static __inline void pms_aux_cmd __P((u_char)); - -static __inline void -pms_flush() -{ - u_char c; - - while ((c = isa_inb(PMS_STATUS) & 0x03) != 0) - if ((c & PMS_OBUF_FULL) == PMS_OBUF_FULL) { - /* XXX - delay is needed to prevent some keyboards from - wedging when the system boots */ - delay(6); - (void) isa_inb(PMS_DATA); - } -} - -static __inline void -pms_dev_cmd(value) - u_char value; -{ - - pms_flush(); - isa_outb(PMS_CNTRL, 0xd4); - pms_flush(); - isa_outb(PMS_DATA, value); -} - -static __inline void -pms_aux_cmd(value) - u_char value; -{ - - pms_flush(); - isa_outb(PMS_CNTRL, value); -} - -static __inline void -pms_pit_cmd(value) - u_char value; -{ - - pms_flush(); - isa_outb(PMS_CNTRL, 0x60); - pms_flush(); - isa_outb(PMS_DATA, value); -} - -/* - * XXX needs more work yet. We should have a `pckbd_attach_args' that - * provides the parent's io port and our irq. - */ -int -pmsprobe(parent, match, aux) - struct device *parent; - struct cfdata *match; - void *aux; -{ - u_char x; - - /* - * We only attach to the keyboard controller via - * the console drivers. (We really wish we could be the - * child of a real keyboard controller driver.) - */ - if ((parent == NULL) || - (strcmp(parent->dv_cfdata->cf_driver->cd_name, "pc") != 0)) - return (0); - - /* Can't wildcard IRQ. */ - if (match->cf_loc[0] == -1) - return (0); - - pms_dev_cmd(PMS_RESET); - pms_aux_cmd(PMS_AUX_TEST); - delay(1000); - x = isa_inb(PMS_DATA); - pms_pit_cmd(PMS_INT_DISABLE); - if (x & 0x04) - return 0; - - return 1; -} - -void -pmsattach(parent, self, aux) - struct device *parent, *self; - void *aux; -{ - struct pms_softc *sc = (void *)self; - int irq = self->dv_cfdata->cf_loc[0]; - isa_chipset_tag_t ic = aux; /* XXX */ - - printf(" irq %d\n", irq); - - /* Other initialization was done by pmsprobe. */ - sc->sc_state = 0; - - sc->sc_ih = isa_intr_establish(ic, irq, IST_EDGE, IPL_TTY, - pmsintr, sc); -} - -int -pmsopen(dev, flag, mode, p) - dev_t dev; - int flag; - int mode; - struct proc *p; -{ - int unit = PMSUNIT(dev); - struct pms_softc *sc; - - if (unit >= pms_cd.cd_ndevs) - return ENXIO; - sc = pms_cd.cd_devs[unit]; - if (!sc) - return ENXIO; - - if (sc->sc_state & PMS_OPEN) - return EBUSY; - - if (clalloc(&sc->sc_q, PMS_BSIZE, 0) == -1) - return ENOMEM; - - sc->sc_state |= PMS_OPEN; - sc->sc_status = 0; - sc->sc_x = sc->sc_y = 0; - - /* Enable interrupts. */ - pms_dev_cmd(PMS_DEV_ENABLE); - pms_aux_cmd(PMS_AUX_ENABLE); -#if 0 - pms_dev_cmd(PMS_SET_RES); - pms_dev_cmd(3); /* 8 counts/mm */ - pms_dev_cmd(PMS_SET_SCALE21); - pms_dev_cmd(PMS_SET_SAMPLE); - pms_dev_cmd(100); /* 100 samples/sec */ - pms_dev_cmd(PMS_SET_STREAM); -#endif - pms_pit_cmd(PMS_INT_ENABLE); - - return 0; -} - -int -pmsclose(dev, flag, mode, p) - dev_t dev; - int flag; - int mode; - struct proc *p; -{ - struct pms_softc *sc = pms_cd.cd_devs[PMSUNIT(dev)]; - - /* Disable interrupts. */ - pms_dev_cmd(PMS_DEV_DISABLE); - pms_pit_cmd(PMS_INT_DISABLE); - pms_aux_cmd(PMS_AUX_DISABLE); - - sc->sc_state &= ~PMS_OPEN; - - clfree(&sc->sc_q); - - return 0; -} - -int -pmsread(dev, uio, flag) - dev_t dev; - struct uio *uio; - int flag; -{ - struct pms_softc *sc = pms_cd.cd_devs[PMSUNIT(dev)]; - int s; - int error = 0; - size_t length; - u_char buffer[PMS_CHUNK]; - - /* Block until mouse activity occurred. */ - - s = spltty(); - while (sc->sc_q.c_cc == 0) { - if (flag & IO_NDELAY) { - splx(s); - return EWOULDBLOCK; - } - sc->sc_state |= PMS_ASLP; - error = tsleep((caddr_t)sc, PZERO | PCATCH, "pmsrea", 0); - if (error) { - sc->sc_state &= ~PMS_ASLP; - splx(s); - return error; - } - } - splx(s); - - /* Transfer as many chunks as possible. */ - - while (sc->sc_q.c_cc > 0 && uio->uio_resid > 0) { - length = min(sc->sc_q.c_cc, uio->uio_resid); - if (length > sizeof(buffer)) - length = sizeof(buffer); - - /* Remove a small chunk from the input queue. */ - (void) q_to_b(&sc->sc_q, buffer, length); - - /* Copy the data to the user process. */ - if ((error = uiomove(buffer, length, uio)) != 0) - break; - } - - return error; -} - -int -pmsioctl(dev, cmd, addr, flag, p) - dev_t dev; - u_long cmd; - caddr_t addr; - int flag; - struct proc *p; -{ - struct pms_softc *sc = pms_cd.cd_devs[PMSUNIT(dev)]; - struct mouseinfo info; - int s; - int error; - - switch (cmd) { - case MOUSEIOCREAD: - s = spltty(); - - info.status = sc->sc_status; - if (sc->sc_x || sc->sc_y) - info.status |= MOVEMENT; - - if (sc->sc_x > 127) - info.xmotion = 127; - else if (sc->sc_x < -127) - /* Bounding at -127 avoids a bug in XFree86. */ - info.xmotion = -127; - else - info.xmotion = sc->sc_x; - - if (sc->sc_y > 127) - info.ymotion = 127; - else if (sc->sc_y < -127) - info.ymotion = -127; - else - info.ymotion = sc->sc_y; - - /* Reset historical information. */ - sc->sc_x = sc->sc_y = 0; - sc->sc_status &= ~BUTCHNGMASK; - ndflush(&sc->sc_q, sc->sc_q.c_cc); - - splx(s); - error = copyout(&info, addr, sizeof(struct mouseinfo)); - break; - - default: - error = EINVAL; - break; - } - - return error; -} - -/* Masks for the first byte of a packet */ -#define PS2LBUTMASK 0x01 -#define PS2RBUTMASK 0x02 -#define PS2MBUTMASK 0x04 - -int -pmsintr(arg) - void *arg; -{ - struct pms_softc *sc = arg; - static int state = 0; - static u_char buttons; - u_char changed; - static char dx, dy; - u_char buffer[5]; - - if ((sc->sc_state & PMS_OPEN) == 0) { - /* Interrupts are not expected. Discard the byte. */ - pms_flush(); - return 0; - } - - switch (state) { - - case 0: - buttons = isa_inb(PMS_DATA); - if ((buttons & 0xc0) == 0) - ++state; - break; - - case 1: - dx = isa_inb(PMS_DATA); - /* Bounding at -127 avoids a bug in XFree86. */ - dx = (dx == -128) ? -127 : dx; - ++state; - break; - - case 2: - dy = isa_inb(PMS_DATA); - dy = (dy == -128) ? -127 : dy; - state = 0; - - buttons = ((buttons & PS2LBUTMASK) << 2) | - ((buttons & (PS2RBUTMASK | PS2MBUTMASK)) >> 1); - changed = ((buttons ^ sc->sc_status) & BUTSTATMASK) << 3; - sc->sc_status = buttons | (sc->sc_status & ~BUTSTATMASK) | changed; - - if (dx || dy || changed) { - /* Update accumulated movements. */ - sc->sc_x += dx; - sc->sc_y += dy; - - /* Add this event to the queue. */ - buffer[0] = 0x80 | (buttons ^ BUTSTATMASK); - buffer[1] = dx; - buffer[2] = dy; - buffer[3] = buffer[4] = 0; - (void) b_to_q(buffer, sizeof buffer, &sc->sc_q); - - if (sc->sc_state & PMS_ASLP) { - sc->sc_state &= ~PMS_ASLP; - wakeup((caddr_t)sc); - } - selwakeup(&sc->sc_rsel); - } - - break; - } - - return -1; -} - -int -pmspoll(dev, events, p) - dev_t dev; - int events; - struct proc *p; -{ - struct pms_softc *sc = pms_cd.cd_devs[PMSUNIT(dev)]; - int revents = 0; - int s = spltty(); - - if (events & (POLLIN | POLLRDNORM)) - if (sc->sc_q.c_cc > 0) - revents |= events & (POLLIN | POLLRDNORM); - else - selrecord(p, &sc->sc_rsel); - - splx(s); - return (revents); -} diff --git a/sys/dev/DEVNAMES b/sys/dev/DEVNAMES index 8d8dd1c6e823..8eddd2c4ea48 100644 --- a/sys/dev/DEVNAMES +++ b/sys/dev/DEVNAMES @@ -1,4 +1,4 @@ -# $NetBSD: DEVNAMES,v 1.107 2002/04/18 13:27:00 wiz Exp $ +# $NetBSD: DEVNAMES,v 1.108 2002/04/18 15:44:20 wiz Exp $ # # This file contains all used device names and defined attributes in # alphabetical order. New devices added to the system somewhere should first @@ -783,7 +783,6 @@ opl MI opm x68k opms acorn32 opms arc -opms bebox opms shark oscsi hp300 osiop MI