Index: sys/dev/usb/uscanner.c
===================================================================
RCS file: sys/dev/usb/uscanner.c
diff -N sys/dev/usb/uscanner.c
--- sys/dev/usb/uscanner.c	24 Sep 2010 08:33:59 -0000	1.43
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,687 +0,0 @@
-/*	$OpenBSD: uscanner.c,v 1.43 2010/09/24 08:33:59 yuo Exp $ */
-/*	$NetBSD: uscanner.c,v 1.40 2003/01/27 00:32:44 wiz Exp $	*/
-
-/*
- * Copyright (c) 2000 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by Lennart Augustsson (lennart@augustsson.net) at
- * Carlstedt Research & Technology
- * and Nick Hibma (n_hibma@qubesoft.com).
- *
- * 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.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
- * ``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 THE FOUNDATION OR CONTRIBUTORS
- * 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.
- */
-
-
-#include <sys/param.h>
-#include <sys/systm.h>
-#include <sys/kernel.h>
-#include <sys/malloc.h>
-#include <sys/device.h>
-#include <sys/tty.h>
-#include <sys/file.h>
-#include <sys/selinfo.h>
-#include <sys/proc.h>
-#include <sys/vnode.h>
-#include <sys/poll.h>
-#include <sys/conf.h>
-
-#include <dev/usb/usb.h>
-#include <dev/usb/usbdi.h>
-#include <dev/usb/usbdi_util.h>
-
-#include <dev/usb/usbdevs.h>
-
-#ifdef USCANNER_DEBUG
-#define DPRINTF(x)	do { if (uscannerdebug) printf x; } while (0)
-#define DPRINTFN(n,x)	do { if (uscannerdebug>(n)) printf x; } while (0)
-int	uscannerdebug = 0;
-#else
-#define DPRINTF(x)
-#define DPRINTFN(n,x)
-#endif
-
-struct uscan_info {
-	struct usb_devno devno;
-	u_int flags;
-#define USC_KEEP_OPEN 1
-};
-
-/* Table of scanners that may work with this driver. */
-static const struct uscan_info uscanner_devs[] = {
-  /* Acer Peripherals */
- {{ USB_VENDOR_ACERP, USB_PRODUCT_ACERP_ACERSCAN_320U }, 0 },
- {{ USB_VENDOR_ACERP, USB_PRODUCT_ACERP_ACERSCAN_640U }, 0 },
- {{ USB_VENDOR_ACERP, USB_PRODUCT_ACERP_ACERSCAN_620U }, 0 },
- {{ USB_VENDOR_ACERP, USB_PRODUCT_ACERP_ACERSCAN_C310U }, 0 },
-
-  /* AGFA */
- {{ USB_VENDOR_AGFA, USB_PRODUCT_AGFA_SNAPSCAN1236U }, 0 },
- {{ USB_VENDOR_AGFA, USB_PRODUCT_AGFA_SNAPSCAN1212U }, 0 },
- {{ USB_VENDOR_AGFA, USB_PRODUCT_AGFA_SNAPSCAN1212U2 }, 0 },
- {{ USB_VENDOR_AGFA, USB_PRODUCT_AGFA_SNAPSCANTOUCH }, 0 },
- {{ USB_VENDOR_AGFA, USB_PRODUCT_AGFA_SNAPSCANE40 }, 0 },
- {{ USB_VENDOR_AGFA, USB_PRODUCT_AGFA_SNAPSCANE50 }, 0 },
- {{ USB_VENDOR_AGFA, USB_PRODUCT_AGFA_SNAPSCANE20 }, 0 },
- {{ USB_VENDOR_AGFA, USB_PRODUCT_AGFA_SNAPSCANE25 }, 0 },
- {{ USB_VENDOR_AGFA, USB_PRODUCT_AGFA_SNAPSCANE26 }, 0 },
- {{ USB_VENDOR_AGFA, USB_PRODUCT_AGFA_SNAPSCANE52 }, 0 },
-
-  /* Avision */
- {{ USB_VENDOR_AVISION, USB_PRODUCT_AVISION_1200U }, 0 },
-
-  /* Canon */
- {{ USB_VENDOR_CANON, USB_PRODUCT_CANON_N656U }, 0 },
- {{ USB_VENDOR_CANON, USB_PRODUCT_CANON_N670U }, 0 },
- {{ USB_VENDOR_CANON, USB_PRODUCT_CANON_N1220U }, 0 },
- {{ USB_VENDOR_CANON, USB_PRODUCT_CANON_N1240U }, 0 },
-
-  /* Kye */
- {{ USB_VENDOR_KYE, USB_PRODUCT_KYE_VIVIDPRO }, 0 },
-
-  /* HP */
- {{ USB_VENDOR_HP, USB_PRODUCT_HP_2200C }, 0 },
- {{ USB_VENDOR_HP, USB_PRODUCT_HP_3300C }, 0 },
- {{ USB_VENDOR_HP, USB_PRODUCT_HP_3400CSE }, 0 },
- {{ USB_VENDOR_HP, USB_PRODUCT_HP_4100C }, 0 },
- {{ USB_VENDOR_HP, USB_PRODUCT_HP_4200C }, 0 },
- {{ USB_VENDOR_HP, USB_PRODUCT_HP_4300C }, 0 },
- {{ USB_VENDOR_HP, USB_PRODUCT_HP_S20 }, 0 },
- {{ USB_VENDOR_HP, USB_PRODUCT_HP_5200C }, 0 },
- {{ USB_VENDOR_HP, USB_PRODUCT_HP_6200C }, 0 },
- {{ USB_VENDOR_HP, USB_PRODUCT_HP_6300C }, 0 },
-
-  /* Mustek */
- {{ USB_VENDOR_MUSTEK, USB_PRODUCT_MUSTEK_1200CU }, 0 },
- {{ USB_VENDOR_MUSTEK, USB_PRODUCT_MUSTEK_BEARPAW1200F }, 0 },
- {{ USB_VENDOR_MUSTEK, USB_PRODUCT_MUSTEK_600USB }, 0 },
- {{ USB_VENDOR_MUSTEK, USB_PRODUCT_MUSTEK_600CU }, 0 },
- {{ USB_VENDOR_MUSTEK, USB_PRODUCT_MUSTEK_1200USB }, 0 },
- {{ USB_VENDOR_MUSTEK, USB_PRODUCT_MUSTEK_1200UB }, 0 },
- {{ USB_VENDOR_MUSTEK, USB_PRODUCT_MUSTEK_1200USBPLUS }, 0 },
- {{ USB_VENDOR_MUSTEK, USB_PRODUCT_MUSTEK_1200CUPLUS }, 0 },
-
-  /* National */
- {{ USB_VENDOR_NATIONAL, USB_PRODUCT_NATIONAL_BEARPAW1200 }, 0 },
- {{ USB_VENDOR_NATIONAL, USB_PRODUCT_NATIONAL_BEARPAW2400 }, 0 },
-
-  /* Primax */
- {{ USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_G2X300 }, 0 },
- {{ USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_G2E300 }, 0 },
- {{ USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_G2300 }, 0 },
- {{ USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_G2E3002 }, 0 },
- {{ USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_9600 }, 0 },
- {{ USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_600U }, 0 },
- {{ USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_6200 }, 0 },
- {{ USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_19200 }, 0 },
- {{ USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_1200U }, 0 },
- {{ USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_G600 }, 0 },
- {{ USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_636I }, 0 },
- {{ USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_G2600 }, 0 },
- {{ USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_G2E600 }, 0 },
-
-  /* Epson */
- {{ USB_VENDOR_EPSON, USB_PRODUCT_EPSON_636 }, 0 },
- {{ USB_VENDOR_EPSON, USB_PRODUCT_EPSON_610 }, 0 },
- {{ USB_VENDOR_EPSON, USB_PRODUCT_EPSON_1200 }, 0 },
- {{ USB_VENDOR_EPSON, USB_PRODUCT_EPSON_1240 }, 0 },
- {{ USB_VENDOR_EPSON, USB_PRODUCT_EPSON_1260 }, 0 },
- {{ USB_VENDOR_EPSON, USB_PRODUCT_EPSON_1600 }, 0 },
- {{ USB_VENDOR_EPSON, USB_PRODUCT_EPSON_1640 }, 0 },
- {{ USB_VENDOR_EPSON, USB_PRODUCT_EPSON_1660 }, 0 },
- {{ USB_VENDOR_EPSON, USB_PRODUCT_EPSON_640U }, 0 },
- {{ USB_VENDOR_EPSON, USB_PRODUCT_EPSON_1650 }, 0 },
- {{ USB_VENDOR_EPSON, USB_PRODUCT_EPSON_2400 }, 0 },
- {{ USB_VENDOR_EPSON, USB_PRODUCT_EPSON_DX3800 }, 0 },
- {{ USB_VENDOR_EPSON, USB_PRODUCT_EPSON_DX4000 }, 0 },
- {{ USB_VENDOR_EPSON, USB_PRODUCT_EPSON_DX5000 }, 0 },
- {{ USB_VENDOR_EPSON, USB_PRODUCT_EPSON_DX6000 }, 0 },
- {{ USB_VENDOR_EPSON, USB_PRODUCT_EPSON_CX5400 }, 0 },
- {{ USB_VENDOR_EPSON, USB_PRODUCT_EPSON_GT9700F }, USC_KEEP_OPEN },
-
-  /* UMAX */
- {{ USB_VENDOR_UMAX, USB_PRODUCT_UMAX_ASTRA1220U }, 0 },
- {{ USB_VENDOR_UMAX, USB_PRODUCT_UMAX_ASTRA1236U }, 0 },
- {{ USB_VENDOR_UMAX, USB_PRODUCT_UMAX_ASTRA2000U }, 0 },
- {{ USB_VENDOR_UMAX, USB_PRODUCT_UMAX_ASTRA2200U }, 0 },
- {{ USB_VENDOR_UMAX, USB_PRODUCT_UMAX_ASTRA3400 }, 0 },
-
-  /* Visioneer */
- {{ USB_VENDOR_VISIONEER, USB_PRODUCT_VISIONEER_3000 }, 0 },
- {{ USB_VENDOR_VISIONEER, USB_PRODUCT_VISIONEER_5300 }, 0 },
- {{ USB_VENDOR_VISIONEER, USB_PRODUCT_VISIONEER_7600 }, 0 },
- {{ USB_VENDOR_VISIONEER, USB_PRODUCT_VISIONEER_6100 }, 0 },
- {{ USB_VENDOR_VISIONEER, USB_PRODUCT_VISIONEER_6200 }, 0 },
- {{ USB_VENDOR_VISIONEER, USB_PRODUCT_VISIONEER_8100 }, 0 },
- {{ USB_VENDOR_VISIONEER, USB_PRODUCT_VISIONEER_8600 }, 0 },
-
-  /* Ultima */
- {{ USB_VENDOR_ULTIMA, USB_PRODUCT_ULTIMA_1200UBPLUS }, 0 },
-
-};
-#define uscanner_lookup(v, p) ((const struct uscan_info *)usb_lookup(uscanner_devs, v, p))
-
-#define	USCANNER_BUFFERSIZE	1024
-
-struct uscanner_softc {
-	struct device		sc_dev;		/* base device */
-	usbd_device_handle	sc_udev;
-	usbd_interface_handle	sc_iface;
-
-	u_int			sc_dev_flags;
-
-	usbd_pipe_handle	sc_bulkin_pipe;
-	int			sc_bulkin;
-	usbd_xfer_handle	sc_bulkin_xfer;
-	void 			*sc_bulkin_buffer;
-	int			sc_bulkin_bufferlen;
-	int			sc_bulkin_datalen;
-
-	usbd_pipe_handle	sc_bulkout_pipe;
-	int			sc_bulkout;
-	usbd_xfer_handle	sc_bulkout_xfer;
-	void 			*sc_bulkout_buffer;
-	int			sc_bulkout_bufferlen;
-	int			sc_bulkout_datalen;
-
-	struct selinfo		sc_selq;
-
-	u_char			sc_state;
-#define USCANNER_OPEN		0x01	/* opened */
-
-	int			sc_refcnt;
-	u_char			sc_dying;
-};
-
-int uscanner_do_read(struct uscanner_softc *, struct uio *, int);
-int uscanner_do_write(struct uscanner_softc *, struct uio *, int);
-void uscanner_do_close(struct uscanner_softc *);
-
-#define USCANNERUNIT(n) (minor(n))
-
-int uscanner_match(struct device *, void *, void *); 
-void uscanner_attach(struct device *, struct device *, void *); 
-int uscanner_detach(struct device *, int); 
-int uscanner_activate(struct device *, int); 
-
-struct cfdriver uscanner_cd = { 
-	NULL, "uscanner", DV_DULL 
-}; 
-
-const struct cfattach uscanner_ca = { 
-	sizeof(struct uscanner_softc), 
-	uscanner_match, 
-	uscanner_attach, 
-	uscanner_detach, 
-	uscanner_activate, 
-};
-
-int
-uscanner_match(struct device *parent, void *match, void *aux)
-{
-	struct usb_attach_arg *uaa = aux;
-	usb_interface_descriptor_t *id;
-
-	if (uaa->iface == NULL)
-		return UMATCH_NONE; /* do not grab the entire device */
-
-	if (uscanner_lookup(uaa->vendor, uaa->product) == NULL)
-		return UMATCH_NONE; /* not in the list of known devices */
-	id = usbd_get_interface_descriptor(uaa->iface);
-	if (id == NULL)
-		return UMATCH_NONE;
-
-	/*
-	* There isn't a specific UICLASS for scanners, many vendors use
-	* UICLASS_VENDOR, so detecting the right interface is not so easy.
-	* But certainly we can exclude PRINTER and MASS - which some
-	* multifunction devices implement.
-	*/
-	if (id->bInterfaceClass == UICLASS_PRINTER ||
-	    id->bInterfaceClass == UICLASS_MASS)
-		return UMATCH_NONE;
-
-	return UMATCH_VENDOR_PRODUCT;
-}
-
-void
-uscanner_attach(struct device *parent, struct device *self, void *aux)
-{
-	struct uscanner_softc *sc = (struct uscanner_softc *)self;
-	struct usb_attach_arg *uaa = aux;
-	usb_interface_descriptor_t *id = 0;
-	usb_endpoint_descriptor_t *ed, *ed_bulkin = NULL, *ed_bulkout = NULL;
-	int i;
-	usbd_status err;
-	int ifnum;
-
-	sc->sc_dev_flags = uscanner_lookup(uaa->vendor, uaa->product)->flags;
-
-	sc->sc_udev = uaa->device;
-
-	id = usbd_get_interface_descriptor(uaa->iface);
-	ifnum = id->bInterfaceNumber;
-
-	err = usbd_device2interface_handle(sc->sc_udev, ifnum, &sc->sc_iface);
-	if (!err && sc->sc_iface)
-	    id = usbd_get_interface_descriptor(sc->sc_iface);
-	if (err || id == 0) {
-		printf("%s: could not get interface descriptor, err=%d,id=%p\n",
-		       sc->sc_dev.dv_xname, err, id);
-		return;
-	}
-
-	/* Find the two first bulk endpoints */
-	for (i = 0 ; i < id->bNumEndpoints; i++) {
-		ed = usbd_interface2endpoint_descriptor(sc->sc_iface, i);
-		if (ed == 0) {
-			printf("%s: could not read endpoint descriptor\n",
-			       sc->sc_dev.dv_xname);
-			return;
-		}
-
-		if (UE_GET_DIR(ed->bEndpointAddress) == UE_DIR_IN
-		    && (ed->bmAttributes & UE_XFERTYPE) == UE_BULK) {
-			ed_bulkin = ed;
-		} else if (UE_GET_DIR(ed->bEndpointAddress) == UE_DIR_OUT
-		    && (ed->bmAttributes & UE_XFERTYPE) == UE_BULK) {
-		        ed_bulkout = ed;
-		}
-
-		if (ed_bulkin && ed_bulkout)	/* found all we need */
-			break;
-	}
-
-	/* Verify that we goething sensible */
-	if (ed_bulkin == NULL || ed_bulkout == NULL) {
-		printf("%s: bulk-in and/or bulk-out endpoint not found\n",
-			sc->sc_dev.dv_xname);
-		return;
-	}
-
-	sc->sc_bulkin = ed_bulkin->bEndpointAddress;
-	sc->sc_bulkout = ed_bulkout->bEndpointAddress;
-
-	usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->sc_udev,
-			   &sc->sc_dev);
-}
-
-int
-uscanneropen(dev_t dev, int flag, int mode, struct proc *p)
-{
-	struct uscanner_softc *sc;
-	int unit = USCANNERUNIT(dev);
-	usbd_status err;
-
-	if (unit >= uscanner_cd.cd_ndevs)
-		return (ENXIO);
-	sc = uscanner_cd.cd_devs[unit];
-	if (sc == NULL)
-		return (ENXIO);
-
- 	DPRINTFN(5, ("uscanneropen: flag=%d, mode=%d, unit=%d\n",
-		     flag, mode, unit));
-
-	if (sc->sc_dying)
-		return (ENXIO);
-
-	if (sc->sc_state & USCANNER_OPEN)
-		return (EBUSY);
-
-	sc->sc_state |= USCANNER_OPEN;
-
-	sc->sc_bulkin_buffer = malloc(USCANNER_BUFFERSIZE, M_USBDEV, M_WAITOK);
-	sc->sc_bulkout_buffer = malloc(USCANNER_BUFFERSIZE, M_USBDEV, M_WAITOK);
-	/* No need to check buffers for NULL since we have WAITOK */
-
-	sc->sc_bulkin_bufferlen = USCANNER_BUFFERSIZE;
-	sc->sc_bulkout_bufferlen = USCANNER_BUFFERSIZE;
-
-	/* We have decided on which endpoints to use, now open the pipes */
-	if (sc->sc_bulkin_pipe == NULL) {
-		err = usbd_open_pipe(sc->sc_iface, sc->sc_bulkin,
-				     USBD_EXCLUSIVE_USE, &sc->sc_bulkin_pipe);
-		if (err) {
-			printf("%s: cannot open bulk-in pipe (addr %d)\n",
-			       sc->sc_dev.dv_xname, sc->sc_bulkin);
-			uscanner_do_close(sc);
-			return (EIO);
-		}
-	}
-	if (sc->sc_bulkout_pipe == NULL) {
-		err = usbd_open_pipe(sc->sc_iface, sc->sc_bulkout,
-				     USBD_EXCLUSIVE_USE, &sc->sc_bulkout_pipe);
-		if (err) {
-			printf("%s: cannot open bulk-out pipe (addr %d)\n",
-			       sc->sc_dev.dv_xname, sc->sc_bulkout);
-			uscanner_do_close(sc);
-			return (EIO);
-		}
-	}
-
-	sc->sc_bulkin_xfer = usbd_alloc_xfer(sc->sc_udev);
-	if (sc->sc_bulkin_xfer == NULL) {
-		uscanner_do_close(sc);
-		return (ENOMEM);
-	}
-	sc->sc_bulkout_xfer = usbd_alloc_xfer(sc->sc_udev);
-	if (sc->sc_bulkout_xfer == NULL) {
-		uscanner_do_close(sc);
-		return (ENOMEM);
-	}
-
-	return (0);	/* success */
-}
-
-int
-uscannerclose(dev_t dev, int flag, int mode, struct proc *p)
-{
-	struct uscanner_softc *sc;
-
-	sc = uscanner_cd.cd_devs[USCANNERUNIT(dev)];
-
-	DPRINTFN(5, ("uscannerclose: flag=%d, mode=%d, unit=%d\n",
-		     flag, mode, USCANNERUNIT(dev)));
-
-#ifdef DIAGNOSTIC
-	if (!(sc->sc_state & USCANNER_OPEN)) {
-		printf("uscannerclose: not open\n");
-		return (EINVAL);
-	}
-#endif
-
-	uscanner_do_close(sc);
-
-	return (0);
-}
-
-void
-uscanner_do_close(struct uscanner_softc *sc)
-{
-	if (sc->sc_bulkin_xfer) {
-		usbd_free_xfer(sc->sc_bulkin_xfer);
-		sc->sc_bulkin_xfer = NULL;
-	}
-	if (sc->sc_bulkout_xfer) {
-		usbd_free_xfer(sc->sc_bulkout_xfer);
-		sc->sc_bulkout_xfer = NULL;
-	}
-
-	if (!(sc->sc_dev_flags & USC_KEEP_OPEN)) {
-		if (sc->sc_bulkin_pipe != NULL) {
-			usbd_abort_pipe(sc->sc_bulkin_pipe);
-			usbd_close_pipe(sc->sc_bulkin_pipe);
-			sc->sc_bulkin_pipe = NULL;
-		}
-		if (sc->sc_bulkout_pipe != NULL) {
-			usbd_abort_pipe(sc->sc_bulkout_pipe);
-			usbd_close_pipe(sc->sc_bulkout_pipe);
-			sc->sc_bulkout_pipe = NULL;
-		}
-	}
-
-	if (sc->sc_bulkin_buffer) {
-		free(sc->sc_bulkin_buffer, M_USBDEV);
-		sc->sc_bulkin_buffer = NULL;
-	}
-	if (sc->sc_bulkout_buffer) {
-		free(sc->sc_bulkout_buffer, M_USBDEV);
-		sc->sc_bulkout_buffer = NULL;
-	}
-
-	sc->sc_state &= ~USCANNER_OPEN;
-}
-
-int
-uscanner_do_read(struct uscanner_softc *sc, struct uio *uio, int flag)
-{
-	u_int32_t n, tn;
-	usbd_status err;
-	int error = 0;
-
-	DPRINTFN(5, ("%s: uscannerread\n", sc->sc_dev.dv_xname));
-
-	if (sc->sc_dying)
-		return (EIO);
-
-	while ((n = min(sc->sc_bulkin_bufferlen, uio->uio_resid)) != 0) {
-		DPRINTFN(1, ("uscannerread: start transfer %d bytes\n",n));
-		tn = n;
-
-		err = usbd_bulk_transfer(
-			sc->sc_bulkin_xfer, sc->sc_bulkin_pipe,
-			USBD_SHORT_XFER_OK, USBD_NO_TIMEOUT,
-			sc->sc_bulkin_buffer, &tn,
-			"uscnrb");
-		if (err) {
-			if (err == USBD_INTERRUPTED)
-				error = EINTR;
-			else if (err == USBD_TIMEOUT)
-				error = ETIMEDOUT;
-			else
-				error = EIO;
-			break;
-		}
-		DPRINTFN(1, ("uscannerread: got %d bytes\n", tn));
-		error = uiomove(sc->sc_bulkin_buffer, tn, uio);
-		if (error || tn < n)
-			break;
-	}
-
-	return (error);
-}
-
-int
-uscannerread(dev_t dev, struct uio *uio, int flag)
-{
-	struct uscanner_softc *sc;
-	int error;
-
-	sc = uscanner_cd.cd_devs[USCANNERUNIT(dev)];
-
-	sc->sc_refcnt++;
-	error = uscanner_do_read(sc, uio, flag);
-	if (--sc->sc_refcnt < 0)
-		usb_detach_wakeup(&sc->sc_dev);
-
-	return (error);
-}
-
-int
-uscanner_do_write(struct uscanner_softc *sc, struct uio *uio, int flag)
-{
-	u_int32_t n;
-	int error = 0;
-	usbd_status err;
-
-	DPRINTFN(5, ("%s: uscanner_do_write\n", sc->sc_dev.dv_xname));
-
-	if (sc->sc_dying)
-		return (EIO);
-
-	while ((n = min(sc->sc_bulkout_bufferlen, uio->uio_resid)) != 0) {
-		error = uiomove(sc->sc_bulkout_buffer, n, uio);
-		if (error)
-			break;
-		DPRINTFN(1, ("uscanner_do_write: transfer %d bytes\n", n));
-		err = usbd_bulk_transfer(
-			sc->sc_bulkout_xfer, sc->sc_bulkout_pipe,
-			0, USBD_NO_TIMEOUT,
-			sc->sc_bulkout_buffer, &n,
-			"uscnwb");
-		if (err) {
-			if (err == USBD_INTERRUPTED)
-				error = EINTR;
-			else
-				error = EIO;
-			break;
-		}
-	}
-
-	return (error);
-}
-
-int
-uscannerwrite(dev_t dev, struct uio *uio, int flag)
-{
-	struct uscanner_softc *sc;
-	int error;
-
-	sc = uscanner_cd.cd_devs[USCANNERUNIT(dev)];
-
-	sc->sc_refcnt++;
-	error = uscanner_do_write(sc, uio, flag);
-	if (--sc->sc_refcnt < 0)
-		usb_detach_wakeup(&sc->sc_dev);
-	return (error);
-}
-
-int
-uscanner_activate(struct device *self, int act)
-{
-	struct uscanner_softc *sc = (struct uscanner_softc *)self;
-
-	switch (act) {
-	case DVACT_ACTIVATE:
-		break;
-
-	case DVACT_DEACTIVATE:
-		sc->sc_dying = 1;
-		break;
-	}
-	return (0);
-}
-
-int
-uscanner_detach(struct device *self, int flags)
-{
-	struct uscanner_softc *sc = (struct uscanner_softc *)self;
-	int s;
-	int maj, mn;
-
-	DPRINTF(("uscanner_detach: sc=%p flags=%d\n", sc, flags));
-
-	sc->sc_dev_flags = 0;	/* make close really close device */
-
-	/* Abort all pipes.  Causes processes waiting for transfer to wake. */
-	if (sc->sc_bulkin_pipe != NULL)
-		usbd_abort_pipe(sc->sc_bulkin_pipe);
-	if (sc->sc_bulkout_pipe != NULL)
-		usbd_abort_pipe(sc->sc_bulkout_pipe);
-
-	s = splusb();
-	if (--sc->sc_refcnt >= 0) {
-		/* Wait for processes to go away. */
-		usb_detach_wait(&sc->sc_dev);
-	}
-	splx(s);
-
-	/* locate the major number */
-	for (maj = 0; maj < nchrdev; maj++)
-		if (cdevsw[maj].d_open == uscanneropen)
-			break;
-
-	/* Nuke the vnodes for any open instances (calls close). */
-	mn = self->dv_unit * USB_MAX_ENDPOINTS;
-	vdevgone(maj, mn, mn + USB_MAX_ENDPOINTS - 1, VCHR);
-	usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev,
-			   &sc->sc_dev);
-
-	return (0);
-}
-
-int
-uscannerpoll(dev_t dev, int events, struct proc *p)
-{
-	struct uscanner_softc *sc;
-	int revents = 0;
-
-	sc = uscanner_cd.cd_devs[USCANNERUNIT(dev)];
-
-	if (sc->sc_dying)
-		return (POLLERR);
-
-	/*
-	 * We have no easy way of determining if a read will
-	 * yield any data or a write will happen.
-	 * Pretend they will.
-	 */
-	revents |= events &
-		   (POLLIN | POLLRDNORM | POLLOUT | POLLWRNORM);
-
-	return (revents);
-}
-
-int
-uscannerioctl(dev_t dev, u_long cmd, caddr_t addr, int flag, struct proc *p)
-{
-	return (EINVAL);
-}
-
-void filt_uscannerdetach(struct knote *);
-int uscannerkqfilter(dev_t, struct knote *);
-
-void
-filt_uscannerdetach(struct knote *kn)
-{
-	struct uscanner_softc *sc = (void *)kn->kn_hook;
-
-	SLIST_REMOVE(&sc->sc_selq.si_note, kn, knote, kn_selnext);
-}
-
-struct filterops uscanner_seltrue_filtops =
-	{ 1, NULL, filt_uscannerdetach, filt_seltrue };
-
-int
-uscannerkqfilter(dev_t dev, struct knote *kn)
-{
-	struct uscanner_softc *sc;
-	struct klist *klist;
-
-	sc = uscanner_cd.cd_devs[USCANNERUNIT(dev)];
-
-	if (sc->sc_dying)
-		return (1);
-
-	switch (kn->kn_filter) {
-	case EVFILT_READ:
-	case EVFILT_WRITE:
-		/* 
-		 * We have no easy way of determining if a read will
-		 * yield any data or a write will happen.
-		 * Pretend they will.
-		 */
-		klist = &sc->sc_selq.si_note;
-		kn->kn_fop = &uscanner_seltrue_filtops;
-		break;
-
-	default:
-		return (1);
-	}
-
-	kn->kn_hook = (void *)sc;
-
-	SLIST_INSERT_HEAD(klist, kn, kn_selnext);
-
-	return (0);
-}
Index: sys/dev/usb/files.usb
===================================================================
RCS file: /cvs/src/sys/dev/usb/files.usb,v
retrieving revision 1.94
diff -u -p -r1.94 files.usb
--- sys/dev/usb/files.usb	5 Nov 2010 16:58:12 -0000	1.94
+++ sys/dev/usb/files.usb	25 Nov 2010 16:03:43 -0000
@@ -288,12 +288,6 @@ device	uticom: ucombus
 attach	uticom at uhub
 file	dev/usb/uticom.c		uticom
 
-# Scanners
-# Generic scanner support
-device	uscanner
-attach	uscanner at uhub
-file	dev/usb/uscanner.c		uscanner		needs-flag
-
 # Prism3 WI @ USB
 attach	wi at uhub with wi_usb
 file	dev/usb/if_wi_usb.c		wi_usb
Index: sys/arch/alpha/alpha/conf.c
===================================================================
RCS file: /cvs/src/sys/arch/alpha/alpha/conf.c,v
retrieving revision 1.65
diff -u -p -r1.65 conf.c
--- sys/arch/alpha/alpha/conf.c	19 Nov 2010 20:55:48 -0000	1.65
+++ sys/arch/alpha/alpha/conf.c	25 Nov 2010 16:03:43 -0000
@@ -126,7 +126,6 @@ cdev_decl(nnpfs_dev);
 #include "ulpt.h"
 #include "urio.h"
 #include "ucom.h"
-#include "uscanner.h"
 #include "pf.h"
 #ifdef USER_PCICONF
 #include "pci.h"
@@ -215,7 +214,7 @@ struct cdevsw	cdevsw[] =
 	cdev_disk_init(1,diskmap),	/* 63: disk mapper */
 	cdev_pppx_init(NPPPX,pppx),	/* 64: pppx */
 	cdev_urio_init(NURIO,urio),	/* 65: USB Diamond Rio 500 */
-	cdev_usbdev_init(NUSCANNER,uscanner),	/* 66: USB scanners */
+	cdev_notdef(),			/* 66: */
 };
 int	nchrdev = sizeof (cdevsw) / sizeof (cdevsw[0]);
 
Index: sys/arch/alpha/conf/GENERIC
===================================================================
RCS file: /cvs/src/sys/arch/alpha/conf/GENERIC,v
retrieving revision 1.217
diff -u -p -r1.217 GENERIC
--- sys/arch/alpha/conf/GENERIC	26 Sep 2010 20:39:08 -0000	1.217
+++ sys/arch/alpha/conf/GENERIC	25 Nov 2010 16:03:43 -0000
@@ -113,7 +113,6 @@ upl*	at uhub?			# Prolific PL2301/PL2302
 url*	at uhub?			# Realtek RTL8150L based adapters
 wi*	at uhub?			# WaveLAN IEEE 802.11DS
 urio*	at uhub?			# Diamond Multimedia Rio 500
-uscanner* at uhub?			# USB Scanners
 #uyap*	at uhub?			# Y@P firmware loader
 udsbr*	at uhub?			# D-Link DSB-R100 radio
 radio*	at udsbr?			# USB radio
Index: sys/arch/amd64/amd64/conf.c
===================================================================
RCS file: /cvs/src/sys/arch/amd64/amd64/conf.c,v
retrieving revision 1.31
diff -u -p -r1.31 conf.c
--- sys/arch/amd64/amd64/conf.c	22 Nov 2010 21:10:42 -0000	1.31
+++ sys/arch/amd64/amd64/conf.c	25 Nov 2010 16:03:44 -0000
@@ -165,7 +165,6 @@ cdev_decl(nnpfs_dev);
 #include "ulpt.h"
 #include "urio.h"
 #include "ucom.h"
-#include "uscanner.h"
 #include "cz.h"
 cdev_decl(cztty);
 #include "radio.h"
@@ -291,7 +290,7 @@ struct cdevsw	cdevsw[] =
 	cdev_notdef(),			/* 74: ALTQ (deprecated) */
 	cdev_iop_init(NIOP,iop),	/* 75: I2O IOP control interface */
 	cdev_radio_init(NRADIO, radio), /* 76: generic radio I/O */
-	cdev_usbdev_init(NUSCANNER,uscanner),	/* 77: USB scanners */
+	cdev_notdef(),			/* 77: */
 	cdev_systrace_init(NSYSTRACE,systrace),	/* 78: system call tracing */
  	cdev_bio_init(NBIO,bio),	/* 79: ioctl tunnel */
 	cdev_notdef(),			/* 80: gpr? XXX */
Index: sys/arch/amd64/conf/GENERIC
===================================================================
RCS file: /cvs/src/sys/arch/amd64/conf/GENERIC,v
retrieving revision 1.307
diff -u -p -r1.307 GENERIC
--- sys/arch/amd64/conf/GENERIC	5 Nov 2010 16:58:12 -0000	1.307
+++ sys/arch/amd64/conf/GENERIC	25 Nov 2010 16:03:44 -0000
@@ -224,7 +224,6 @@ mos*	at uhub?		# MOSCHIP MCS7730/7830 10
 url*	at uhub?		# Realtek RTL8150L based adapters
 wi*	at uhub?		# WaveLAN IEEE 802.11DS
 urio*	at uhub?		# Diamond Multimedia Rio 500
-uscanner* at uhub?		# USB Scanners
 #uyap*	at uhub?		# Y@P firmware loader
 udsbr*	at uhub?		# D-Link DSB-R100 radio
 radio*	at udsbr?		# USB radio
Index: sys/arch/amd64/conf/RAMDISK
===================================================================
RCS file: /cvs/src/sys/arch/amd64/conf/RAMDISK,v
retrieving revision 1.50
diff -u -p -r1.50 RAMDISK
--- sys/arch/amd64/conf/RAMDISK	3 Jul 2010 03:59:16 -0000	1.50
+++ sys/arch/amd64/conf/RAMDISK	25 Nov 2010 16:03:44 -0000
@@ -106,7 +106,6 @@ wskbd*	at ukbd? mux 1
 #kue*	at uhub?		# Kawasaki KL5KUSB101B based Ethernet
 #upl*	at uhub?		# Prolific PL2301/PL2302 host-to-host `network'
 #urio*	at uhub?		# Diamond Multimedia Rio 500
-#uscanner* at uhub?		# USB Scanners
 #uyap*	at uhub?		# Y@P firmware loader
 #ugen*	at uhub?		# USB Generic driver
 
Index: sys/arch/amd64/conf/RAMDISK_CD
===================================================================
RCS file: /cvs/src/sys/arch/amd64/conf/RAMDISK_CD,v
retrieving revision 1.115
diff -u -p -r1.115 RAMDISK_CD
--- sys/arch/amd64/conf/RAMDISK_CD	4 Aug 2010 21:44:41 -0000	1.115
+++ sys/arch/amd64/conf/RAMDISK_CD	25 Nov 2010 16:03:44 -0000
@@ -117,7 +117,6 @@ url*	at uhub?		# Realtek RTL8150L based 
 wi*	at uhub?		# WaveLAN IEEE 802.11DS
 upl*	at uhub?		# Prolific PL2301/PL2302 host-to-host `network'
 #urio*	at uhub?		# Diamond Multimedia Rio 500
-#uscanner* at uhub?		# USB Scanners
 #uyap*	at uhub?		# Y@P firmware loader
 #ugen*	at uhub?		# USB Generic driver
 ural*	at uhub?		# Ralink RT2500
Index: sys/arch/arm/arm/conf.c
===================================================================
RCS file: /cvs/src/sys/arch/arm/arm/conf.c,v
retrieving revision 1.27
diff -u -p -r1.27 conf.c
--- sys/arch/arm/arm/conf.c	23 Sep 2010 05:02:14 -0000	1.27
+++ sys/arch/arm/arm/conf.c	25 Nov 2010 16:03:44 -0000
@@ -137,7 +137,6 @@ cdev_decl(pci);
 #include "uhid.h"
 #include "ulpt.h"
 #include "urio.h"
-#include "uscanner.h"
 
 /*
  * Bluetooth devices
@@ -373,7 +372,7 @@ struct cdevsw cdevsw[] = {
 	cdev_lpt_init(NULPT,ulpt),		/* 66: USB printer */
 	cdev_urio_init(NURIO,urio),		/* 67: Diamond Rio 500 */
 	cdev_tty_init(NUCOM,ucom),		/* 68: USB tty */
-	cdev_usbdev_init(NUSCANNER,uscanner),	/* 69: USB scanner */
+	cdev_notdef(),				/* 69: */
 	cdev_usbdev_init(NUGEN,ugen),		/* 70: USB generic driver */
 	cdev_disk_init(NRAID,raid),    		/* 71: RAIDframe disk driver */
 	cdev_lkm_dummy(),			/* 72: reserved */
Index: sys/arch/armish/conf/GENERIC
===================================================================
RCS file: /cvs/src/sys/arch/armish/conf/GENERIC,v
retrieving revision 1.35
diff -u -p -r1.35 GENERIC
--- sys/arch/armish/conf/GENERIC	15 Nov 2010 19:07:34 -0000	1.35
+++ sys/arch/armish/conf/GENERIC	25 Nov 2010 16:03:44 -0000
@@ -144,7 +144,6 @@ udav*	at uhub?		# Davicom DM9601 based E
 url*	at uhub?		# Realtek RTL8150L based adapters
 wi*	at uhub?		# WaveLAN IEEE 802.11DS
 urio*	at uhub?		# Diamond Multimedia Rio 500
-uscanner* at uhub?		# USB Scanners
 #uyap*	at uhub?		# Y@P firmware loader
 udsbr*	at uhub?		# D-Link DSB-R100 radio
 radio*	at udsbr?		# USB radio
Index: sys/arch/armish/conf/RAMDISK
===================================================================
RCS file: /cvs/src/sys/arch/armish/conf/RAMDISK,v
retrieving revision 1.16
diff -u -p -r1.16 RAMDISK
--- sys/arch/armish/conf/RAMDISK	3 Jul 2010 03:59:16 -0000	1.16
+++ sys/arch/armish/conf/RAMDISK	25 Nov 2010 16:03:44 -0000
@@ -135,7 +135,6 @@ udav*	at uhub?		# Davicom DM9601 based E
 url*	at uhub?		# Realtek RTL8150L based adapters
 wi*	at uhub?		# WaveLAN IEEE 802.11DS
 #urio*	at uhub?		# Diamond Multimedia Rio 500
-#uscanner* at uhub?		# USB Scanners
 #uyap*	at uhub?		# Y@P firmware loader
 #udsbr*	at uhub?		# D-Link DSB-R100 radio
 #radio*	at udsbr?		# USB radio
Index: sys/arch/beagle/conf/RAMDISK
===================================================================
RCS file: /cvs/src/sys/arch/beagle/conf/RAMDISK,v
retrieving revision 1.8
diff -u -p -r1.8 RAMDISK
--- sys/arch/beagle/conf/RAMDISK	3 Jul 2010 03:59:16 -0000	1.8
+++ sys/arch/beagle/conf/RAMDISK	25 Nov 2010 16:03:44 -0000
@@ -145,7 +145,6 @@ ommmc0		at ahb? addr 0x4809c000 intr 83
 # url*		at uhub?		# Realtek RTL8150L based adapters
 # wi*		at uhub?		# WaveLAN IEEE 802.11DS
 # urio*		at uhub?		# Diamond Multimedia Rio 500
-# uscanner*	at uhub?		# USB Scanners
 # #uyap*		at uhub?		# Y@P firmware loader
 # udsbr*		at uhub?		# D-Link DSB-R100 radio
 # radio*		at udsbr?		# USB radio
Index: sys/arch/beagle/conf/GENERIC
===================================================================
RCS file: /cvs/src/sys/arch/beagle/conf/GENERIC,v
retrieving revision 1.3
diff -u -p -r1.3 GENERIC
--- sys/arch/beagle/conf/GENERIC	3 Jul 2010 03:59:16 -0000	1.3
+++ sys/arch/beagle/conf/GENERIC	25 Nov 2010 16:03:44 -0000
@@ -140,7 +140,6 @@ udav*		at uhub?		# Davicom DM9601 based 
 url*		at uhub?		# Realtek RTL8150L based adapters
 wi*		at uhub?		# WaveLAN IEEE 802.11DS
 urio*		at uhub?		# Diamond Multimedia Rio 500
-uscanner*	at uhub?		# USB Scanners
 #uyap*		at uhub?		# Y@P firmware loader
 udsbr*		at uhub?		# D-Link DSB-R100 radio
 radio*		at udsbr?		# USB radio
Index: sys/arch/gumstix/conf/GENERIC
===================================================================
RCS file: /cvs/src/sys/arch/gumstix/conf/GENERIC,v
retrieving revision 1.9
diff -u -p -r1.9 GENERIC
--- sys/arch/gumstix/conf/GENERIC	23 Sep 2010 16:21:46 -0000	1.9
+++ sys/arch/gumstix/conf/GENERIC	25 Nov 2010 16:03:44 -0000
@@ -126,7 +126,6 @@ run*		at uhub?		# Ralink RT2700U/RT2800U
 url*		at uhub?		# Realtek RTL8150L based adapters
 wi*		at uhub?		# WaveLAN IEEE 802.11DS
 urio*		at uhub?		# Diamond Multimedia Rio 500
-uscanner*	at uhub?		# USB Scanners
 #uyap*		at uhub?		# Y@P firmware loader
 udsbr*		at uhub?		# D-Link DSB-R100 radio
 radio*		at udsbr?		# USB radio
Index: sys/arch/gumstix/conf/RAMDISK
===================================================================
RCS file: /cvs/src/sys/arch/gumstix/conf/RAMDISK,v
retrieving revision 1.3
diff -u -p -r1.3 RAMDISK
--- sys/arch/gumstix/conf/RAMDISK	3 Jul 2010 03:59:16 -0000	1.3
+++ sys/arch/gumstix/conf/RAMDISK	25 Nov 2010 16:03:45 -0000
@@ -88,7 +88,6 @@ pxaost0		at pxaip? addr 0x40a00000 size 
 #url*		at uhub?		# Realtek RTL8150L based adapters
 #wi*		at uhub?		# WaveLAN IEEE 802.11DS
 #upl*		at uhub?		# Prolific PL2301/PL2302 host-to-host
-#uscanner*	at uhub?		# USB Scanner driver
 #uyap*		at uhub?		# Y@P firmware loader
 #ugen*		at uhub?		# USB Generic driver
 #umass*		at uhub?		# USB Mass Storage devices
Index: sys/arch/hppa/conf/GENERIC
===================================================================
RCS file: /cvs/src/sys/arch/hppa/conf/GENERIC,v
retrieving revision 1.139
diff -u -p -r1.139 GENERIC
--- sys/arch/hppa/conf/GENERIC	23 Sep 2010 16:21:46 -0000	1.139
+++ sys/arch/hppa/conf/GENERIC	25 Nov 2010 16:03:45 -0000
@@ -153,7 +153,6 @@ udav*	at uhub?		# Davicom DM9601 based E
 upl*	at uhub?		# Prolific PL2301/PL2302 host-to-host `network'
 wi*	at uhub?		# WaveLAN IEEE 802.11DS
 urio*	at uhub?		# Diamond Multimedia Rio 500
-uscanner* at uhub?		# USB Scanners
 uyap*	at uhub?		# Y@P firmware loader
 udsbr*	at uhub?		# D-Link DSB-R100 radio
 radio*	at udsbr?		# USB radio
Index: sys/arch/hppa/conf/RAMDISK
===================================================================
RCS file: /cvs/src/sys/arch/hppa/conf/RAMDISK,v
retrieving revision 1.90
diff -u -p -r1.90 RAMDISK
--- sys/arch/hppa/conf/RAMDISK	3 Jul 2010 03:59:16 -0000	1.90
+++ sys/arch/hppa/conf/RAMDISK	25 Nov 2010 16:03:45 -0000
@@ -153,7 +153,6 @@ udav*	at uhub?		# Davicom DM9601 based E
 upl*	at uhub?		# Prolific PL2301/PL2302 host-to-host `network'
 wi*	at uhub?		# WaveLAN IEEE 802.11DS
 #urio*	at uhub?		# Diamond Multimedia Rio 500
-#uscanner* at uhub?		# USB Scanners
 #uyap*	at uhub?		# Y@P firmware loader
 #udsbr*	at uhub?		# D-Link DSB-R100 radio
 #radio*	at udsbr?		# USB radio
Index: sys/arch/hppa/hppa/conf.c
===================================================================
RCS file: /cvs/src/sys/arch/hppa/hppa/conf.c,v
retrieving revision 1.52
diff -u -p -r1.52 conf.c
--- sys/arch/hppa/hppa/conf.c	23 Sep 2010 05:02:14 -0000	1.52
+++ sys/arch/hppa/hppa/conf.c	25 Nov 2010 16:03:45 -0000
@@ -122,7 +122,6 @@ cdev_decl(pci);
 #include "ulpt.h"
 #include "urio.h"
 #include "ucom.h"
-#include "uscanner.h"
 
 #include "bthub.h"
 
@@ -183,7 +182,7 @@ struct cdevsw   cdevsw[] =
 	cdev_ulpt_init(NULPT,ulpt),	/* 43: USB printers */
 	cdev_urio_init(NURIO,urio),	/* 44: USB Diamond Rio 500 */
 	cdev_tty_init(NUCOM,ucom),	/* 45: USB tty */
-	cdev_usbdev_init(NUSCANNER,uscanner), /* 46: USB scanners */
+	cdev_notdef(),			/* 46: */
 	cdev_hotplug_init(NHOTPLUG,hotplug), /* 47: devices hot plugging */
 	cdev_lkm_dummy(),		/* 48: */
 	cdev_lkm_dummy(),		/* 49: */
Index: sys/arch/hppa64/conf/GENERIC
===================================================================
RCS file: /cvs/src/sys/arch/hppa64/conf/GENERIC,v
retrieving revision 1.22
diff -u -p -r1.22 GENERIC
--- sys/arch/hppa64/conf/GENERIC	30 Aug 2010 18:56:18 -0000	1.22
+++ sys/arch/hppa64/conf/GENERIC	25 Nov 2010 16:03:45 -0000
@@ -106,7 +106,6 @@ pci*	at ppb?
 #url*	at uhub?		# Realtek RTL8150L based adapters
 #wi*	at uhub?		# WaveLAN IEEE 802.11DS
 #urio*	at uhub?		# Diamond Multimedia Rio 500
-#uscanner* at uhub?		# USB Scanners
 #uyap*	at uhub?		# Y@P firmware loader
 #udsbr*	at uhub?		# D-Link DSB-R100 radio
 #radio*	at udsbr?		# USB radio
Index: sys/arch/hppa64/conf/RAMDISK
===================================================================
RCS file: /cvs/src/sys/arch/hppa64/conf/RAMDISK,v
retrieving revision 1.10
diff -u -p -r1.10 RAMDISK
--- sys/arch/hppa64/conf/RAMDISK	3 Jul 2010 03:59:16 -0000	1.10
+++ sys/arch/hppa64/conf/RAMDISK	25 Nov 2010 16:03:45 -0000
@@ -106,7 +106,6 @@ pcmcia*		at cardslot?
 #url*	at uhub?		# Realtek RTL8150L based adapters
 #wi*	at uhub?		# WaveLAN IEEE 802.11DS
 #urio*	at uhub?		# Diamond Multimedia Rio 500
-#uscanner* at uhub?		# USB Scanners
 #uyap*	at uhub?		# Y@P firmware loader
 #udsbr*	at uhub?		# D-Link DSB-R100 radio
 #radio*	at udsbr?		# USB radio
Index: sys/arch/hppa64/hppa64/conf.c
===================================================================
RCS file: /cvs/src/sys/arch/hppa64/hppa64/conf.c,v
retrieving revision 1.17
diff -u -p -r1.17 conf.c
--- sys/arch/hppa64/hppa64/conf.c	19 Nov 2010 20:55:48 -0000	1.17
+++ sys/arch/hppa64/hppa64/conf.c	25 Nov 2010 16:03:45 -0000
@@ -123,7 +123,6 @@ cdev_decl(pci);
 #include "ulpt.h"
 #include "urio.h"
 #include "ucom.h"
-#include "uscanner.h"
 
 #include "bthub.h"
 
@@ -185,7 +184,7 @@ struct cdevsw   cdevsw[] =
 	cdev_ulpt_init(NULPT,ulpt),	/* 43: USB printers */
 	cdev_urio_init(NURIO,urio),	/* 44: USB Diamond Rio 500 */
 	cdev_tty_init(NUCOM,ucom),	/* 45: USB tty */
-	cdev_usbdev_init(NUSCANNER,uscanner), /* 46: USB scanners */
+	cdev_notdef(),			/* 46: */
 	cdev_hotplug_init(NHOTPLUG,hotplug), /* 47: devices hot plugging */
 	cdev_lkm_dummy(),		/* 48: */
 	cdev_lkm_dummy(),		/* 49: */
Index: sys/arch/i386/conf/GENERIC
===================================================================
RCS file: /cvs/src/sys/arch/i386/conf/GENERIC,v
retrieving revision 1.701
diff -u -p -r1.701 GENERIC
--- sys/arch/i386/conf/GENERIC	5 Nov 2010 16:58:12 -0000	1.701
+++ sys/arch/i386/conf/GENERIC	25 Nov 2010 16:03:45 -0000
@@ -282,7 +282,6 @@ mos*	at uhub?		# MOSCHIP MCS7730/7830 10
 url*	at uhub?		# Realtek RTL8150L based adapters
 wi*	at uhub?		# WaveLAN IEEE 802.11DS
 urio*	at uhub?		# Diamond Multimedia Rio 500
-uscanner* at uhub?		# USB Scanners
 #uyap*	at uhub?		# Y@P firmware loader
 udsbr*	at uhub?		# D-Link DSB-R100 radio
 radio*	at udsbr?		# USB radio
Index: sys/arch/i386/conf/RAMDISK_CD
===================================================================
RCS file: /cvs/src/sys/arch/i386/conf/RAMDISK_CD,v
retrieving revision 1.181
diff -u -p -r1.181 RAMDISK_CD
--- sys/arch/i386/conf/RAMDISK_CD	19 Oct 2010 20:23:53 -0000	1.181
+++ sys/arch/i386/conf/RAMDISK_CD	25 Nov 2010 16:03:45 -0000
@@ -139,7 +139,6 @@ udav*	at uhub?		# Davicom DM9601 based E
 mos*	at uhub?		# MOSCHIP MCS7730/7830 10/100 Ethernet
 url*	at uhub?		# Realtek RTL8150L based adapters
 wi*	at uhub?		# WaveLAN IEEE 802.11DS
-#uscanner* at uhub?		# USB Scanners
 #uyap*	at uhub?		# Y@P firmware loader
 #ugen*	at uhub?		# USB Generic driver
 ural*	at uhub?		# Ralink RT2500
Index: sys/arch/i386/i386/conf.c
===================================================================
RCS file: /cvs/src/sys/arch/i386/i386/conf.c,v
retrieving revision 1.135
diff -u -p -r1.135 conf.c
--- sys/arch/i386/i386/conf.c	22 Sep 2010 13:03:47 -0000	1.135
+++ sys/arch/i386/i386/conf.c	25 Nov 2010 16:03:46 -0000
@@ -166,7 +166,6 @@ cdev_decl(nnpfs_dev);
 #include "ulpt.h"
 #include "urio.h"
 #include "ucom.h"
-#include "uscanner.h"
 #include "cz.h"
 cdev_decl(cztty);
 #include "radio.h"
@@ -294,7 +293,7 @@ struct cdevsw	cdevsw[] =
 	cdev_notdef(),			/* 74: ALTQ (deprecated) */
 	cdev_iop_init(NIOP,iop),	/* 75: I2O IOP control interface */
 	cdev_radio_init(NRADIO, radio), /* 76: generic radio I/O */
-	cdev_usbdev_init(NUSCANNER,uscanner),	/* 77: USB scanners */
+	cdev_notdef(),			/* 77 */
 	cdev_systrace_init(NSYSTRACE,systrace),	/* 78: system call tracing */
  	cdev_bio_init(NBIO,bio),	/* 79: ioctl tunnel */
 	cdev_ch_init(NGPR,gpr),		/* 80: GPR400 SmartCard reader */
Index: sys/arch/landisk/conf/GENERIC
===================================================================
RCS file: /cvs/src/sys/arch/landisk/conf/GENERIC,v
retrieving revision 1.29
diff -u -p -r1.29 GENERIC
--- sys/arch/landisk/conf/GENERIC	19 Nov 2010 20:52:41 -0000	1.29
+++ sys/arch/landisk/conf/GENERIC	25 Nov 2010 16:03:46 -0000
@@ -142,7 +142,6 @@ udav*	at uhub?		# Davicom DM9601 based E
 url*	at uhub?		# Realtek RTL8150L based adapters
 wi*	at uhub?		# WaveLAN IEEE 802.11DS
 urio*	at uhub?		# Diamond Multimedia Rio 500
-#uscanner* at uhub?		# USB Scanners
 #uyap*	at uhub?		# Y@P firmware loader
 udsbr*	at uhub?		# D-Link DSB-R100 radio
 radio*	at udsbr?		# USB radio
Index: sys/arch/landisk/landisk/conf.c
===================================================================
RCS file: /cvs/src/sys/arch/landisk/landisk/conf.c,v
retrieving revision 1.18
diff -u -p -r1.18 conf.c
--- sys/arch/landisk/landisk/conf.c	19 Nov 2010 20:55:48 -0000	1.18
+++ sys/arch/landisk/landisk/conf.c	25 Nov 2010 16:03:46 -0000
@@ -120,7 +120,6 @@ cdev_decl(pci);
 #include "uhid.h"
 #include "ulpt.h"
 #include "urio.h"
-#include "uscanner.h"
 
 /*
  * Bluetooth devices
@@ -337,7 +336,7 @@ struct cdevsw cdevsw[] = {
 	cdev_lpt_init(NULPT,ulpt),		/* 66: USB printer */
 	cdev_urio_init(NURIO,urio),		/* 67: Diamond Rio 500 */
 	cdev_tty_init(NUCOM,ucom),		/* 68: USB tty */
-	cdev_usbdev_init(NUSCANNER,uscanner),	/* 69: USB scanner */
+	cdev_notdef(),				/* 69: */
 	cdev_usbdev_init(NUGEN,ugen),		/* 70: USB generic driver */
 	cdev_disk_init(NRAID,raid),    		/* 71: RAIDframe disk driver */
 	cdev_lkm_dummy(),			/* 72: reserved */
Index: sys/arch/loongson/conf/GENERIC
===================================================================
RCS file: /cvs/src/sys/arch/loongson/conf/GENERIC,v
retrieving revision 1.28
diff -u -p -r1.28 GENERIC
--- sys/arch/loongson/conf/GENERIC	19 Nov 2010 20:53:44 -0000	1.28
+++ sys/arch/loongson/conf/GENERIC	25 Nov 2010 16:03:46 -0000
@@ -126,7 +126,6 @@ atapiscsi*	at umass?
 scsibus*	at atapiscsi?
 scsibus*	at umass?
 urio*		at uhub?	# Diamond Multimedia Rio 500
-uscanner*	at uhub?	# USB Scanners
 uhidev*		at uhub?	# Human Interface Devices
 ums*		at uhidev?	# USB mouse
 wsmouse*	at ums? mux 0
Index: sys/arch/loongson/loongson/conf.c
===================================================================
RCS file: /cvs/src/sys/arch/loongson/loongson/conf.c,v
retrieving revision 1.11
diff -u -p -r1.11 conf.c
--- sys/arch/loongson/loongson/conf.c	22 Nov 2010 21:10:45 -0000	1.11
+++ sys/arch/loongson/loongson/conf.c	25 Nov 2010 16:03:46 -0000
@@ -130,7 +130,6 @@ cdev_decl(pci);
 #include "ulpt.h"
 #include "urio.h"
 #include "ucom.h"
-#include "uscanner.h"
 
 #include "bthub.h"
 #include "vscsi.h"
@@ -218,7 +217,7 @@ struct cdevsw	cdevsw[] =
 	cdev_vscsi_init(NVSCSI,vscsi),	/* 69: vscsi */
 	cdev_disk_init(1,diskmap),	/* 70: disk mapper */
 	cdev_pppx_init(NPPPX,pppx),	/* 71: pppx */
-	cdev_usbdev_init(NUSCANNER,uscanner),	/* 72: USB scanners */
+	cdev_notdef,			/* 72: */
 };
 
 int	nchrdev = sizeof (cdevsw) / sizeof (cdevsw[0]);
Index: sys/arch/macppc/conf/GENERIC
===================================================================
RCS file: /cvs/src/sys/arch/macppc/conf/GENERIC,v
retrieving revision 1.202
diff -u -p -r1.202 GENERIC
--- sys/arch/macppc/conf/GENERIC	15 Nov 2010 19:07:34 -0000	1.202
+++ sys/arch/macppc/conf/GENERIC	25 Nov 2010 16:03:46 -0000
@@ -283,7 +283,6 @@ mos*	at uhub?		# MOSCHIP MCS7730/7830 10
 url*	at uhub?		# Realtek RTL8150L based adapters
 wi*	at uhub?		# WaveLAN IEEE 802.11DS
 urio*	at uhub?		# Diamond Multimedia Rio 500
-uscanner* at uhub?		# USB Scanners
 #uyap*	at uhub?		# Y@P firmware loader
 udsbr*	at uhub?		# D-Link DSB-R100 radio
 radio*	at udsbr?		# USB radio
Index: sys/arch/macppc/conf/RAMDISK
===================================================================
RCS file: /cvs/src/sys/arch/macppc/conf/RAMDISK,v
retrieving revision 1.90
diff -u -p -r1.90 RAMDISK
--- sys/arch/macppc/conf/RAMDISK	3 Jul 2010 03:59:16 -0000	1.90
+++ sys/arch/macppc/conf/RAMDISK	25 Nov 2010 16:03:46 -0000
@@ -198,7 +198,6 @@ rum*		at uhub?		# Ralink RT2501USB/RT260
 zyd*		at uhub?		# Zydas ZD1211
 url*		at uhub?		# Realtek RTL8150L based adapters
 wi*		at uhub?		# WaveLAN IEEE 802.11DS
-#uscanner*	at uhub?		# USB Scanner driver
 #uyap*		at uhub?		# Y@P firmware loader
 #ugen*		at uhub?		# USB Generic driver
 umass*		at uhub?		# USB Mass Storage devices
Index: sys/arch/macppc/macppc/conf.c
===================================================================
RCS file: /cvs/src/sys/arch/macppc/macppc/conf.c,v
retrieving revision 1.43
diff -u -p -r1.43 conf.c
--- sys/arch/macppc/macppc/conf.c	23 Sep 2010 05:02:14 -0000	1.43
+++ sys/arch/macppc/macppc/conf.c	25 Nov 2010 16:03:46 -0000
@@ -115,7 +115,6 @@ cdev_decl(nnpfs_dev);
 #include "ulpt.h"
 #include "urio.h"
 #include "ucom.h"
-#include "uscanner.h"
 
 #include "inet.h"
 
@@ -231,7 +230,7 @@ struct cdevsw cdevsw[] = {
 #endif
 	cdev_notdef(),			/* 72: ALTQ (deprecated) */
 	cdev_iop_init(NIOP,iop),	/* 73: I2O IOP control interface */
-	cdev_usbdev_init(NUSCANNER,uscanner), /* 74: usb scanner */
+	cdev_notdef(),			/* 74 */
 	cdev_bktr_init(NBKTR,bktr),	/* 75: Bt848 video capture device */
 	cdev_radio_init(NRADIO, radio),	/* 76: generic radio I/O */
 	cdev_ptm_init(NPTY,ptm),	/* 77: pseudo-tty ptm device */
Index: sys/arch/octeon/octeon/conf.c
===================================================================
RCS file: /cvs/src/sys/arch/octeon/octeon/conf.c,v
retrieving revision 1.5
diff -u -p -r1.5 conf.c
--- sys/arch/octeon/octeon/conf.c	22 Nov 2010 21:10:45 -0000	1.5
+++ sys/arch/octeon/octeon/conf.c	25 Nov 2010 16:03:46 -0000
@@ -137,7 +137,6 @@ cdev_decl(pci);
 #include "ulpt.h"
 #include "urio.h"
 #include "ucom.h"
-#include "uscanner.h"
 
 #include "bthub.h"
 #include "vscsi.h"
@@ -229,7 +228,7 @@ struct cdevsw	cdevsw[] =
 	cdev_vscsi_init(NVSCSI,vscsi),	/* 69: vscsi */
 	cdev_disk_init(1,diskmap),	/* 70: disk mapper */
 	cdev_pppx_init(NPPPX,pppx),	/* 71: pppx */
-	cdev_usbdev_init(NUSCANNER,uscanner),	/* 72: USB scanners */
+	cdev_notdef(),			/* 72: */
 };
 
 int	nchrdev = sizeof (cdevsw) / sizeof (cdevsw[0]);
Index: sys/arch/palm/conf/GENERIC
===================================================================
RCS file: /cvs/src/sys/arch/palm/conf/GENERIC,v
retrieving revision 1.8
diff -u -p -r1.8 GENERIC
--- sys/arch/palm/conf/GENERIC	23 Sep 2010 16:21:46 -0000	1.8
+++ sys/arch/palm/conf/GENERIC	25 Nov 2010 16:03:46 -0000
@@ -114,7 +114,6 @@ zyd*		at uhub?		# Zydas ZD1211
 url*		at uhub?		# Realtek RTL8150L based adapters
 wi*		at uhub?		# WaveLAN IEEE 802.11DS
 urio*		at uhub?		# Diamond Multimedia Rio 500
-uscanner*	at uhub?		# USB Scanners
 #uyap*		at uhub?		# Y@P firmware loader
 udsbr*		at uhub?		# D-Link DSB-R100 radio
 radio*		at udsbr?		# USB radio
Index: sys/arch/palm/conf/RAMDISK
===================================================================
RCS file: /cvs/src/sys/arch/palm/conf/RAMDISK,v
retrieving revision 1.7
diff -u -p -r1.7 RAMDISK
--- sys/arch/palm/conf/RAMDISK	3 Jul 2010 03:59:17 -0000	1.7
+++ sys/arch/palm/conf/RAMDISK	25 Nov 2010 16:03:47 -0000
@@ -79,7 +79,6 @@ ural*		at uhub?		# Ralink RT2500
 #url*		at uhub?		# Realtek RTL8150L based adapters
 wi*		at uhub?		# WaveLAN IEEE 802.11DS
 upl*		at uhub?		# Prolific PL2301/PL2302 host-to-host
-#uscanner*	at uhub?		# USB Scanner driver
 #uyap*		at uhub?		# Y@P firmware loader
 ugen*		at uhub?		# USB Generic driver
 umass*		at uhub?		# USB Mass Storage devices
Index: sys/arch/sgi/conf/GENERIC-IP30
===================================================================
RCS file: /cvs/src/sys/arch/sgi/conf/GENERIC-IP30,v
retrieving revision 1.32
diff -u -p -r1.32 GENERIC-IP30
--- sys/arch/sgi/conf/GENERIC-IP30	19 Nov 2010 20:54:12 -0000	1.32
+++ sys/arch/sgi/conf/GENERIC-IP30	25 Nov 2010 16:03:47 -0000
@@ -107,7 +107,6 @@ atapiscsi*	at umass?
 scsibus*	at atapiscsi?
 scsibus*	at umass?
 urio*		at uhub?	# Diamond Multimedia Rio 500
-uscanner*	at uhub?	# USB Scanners
 uhidev*		at uhub?	# Human Interface Devices
 ums*		at uhidev?	# USB mouse
 wsmouse*	at ums? mux 0
Index: sys/arch/sgi/conf/GENERIC-IP27
===================================================================
RCS file: /cvs/src/sys/arch/sgi/conf/GENERIC-IP27,v
retrieving revision 1.38
diff -u -p -r1.38 GENERIC-IP27
--- sys/arch/sgi/conf/GENERIC-IP27	19 Nov 2010 20:54:12 -0000	1.38
+++ sys/arch/sgi/conf/GENERIC-IP27	25 Nov 2010 16:03:47 -0000
@@ -115,7 +115,6 @@ atapiscsi*	at umass?
 scsibus*	at atapiscsi?
 scsibus*	at umass?
 urio*		at uhub?	# Diamond Multimedia Rio 500
-uscanner*	at uhub?	# USB Scanners
 uhidev*		at uhub?	# Human Interface Devices
 ums*		at uhidev?	# USB mouse
 wsmouse*	at ums? mux 0
Index: sys/arch/sgi/conf/GENERIC-IP32
===================================================================
RCS file: /cvs/src/sys/arch/sgi/conf/GENERIC-IP32,v
retrieving revision 1.23
diff -u -p -r1.23 GENERIC-IP32
--- sys/arch/sgi/conf/GENERIC-IP32	19 Nov 2010 20:54:12 -0000	1.23
+++ sys/arch/sgi/conf/GENERIC-IP32	25 Nov 2010 16:03:47 -0000
@@ -99,7 +99,6 @@ atapiscsi*	at umass?
 scsibus*	at atapiscsi?
 scsibus*	at umass?
 urio*		at uhub?	# Diamond Multimedia Rio 500
-uscanner*	at uhub?	# USB Scanners
 uhidev*		at uhub?	# Human Interface Devices
 ums*		at uhidev?	# USB mouse
 wsmouse*	at ums? mux 0
Index: sys/arch/sgi/sgi/conf.c
===================================================================
RCS file: /cvs/src/sys/arch/sgi/sgi/conf.c,v
retrieving revision 1.27
diff -u -p -r1.27 conf.c
--- sys/arch/sgi/sgi/conf.c	22 Nov 2010 21:10:45 -0000	1.27
+++ sys/arch/sgi/sgi/conf.c	25 Nov 2010 16:03:47 -0000
@@ -129,7 +129,6 @@ cdev_decl(pci);
 #include "ulpt.h"
 #include "urio.h"
 #include "ucom.h"
-#include "uscanner.h"
 
 #include "vscsi.h"
 #include "pppx.h"
@@ -216,7 +215,7 @@ struct cdevsw	cdevsw[] =
 	cdev_disk_init(1,diskmap),	/* 69: disk mapper */
 	cdev_pppx_init(NPPPX,pppx),	/* 70: pppx */
 	cdev_notdef(),			/* 71: */
-	cdev_usbdev_init(NUSCANNER,uscanner),	/* 72: USB scanners */
+	cdev_notdef(),			/* 72: */
 };
 
 int	nchrdev = sizeof (cdevsw) / sizeof (cdevsw[0]);
Index: sys/arch/socppc/conf/GENERIC
===================================================================
RCS file: /cvs/src/sys/arch/socppc/conf/GENERIC,v
retrieving revision 1.17
diff -u -p -r1.17 GENERIC
--- sys/arch/socppc/conf/GENERIC	19 Nov 2010 20:54:52 -0000	1.17
+++ sys/arch/socppc/conf/GENERIC	25 Nov 2010 16:03:47 -0000
@@ -79,7 +79,6 @@ run*	at uhub?		# Ralink RT2700U/RT2800U/
 urtwn*	at uhub?		# Realtek RTL8188CU/RTL8192CU
 zyd*	at uhub?		# Zydas ZD1211
 urio*	at uhub?		# Diamond Multimedia Rio 500
-uscanner* at uhub?		# USB Scanners
 ugen*	at uhub?		# USB Generic driver
 uthum*	at uhidev?		# TEMPerHUM sensor
 utwitch* at uhidev?		# YUREX BBU sensor
Index: sys/arch/socppc/socppc/conf.c
===================================================================
RCS file: /cvs/src/sys/arch/socppc/socppc/conf.c,v
retrieving revision 1.12
diff -u -p -r1.12 conf.c
--- sys/arch/socppc/socppc/conf.c	19 Nov 2010 20:55:48 -0000	1.12
+++ sys/arch/socppc/socppc/conf.c	25 Nov 2010 16:03:47 -0000
@@ -113,7 +113,6 @@ cdev_decl(pci);
 #include "ulpt.h"
 #include "urio.h"
 #include "ucom.h"
-#include "uscanner.h"
 
 #include "bthub.h"
 #include "vscsi.h"
@@ -201,7 +200,7 @@ struct cdevsw cdevsw[] = {
 #endif
 	cdev_notdef(),			/* 72 */
 	cdev_notdef(),			/* 73 */
-	cdev_usbdev_init(NUSCANNER,uscanner), /* 74: usb scanner */
+	cdev_notdef(),			/* 74 */
 	cdev_notdef(),			/* 75 */
 	cdev_notdef(),			/* 76 */
 	cdev_ptm_init(NPTY,ptm),	/* 77: pseudo-tty ptm device */
Index: sys/arch/sparc64/conf/GENERIC
===================================================================
RCS file: /cvs/src/sys/arch/sparc64/conf/GENERIC,v
retrieving revision 1.259
diff -u -p -r1.259 GENERIC
--- sys/arch/sparc64/conf/GENERIC	6 Nov 2010 12:24:28 -0000	1.259
+++ sys/arch/sparc64/conf/GENERIC	25 Nov 2010 16:03:47 -0000
@@ -233,7 +233,6 @@ zyd*	at uhub?		# Zydas ZD1211
 url*	at uhub?		# Realtek RTL8150L based adapters
 wi*	at uhub?		# WaveLAN IEEE 802.11DS
 urio*	at uhub?		# Diamond Multimedia Rio 500
-uscanner* at uhub?		# USB Scanners
 #uyap*	at uhub?		# Y@P firmware loader
 udsbr*	at uhub?		# D-Link DSB-R100 radio
 radio*	at udsbr?		# USB radio
Index: sys/arch/sparc64/sparc64/conf.c
===================================================================
RCS file: /cvs/src/sys/arch/sparc64/sparc64/conf.c,v
retrieving revision 1.58
diff -u -p -r1.58 conf.c
--- sys/arch/sparc64/sparc64/conf.c	8 Oct 2010 18:21:34 -0000	1.58
+++ sys/arch/sparc64/sparc64/conf.c	25 Nov 2010 16:03:47 -0000
@@ -104,7 +104,6 @@ cdev_decl(pci);
 #include "ulpt.h"
 #include "urio.h"
 #include "ucom.h"
-#include "uscanner.h"
 
 #include "bthub.h"
 
@@ -261,7 +260,7 @@ struct cdevsw	cdevsw[] =
 	cdev_ulpt_init(NULPT,ulpt),	/* 93: USB printers */
 	cdev_urio_init(NURIO,urio),	/* 94: USB Diamond Rio 500 */
 	cdev_tty_init(NUCOM,ucom),	/* 95: USB tty */
-	cdev_usbdev_init(NUSCANNER,uscanner), /* 96: USB scanners */
+	cdev_notdef(),			/* 96 */
 	cdev_notdef(),			/* 97 */
 	cdev_notdef(),			/* 98 */
 	cdev_notdef(),			/* 99 */
Index: sys/arch/zaurus/conf/GENERIC
===================================================================
RCS file: /cvs/src/sys/arch/zaurus/conf/GENERIC,v
retrieving revision 1.80
diff -u -p -r1.80 GENERIC
--- sys/arch/zaurus/conf/GENERIC	24 Sep 2010 18:26:49 -0000	1.80
+++ sys/arch/zaurus/conf/GENERIC	25 Nov 2010 16:03:47 -0000
@@ -127,7 +127,6 @@ zyd*		at uhub?		# Zydas ZD1211
 url*		at uhub?		# Realtek RTL8150L based adapters
 wi*		at uhub?		# WaveLAN IEEE 802.11DS
 urio*		at uhub?		# Diamond Multimedia Rio 500
-uscanner*	at uhub?		# USB Scanners
 #uyap*		at uhub?		# Y@P firmware loader
 udsbr*		at uhub?		# D-Link DSB-R100 radio
 radio*		at udsbr?		# USB radio
Index: sys/arch/zaurus/conf/RAMDISK
===================================================================
RCS file: /cvs/src/sys/arch/zaurus/conf/RAMDISK,v
retrieving revision 1.41
diff -u -p -r1.41 RAMDISK
--- sys/arch/zaurus/conf/RAMDISK	3 Jul 2010 03:59:17 -0000	1.41
+++ sys/arch/zaurus/conf/RAMDISK	25 Nov 2010 16:03:47 -0000
@@ -89,7 +89,6 @@ ural*		at uhub?		# Ralink RT2500
 url*		at uhub?		# Realtek RTL8150L based adapters
 wi*		at uhub?		# WaveLAN IEEE 802.11DS
 upl*		at uhub?		# Prolific PL2301/PL2302 host-to-host
-#uscanner*	at uhub?		# USB Scanner driver
 #uyap*		at uhub?		# Y@P firmware loader
 #ugen*		at uhub?		# USB Generic driver
 umass*		at uhub?		# USB Mass Storage devices
Index: share/man/man4/uscanner.4
===================================================================
RCS file: share/man/man4/uscanner.4
diff -N share/man/man4/uscanner.4
--- share/man/man4/uscanner.4	26 Jun 2008 05:42:07 -0000	1.12
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,132 +0,0 @@
-.\" $OpenBSD: uscanner.4,v 1.12 2008/06/26 05:42:07 ray Exp $
-.\" $NetBSD: uscanner.4,v 1.4 2000/10/13 21:05:18 augustss Exp $
-.\"
-.\" Copyright (c) 2000 The NetBSD Foundation, Inc.
-.\" All rights reserved.
-.\"
-.\" This code is derived from software contributed to The NetBSD Foundation
-.\" by Lennart Augustsson.
-.\"
-.\" 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.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\"    notice, this list of conditions and the following disclaimer in the
-.\"    documentation and/or other materials provided with the distribution.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
-.\" ``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 THE FOUNDATION OR CONTRIBUTORS
-.\" 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.
-.\"
-.Dd $Mdocdate: June 26 2008 $
-.Dt USCANNER 4
-.Os
-.Sh NAME
-.Nm uscanner
-.Nd USB scanner support
-.Sh SYNOPSIS
-.Cd "uscanner* at uhub?"
-.Sh DESCRIPTION
-The
-.Nm
-driver provides minimal support for USB scanners.
-The driver recognizes a number of USB scanners, but to
-actually scan anything there needs to be software that knows
-about the particular scanner.
-The SANE package provides support for some scanners.
-.Pp
-For multifunction USB devices
-such as scanner/printer/card readers,
-this driver only attaches to the USB interface that controls the scanner.
-For the other USB interfaces
-separate drivers are needed,
-such as
-.Xr ulpt 4
-and
-.Xr umass 4 .
-.Sh HARDWARE
-The
-.Nm
-driver works with the following scanners:
-.Pp
-.Bl -bullet -compact -offset indent
-.It
-Acer: Acerscan 320U, 620U, 640U, C310U
-.It
-Agfa: SnapScan 1212U, 1236U, e20, e25, e26, e40, e50, e52, Touch
-.It
-Avision: 1200U
-.It
-Canon: CanoScan N656U, N670U, N1220U, N1240U
-.It
-Epson: GT-7000, GT-9700F
-.It
-Epson: Perfection 610U, 636U, 640U, 12xxU, 12xxU Photo, 16xxU,
-16xxU Photo, 1650, 2400
-.It
-Epson: Stylus DX38xx DX40xx DX50xx DX60xx (multifunction)
-.It
-HP: Photosmart S20
-.It
-HP: ScanJet 2200C, 3300C, 3400cse, 4100C, 4200C, 4300C, 5200C, 5300C,
-6200C, 6300C
-.It
-Kye: ColorPage Vivid-Pro
-.It
-Microtek: ScanMaker X6USB
-.It
-Mustek: 600, 600 CU, 1200, 1200 CU, 1200 UB, 1200 Plus, 1200 CU Plus,
-BearPaw 1200F
-.It
-National: BearPaw 1200, 2400
-.It
-Primax: Colorado 600u, 9600, 19200, 1200u
-.It
-Primax: G2-200, G2-300, G2-600, G2E-300, G2E-600
-.It
-Primax: ReadyScan 636i
-.It
-Primax: Visioneer 6200
-.It
-Ultima: 1200 UB Plus
-.It
-Umax: Astra 1220U, 1236U, 2000U, 2200U, 3400
-.It
-Visioneer: OneTouch 5300, 6100, 6200, 7600, 8100, 8600, 3000
-.El
-.Pp
-Many other scanners are recognized, but there is no software support
-for them yet.
-.Sh SEE ALSO
-.Xr intro 4 ,
-.Xr uhub 4 ,
-.Xr usb 4
-.Pp
-.Pa http://www.buzzard.org.uk/jonathan/scanners-usb.html
-.Sh HISTORY
-The
-.Nm
-driver appeared in
-.Nx 1.6 .
-.Ox
-support was first added in
-.Ox 2.9 .
-.Sh BUGS
-This driver should not really exist.
-The scanners it recognizes can be accessed through the
-.Xr ugen 4
-driver instead.
-A proper scanner driver would provide a uniform interface to scanners
-instead of exposing the innards of the scanner.
-The reason the driver exists is to have something that is compatible
-with the Linux driver.
Index: etc/MAKEDEV.common
===================================================================
RCS file: /cvs/src/etc/MAKEDEV.common,v
retrieving revision 1.53
diff -u -p -r1.53 MAKEDEV.common
--- etc/MAKEDEV.common	30 Sep 2010 15:27:54 -0000	1.53
+++ etc/MAKEDEV.common	25 Nov 2010 16:03:47 -0000
@@ -190,7 +190,6 @@ __devitem(ramdisk, ramdisk, Ramdisk kern
 dnl
 target(usb, usb, 0, 1, 2, 3, 4, 5, 6, 7)dnl
 target(usb, urio, 0)dnl
-twrget(usb, uscan, uscanner, 0)dnl
 target(usb, uhid, 0, 1, 2, 3)dnl
 target(usb, ulpt, 0, 1)dnl
 target(usb, ugen, 0, 1)dnl
@@ -408,8 +407,6 @@ _mkdev({-ttyU-}, {-ttyU[0-9a-zA-Z]-}, {-
 	M cuaU$U c major_ttyU_c Add($o, 128) 660 dialer uucp-})dnl
 __devitem(urio, urio*, Diamond Multimedia Rio 500)dnl
 _mcdev({-urio-}, urio*, {-urio-}, {-major_urio_c-}, 660)dnl
-__devitem(uscan, uscanner*, Scanners,uscanner)dnl
-_mcdev({-uscan-}, uscanner*, {-uscanner-}, {-major_uscan_c-}, 660)dnl
 __devitem(ugen, ugen*, Generic USB devices)dnl
 _mkdev(ugen, ugen*, {-n=Mult($U, 16)
 	for j in 0{0,1,2,3,4,5,6,7,8,9} 1{0,1,2,3,4,5}
Index: etc/etc.alpha/MAKEDEV
===================================================================
RCS file: /cvs/src/etc/etc.alpha/MAKEDEV,v
retrieving revision 1.165
diff -u -p -r1.165 MAKEDEV
--- etc/etc.alpha/MAKEDEV	19 Nov 2010 20:56:06 -0000	1.165
+++ etc/etc.alpha/MAKEDEV	25 Nov 2010 16:03:47 -0000
@@ -67,7 +67,6 @@
 #	ulpt*	Printer devices
 #	urio*	Diamond Multimedia Rio 500
 #	usb*	Bus control devices used by usbd for attach/detach
-#	uscanner*	Scanners
 # Special purpose devices:
 #	audio*	Audio devices
 #	bio	ioctl tunnel pseudo-device
@@ -374,10 +373,6 @@ audio*)
 	MKlist[${#MKlist[*]}]=";[ -e audioctl ] || ln -s audioctl$U audioctl"
 	;;
 
-uscanner*)
-	M uscanner$U c 66 $U 660
-	;;
-
 usb*)
 	[ "$i" = "usb" ] && u= || u=$U
 	M usb$u c 45 $U 660
@@ -405,8 +400,7 @@ ugen*)
 
 uall)
 	R ttyU0 ttyU1 ttyU2 ttyU3 ugen0 ugen1 ulpt0 ulpt1 uhid0 uhid1
-	R uhid2 uhid3 uscanner0 urio0 usb0 usb1 usb2 usb3 usb4 usb5
-	R usb6 usb7
+	R uhid2 uhid3 urio0 usb0 usb1 usb2 usb3 usb4 usb5 usb6 usb7
 	;;
 
 ttyU[0-9a-zA-Z])
Index: etc/etc.amd64/MAKEDEV
===================================================================
RCS file: /cvs/src/etc/etc.amd64/MAKEDEV,v
retrieving revision 1.72
diff -u -p -r1.72 MAKEDEV
--- etc/etc.amd64/MAKEDEV	30 Sep 2010 15:29:22 -0000	1.72
+++ etc/etc.amd64/MAKEDEV	25 Nov 2010 16:03:47 -0000
@@ -66,7 +66,6 @@
 #	ulpt*	Printer devices
 #	urio*	Diamond Multimedia Rio 500
 #	usb*	Bus control devices used by usbd for attach/detach
-#	uscanner*	Scanners
 # Special purpose devices:
 #	agp*	AGP bridge
 #	apm	Power Management Interface
@@ -405,10 +404,6 @@ agp*)
 	MKlist[${#MKlist[*]}]=";[ -e agpgart ] || ln -s agp$U agpgart"
 	;;
 
-uscanner*)
-	M uscanner$U c 77 $U 660
-	;;
-
 usb*)
 	[ "$i" = "usb" ] && u= || u=$U
 	M usb$u c 61 $U 660
@@ -436,8 +431,7 @@ ugen*)
 
 uall)
 	R ttyU0 ttyU1 ttyU2 ttyU3 ugen0 ugen1 ulpt0 ulpt1 uhid0 uhid1
-	R uhid2 uhid3 uscanner0 urio0 usb0 usb1 usb2 usb3 usb4 usb5
-	R usb6 usb7
+	R uhid2 uhid3 urio0 usb0 usb1 usb2 usb3 usb4 usb5 usb6 usb7
 	;;
 
 ttyU[0-9a-zA-Z])
Index: etc/etc.armish/MAKEDEV
===================================================================
RCS file: /cvs/src/etc/etc.armish/MAKEDEV,v
retrieving revision 1.34
diff -u -p -r1.34 MAKEDEV
--- etc/etc.armish/MAKEDEV	30 Sep 2010 15:29:22 -0000	1.34
+++ etc/etc.armish/MAKEDEV	25 Nov 2010 16:03:48 -0000
@@ -60,7 +60,6 @@
 #	ulpt*	Printer devices
 #	urio*	Diamond Multimedia Rio 500
 #	usb*	Bus control devices used by usbd for attach/detach
-#	uscanner*	Scanners
 # Special purpose devices:
 #	apm	Power management device
 #	audio*	Audio devices
@@ -357,10 +356,6 @@ apm*)
 	M apmctl	c 34 8 644
 	;;
 
-uscanner*)
-	M uscanner$U c 69 $U 660
-	;;
-
 usb*)
 	[ "$i" = "usb" ] && u= || u=$U
 	M usb$u c 64 $U 660
@@ -388,8 +383,7 @@ ugen*)
 
 uall)
 	R ttyU0 ttyU1 ttyU2 ttyU3 ugen0 ugen1 ulpt0 ulpt1 uhid0 uhid1
-	R uhid2 uhid3 uscanner0 urio0 usb0 usb1 usb2 usb3 usb4 usb5
-	R usb6 usb7
+	R uhid2 uhid3 urio0 usb0 usb1 usb2 usb3 usb4 usb5 usb6 usb7
 	;;
 
 ttyU[0-9a-zA-Z])
Index: etc/etc.hppa/MAKEDEV
===================================================================
RCS file: /cvs/src/etc/etc.hppa/MAKEDEV,v
retrieving revision 1.106
diff -u -p -r1.106 MAKEDEV
--- etc/etc.hppa/MAKEDEV	30 Sep 2010 15:29:22 -0000	1.106
+++ etc/etc.hppa/MAKEDEV	25 Nov 2010 16:03:48 -0000
@@ -63,7 +63,6 @@
 #	ulpt*	Printer devices
 #	urio*	Diamond Multimedia Rio 500
 #	ttyU*	USB serial ports
-#	uscanner*	Scanners
 # Special purpose devices:
 #	audio*	Audio devices
 #	bio	ioctl tunnel pseudo-device
@@ -322,10 +321,6 @@ audio*)
 	MKlist[${#MKlist[*]}]=";[ -e audioctl ] || ln -s audioctl$U audioctl"
 	;;
 
-uscanner*)
-	M uscanner$U c 46 $U 660
-	;;
-
 ttyU[0-9a-zA-Z])
 	U=${i#ttyU*}
 	o=$(alph2d $U)
@@ -360,8 +355,7 @@ usb*)
 
 uall)
 	R ttyU0 ttyU1 ttyU2 ttyU3 ugen0 ugen1 ulpt0 ulpt1 uhid0 uhid1
-	R uhid2 uhid3 uscanner0 urio0 usb0 usb1 usb2 usb3 usb4 usb5
-	R usb6 usb7
+	R uhid2 uhid3 urio0 usb0 usb1 usb2 usb3 usb4 usb5 usb6 usb7
 	;;
 
 lpt*|lpa*)
Index: etc/etc.hppa64/MAKEDEV
===================================================================
RCS file: /cvs/src/etc/etc.hppa64/MAKEDEV,v
retrieving revision 1.40
diff -u -p -r1.40 MAKEDEV
--- etc/etc.hppa64/MAKEDEV	19 Nov 2010 20:56:06 -0000	1.40
+++ etc/etc.hppa64/MAKEDEV	25 Nov 2010 16:03:48 -0000
@@ -63,7 +63,6 @@
 #	ulpt*	Printer devices
 #	urio*	Diamond Multimedia Rio 500
 #	ttyU*	USB serial ports
-#	uscanner*	Scanners
 # Special purpose devices:
 #	audio*	Audio devices
 #	bio	ioctl tunnel pseudo-device
@@ -312,10 +311,6 @@ audio*)
 	MKlist[${#MKlist[*]}]=";[ -e audioctl ] || ln -s audioctl$U audioctl"
 	;;
 
-uscanner*)
-	M uscanner$U c 46 $U 660
-	;;
-
 ttyU[0-9a-zA-Z])
 	U=${i#ttyU*}
 	o=$(alph2d $U)
@@ -350,8 +345,7 @@ usb*)
 
 uall)
 	R ttyU0 ttyU1 ttyU2 ttyU3 ugen0 ugen1 ulpt0 ulpt1 uhid0 uhid1
-	R uhid2 uhid3 uscanner0 urio0 usb0 usb1 usb2 usb3 usb4 usb5
-	R usb6 usb7
+	R uhid2 uhid3 urio0 usb0 usb1 usb2 usb3 usb4 usb5 usb6 usb7
 	;;
 
 lpt*|lpa*)
Index: etc/etc.i386/MAKEDEV
===================================================================
RCS file: /cvs/src/etc/etc.i386/MAKEDEV,v
retrieving revision 1.213
diff -u -p -r1.213 MAKEDEV
--- etc/etc.i386/MAKEDEV	30 Sep 2010 15:29:22 -0000	1.213
+++ etc/etc.i386/MAKEDEV	25 Nov 2010 16:03:48 -0000
@@ -67,7 +67,6 @@
 #	ulpt*	Printer devices
 #	urio*	Diamond Multimedia Rio 500
 #	usb*	Bus control devices used by usbd for attach/detach
-#	uscanner*	Scanners
 # Special purpose devices:
 #	agp*	AGP bridge
 #	amdmsr	AMD MSR access device
@@ -416,10 +415,6 @@ agp*)
 	MKlist[${#MKlist[*]}]=";[ -e agpgart ] || ln -s agp$U agpgart"
 	;;
 
-uscanner*)
-	M uscanner$U c 77 $U 660
-	;;
-
 usb*)
 	[ "$i" = "usb" ] && u= || u=$U
 	M usb$u c 61 $U 660
@@ -447,8 +442,7 @@ ugen*)
 
 uall)
 	R ttyU0 ttyU1 ttyU2 ttyU3 ugen0 ugen1 ulpt0 ulpt1 uhid0 uhid1
-	R uhid2 uhid3 uscanner0 urio0 usb0 usb1 usb2 usb3 usb4 usb5
-	R usb6 usb7
+	R uhid2 uhid3 urio0 usb0 usb1 usb2 usb3 usb4 usb5 usb6 usb7
 	;;
 
 ttyU[0-9a-zA-Z])
Index: etc/etc.landisk/MAKEDEV
===================================================================
RCS file: /cvs/src/etc/etc.landisk/MAKEDEV,v
retrieving revision 1.35
diff -u -p -r1.35 MAKEDEV
--- etc/etc.landisk/MAKEDEV	30 Sep 2010 15:29:22 -0000	1.35
+++ etc/etc.landisk/MAKEDEV	25 Nov 2010 16:03:48 -0000
@@ -60,7 +60,6 @@
 #	ulpt*	Printer devices
 #	urio*	Diamond Multimedia Rio 500
 #	usb*	Bus control devices used by usbd for attach/detach
-#	uscanner*	Scanners
 # Special purpose devices:
 #	audio*	Audio devices
 #	bio	ioctl tunnel pseudo-device
@@ -336,10 +335,6 @@ audio*)
 	MKlist[${#MKlist[*]}]=";[ -e audioctl ] || ln -s audioctl$U audioctl"
 	;;
 
-uscanner*)
-	M uscanner$U c 69 $U 660
-	;;
-
 usb*)
 	[ "$i" = "usb" ] && u= || u=$U
 	M usb$u c 64 $U 660
@@ -367,8 +362,7 @@ ugen*)
 
 uall)
 	R ttyU0 ttyU1 ttyU2 ttyU3 ugen0 ugen1 ulpt0 ulpt1 uhid0 uhid1
-	R uhid2 uhid3 uscanner0 urio0 usb0 usb1 usb2 usb3 usb4 usb5
-	R usb6 usb7
+	R uhid2 uhid3 urio0 usb0 usb1 usb2 usb3 usb4 usb5 usb6 usb7
 	;;
 
 ttyU[0-9a-zA-Z])
Index: etc/etc.loongson/MAKEDEV
===================================================================
RCS file: /cvs/src/etc/etc.loongson/MAKEDEV,v
retrieving revision 1.15
diff -u -p -r1.15 MAKEDEV
--- etc/etc.loongson/MAKEDEV	19 Nov 2010 20:56:06 -0000	1.15
+++ etc/etc.loongson/MAKEDEV	25 Nov 2010 16:03:48 -0000
@@ -60,7 +60,6 @@
 #	ulpt*	Printer devices
 #	urio*	Diamond Multimedia Rio 500
 #	usb*	Bus control devices used by usbd for attach/detach
-#	uscanner*	Scanners
 # Special purpose devices:
 #	apm	Power management device
 #	audio*	Audio devices
@@ -313,10 +312,6 @@ apm*)
 	M apmctl	c 14 8 644
 	;;
 
-uscanner*)
-	M uscanner$U c 72 $U 660
-	;;
-
 usb*)
 	[ "$i" = "usb" ] && u= || u=$U
 	M usb$u c 61 $U 660
@@ -344,8 +339,7 @@ ugen*)
 
 uall)
 	R ttyU0 ttyU1 ttyU2 ttyU3 ugen0 ugen1 ulpt0 ulpt1 uhid0 uhid1
-	R uhid2 uhid3 uscanner0 urio0 usb0 usb1 usb2 usb3 usb4 usb5
-	R usb6 usb7
+	R uhid2 uhid3 urio0 usb0 usb1 usb2 usb3 usb4 usb5 usb6 usb7
 	;;
 
 ttyU[0-9a-zA-Z])
Index: etc/etc.macppc/MAKEDEV
===================================================================
RCS file: /cvs/src/etc/etc.macppc/MAKEDEV,v
retrieving revision 1.107
diff -u -p -r1.107 MAKEDEV
--- etc/etc.macppc/MAKEDEV	30 Sep 2010 15:29:23 -0000	1.107
+++ etc/etc.macppc/MAKEDEV	25 Nov 2010 16:03:48 -0000
@@ -63,7 +63,6 @@
 #	ulpt*	Printer devices
 #	urio*	Diamond Multimedia Rio 500
 #	usb*	Bus control devices used by usbd for attach/detach
-#	uscanner*	Scanners
 # Special purpose devices:
 #	apm	Power management device
 #	audio*	Audio devices
@@ -350,10 +349,6 @@ apm*)
 	M apmctl	c 25 8 644
 	;;
 
-uscanner*)
-	M uscanner$U c 74 $U 660
-	;;
-
 usb*)
 	[ "$i" = "usb" ] && u= || u=$U
 	M usb$u c 61 $U 660
@@ -388,8 +383,7 @@ ttyU[0-9a-zA-Z])
 
 uall)
 	R ttyU0 ttyU1 ttyU2 ttyU3 ugen0 ugen1 ulpt0 ulpt1 uhid0 uhid1
-	R uhid2 uhid3 uscanner0 urio0 usb0 usb1 usb2 usb3 usb4 usb5
-	R usb6 usb7
+	R uhid2 uhid3 urio0 usb0 usb1 usb2 usb3 usb4 usb5 usb6 usb7
 	;;
 
 wsmouse[0-9]*)
Index: etc/etc.palm/MAKEDEV
===================================================================
RCS file: /cvs/src/etc/etc.palm/MAKEDEV,v
retrieving revision 1.13
diff -u -p -r1.13 MAKEDEV
--- etc/etc.palm/MAKEDEV	30 Sep 2010 15:29:23 -0000	1.13
+++ etc/etc.palm/MAKEDEV	25 Nov 2010 16:03:48 -0000
@@ -60,7 +60,6 @@
 #	ulpt*	Printer devices
 #	urio*	Diamond Multimedia Rio 500
 #	usb*	Bus control devices used by usbd for attach/detach
-#	uscanner*	Scanners
 # Special purpose devices:
 #	apm	Power management device
 #	audio*	Audio devices
@@ -346,10 +345,6 @@ apm*)
 	M apmctl	c 34 8 644
 	;;
 
-uscanner*)
-	M uscanner$U c 69 $U 660
-	;;
-
 usb*)
 	[ "$i" = "usb" ] && u= || u=$U
 	M usb$u c 64 $U 660
@@ -377,8 +372,7 @@ ugen*)
 
 uall)
 	R ttyU0 ttyU1 ttyU2 ttyU3 ugen0 ugen1 ulpt0 ulpt1 uhid0 uhid1
-	R uhid2 uhid3 uscanner0 urio0 usb0 usb1 usb2 usb3 usb4 usb5
-	R usb6 usb7
+	R uhid2 uhid3 urio0 usb0 usb1 usb2 usb3 usb4 usb5 usb6 usb7
 	;;
 
 ttyU[0-9a-zA-Z])
Index: etc/etc.sgi/MAKEDEV
===================================================================
RCS file: /cvs/src/etc/etc.sgi/MAKEDEV,v
retrieving revision 1.58
diff -u -p -r1.58 MAKEDEV
--- etc/etc.sgi/MAKEDEV	19 Nov 2010 20:56:07 -0000	1.58
+++ etc/etc.sgi/MAKEDEV	25 Nov 2010 16:03:48 -0000
@@ -60,7 +60,6 @@
 #	ulpt*	Printer devices
 #	urio*	Diamond Multimedia Rio 500
 #	usb*	Bus control devices used by usbd for attach/detach
-#	uscanner*	Scanners
 # Special purpose devices:
 #	audio*	Audio devices
 #	bio	ioctl tunnel pseudo-device
@@ -302,10 +301,6 @@ audio*)
 	MKlist[${#MKlist[*]}]=";[ -e audioctl ] || ln -s audioctl$U audioctl"
 	;;
 
-uscanner*)
-	M uscanner$U c 72 $U 660
-	;;
-
 usb*)
 	[ "$i" = "usb" ] && u= || u=$U
 	M usb$u c 61 $U 660
@@ -333,8 +328,7 @@ ugen*)
 
 uall)
 	R ttyU0 ttyU1 ttyU2 ttyU3 ugen0 ugen1 ulpt0 ulpt1 uhid0 uhid1
-	R uhid2 uhid3 uscanner0 urio0 usb0 usb1 usb2 usb3 usb4 usb5
-	R usb6 usb7
+	R uhid2 uhid3 urio0 usb0 usb1 usb2 usb3 usb4 usb5 usb6 usb7
 	;;
 
 ttyU[0-9a-zA-Z])
Index: etc/etc.socppc/MAKEDEV
===================================================================
RCS file: /cvs/src/etc/etc.socppc/MAKEDEV,v
retrieving revision 1.23
diff -u -p -r1.23 MAKEDEV
--- etc/etc.socppc/MAKEDEV	19 Nov 2010 20:56:07 -0000	1.23
+++ etc/etc.socppc/MAKEDEV	25 Nov 2010 16:03:49 -0000
@@ -61,7 +61,6 @@
 #	ulpt*	Printer devices
 #	urio*	Diamond Multimedia Rio 500
 #	usb*	Bus control devices used by usbd for attach/detach
-#	uscanner*	Scanners
 # Special purpose devices:
 #	bpf*	Berkeley Packet Filter
 #	bthub*	Bluetooth Hubs
@@ -282,10 +281,6 @@ bpf*)
 	M bpf$U c 22 $U 600
 	;;
 
-uscanner*)
-	M uscanner$U c 74 $U 660
-	;;
-
 usb*)
 	[ "$i" = "usb" ] && u= || u=$U
 	M usb$u c 61 $U 660
@@ -320,8 +315,7 @@ ttyU[0-9a-zA-Z])
 
 uall)
 	R ttyU0 ttyU1 ttyU2 ttyU3 ugen0 ugen1 ulpt0 ulpt1 uhid0 uhid1
-	R uhid2 uhid3 uscanner0 urio0 usb0 usb1 usb2 usb3 usb4 usb5
-	R usb6 usb7
+	R uhid2 uhid3 urio0 usb0 usb1 usb2 usb3 usb4 usb5 usb6 usb7
 	;;
 
 wsmouse[0-9]*)
Index: etc/etc.sparc64/MAKEDEV
===================================================================
RCS file: /cvs/src/etc/etc.sparc64/MAKEDEV,v
retrieving revision 1.148
diff -u -p -r1.148 MAKEDEV
--- etc/etc.sparc64/MAKEDEV	8 Oct 2010 18:22:19 -0000	1.148
+++ etc/etc.sparc64/MAKEDEV	25 Nov 2010 16:03:49 -0000
@@ -75,7 +75,6 @@
 #	ulpt*	Printer devices
 #	urio*	Diamond Multimedia Rio 500
 #	usb*	Bus control devices used by usbd for attach/detach
-#	uscanner*	Scanners
 # Special purpose devices:
 #	audio*	Audio devices
 #	bio	ioctl tunnel pseudo-device
@@ -349,10 +348,6 @@ audio*)
 	MKlist[${#MKlist[*]}]=";[ -e audioctl ] || ln -s audioctl$U audioctl"
 	;;
 
-uscanner*)
-	M uscanner$U c 96 $U 660
-	;;
-
 usb*)
 	[ "$i" = "usb" ] && u= || u=$U
 	M usb$u c 90 $U 660
@@ -380,8 +375,7 @@ ugen*)
 
 uall)
 	R ttyU0 ttyU1 ttyU2 ttyU3 ugen0 ugen1 ulpt0 ulpt1 uhid0 uhid1
-	R uhid2 uhid3 uscanner0 urio0 usb0 usb1 usb2 usb3 usb4 usb5
-	R usb6 usb7
+	R uhid2 uhid3 urio0 usb0 usb1 usb2 usb3 usb4 usb5 usb6 usb7
 	;;
 
 ttyU[0-9a-zA-Z])
Index: etc/etc.zaurus/MAKEDEV
===================================================================
RCS file: /cvs/src/etc/etc.zaurus/MAKEDEV,v
retrieving revision 1.52
diff -u -p -r1.52 MAKEDEV
--- etc/etc.zaurus/MAKEDEV	30 Sep 2010 15:29:23 -0000	1.52
+++ etc/etc.zaurus/MAKEDEV	25 Nov 2010 16:03:49 -0000
@@ -60,7 +60,6 @@
 #	ulpt*	Printer devices
 #	urio*	Diamond Multimedia Rio 500
 #	usb*	Bus control devices used by usbd for attach/detach
-#	uscanner*	Scanners
 # Special purpose devices:
 #	apm	Power management device
 #	audio*	Audio devices
@@ -346,10 +345,6 @@ apm*)
 	M apmctl	c 34 8 644
 	;;
 
-uscanner*)
-	M uscanner$U c 69 $U 660
-	;;
-
 usb*)
 	[ "$i" = "usb" ] && u= || u=$U
 	M usb$u c 64 $U 660
@@ -377,8 +372,7 @@ ugen*)
 
 uall)
 	R ttyU0 ttyU1 ttyU2 ttyU3 ugen0 ugen1 ulpt0 ulpt1 uhid0 uhid1
-	R uhid2 uhid3 uscanner0 urio0 usb0 usb1 usb2 usb3 usb4 usb5
-	R usb6 usb7
+	R uhid2 uhid3 urio0 usb0 usb1 usb2 usb3 usb4 usb5 usb6 usb7
 	;;
 
 ttyU[0-9a-zA-Z])
