remove urio(4), a driver for the Rio500 MP3 player.

At this point it is highly unlikely this 1999 device still has users,
but it still comes up in the context of maxv's USB-fuzzing (and any device
could pretend to be a urio(4)), so it's best to get rid of it.

Renamed all major entries to obsolete, as was done in previous removals.

This still requires an update to sanitizers, but they're located in
"external", perhaps it should be first committed upstream?

Proposed on tech-kern a month ago.
This commit is contained in:
maya 2020-01-29 18:39:00 +00:00
parent fb0af629d1
commit 5e031685d6
59 changed files with 94 additions and 866 deletions

View File

@ -1,4 +1,4 @@
# $NetBSD: mi,v 1.2306 2020/01/29 03:17:34 thorpej Exp $
# $NetBSD: mi,v 1.2307 2020/01/29 18:39:04 maya Exp $
#
# Note: don't delete entries from here - mark them as "obsolete" instead.
./etc/mtree/set.comp comp-sys-root
@ -740,7 +740,7 @@
./usr/include/dev/usb/if_umbreg.h comp-c-include
./usr/include/dev/usb/mbim.h comp-c-include
./usr/include/dev/usb/ukyopon.h comp-c-include
./usr/include/dev/usb/urio.h comp-c-include
./usr/include/dev/usb/urio.h comp-obsolete obsolete
./usr/include/dev/usb/usb.h comp-c-include
./usr/include/dev/usb/usbcdc.h comp-obsolete obsolete
./usr/include/dev/usb/usbdevs.h comp-obsolete obsolete

View File

@ -1,4 +1,4 @@
# $NetBSD: mi,v 1.1677 2020/01/22 14:01:50 thorpej Exp $
# $NetBSD: mi,v 1.1678 2020/01/29 18:39:04 maya Exp $
#
# Note: don't delete entries from here - mark them as "obsolete" instead.
#
@ -1906,7 +1906,7 @@
./usr/share/man/cat4/uplcom.0 man-sys-catman .cat
./usr/share/man/cat4/urandom.0 man-sys-catman .cat
./usr/share/man/cat4/ure.0 man-sys-catman .cat
./usr/share/man/cat4/urio.0 man-sys-catman .cat
./usr/share/man/cat4/urio.0 man-obsolete obsolete
./usr/share/man/cat4/url.0 man-sys-catman .cat
./usr/share/man/cat4/urlphy.0 man-sys-catman .cat
./usr/share/man/cat4/urndis.0 man-sys-catman .cat
@ -5015,7 +5015,7 @@
./usr/share/man/html4/uplcom.html man-sys-htmlman html
./usr/share/man/html4/urandom.html man-sys-htmlman html
./usr/share/man/html4/ure.html man-sys-htmlman html
./usr/share/man/html4/urio.html man-sys-htmlman html
./usr/share/man/html4/urio.html man-obsolete obsolete
./usr/share/man/html4/url.html man-sys-htmlman html
./usr/share/man/html4/urlphy.html man-sys-htmlman html
./usr/share/man/html4/urndis.html man-sys-htmlman html
@ -8048,7 +8048,7 @@
./usr/share/man/man4/uplcom.4 man-sys-man .man
./usr/share/man/man4/urandom.4 man-sys-man .man
./usr/share/man/man4/ure.4 man-sys-man .man
./usr/share/man/man4/urio.4 man-sys-man .man
./usr/share/man/man4/urio.4 man-obsolete obsolete
./usr/share/man/man4/url.4 man-sys-man .man
./usr/share/man/man4/urlphy.4 man-sys-man .man
./usr/share/man/man4/urndis.4 man-sys-man .man

View File

@ -1,5 +1,5 @@
#!/bin/sh -
# $NetBSD: MAKEDEV.tmpl,v 1.213 2020/01/19 20:41:18 riastradh Exp $
# $NetBSD: MAKEDEV.tmpl,v 1.214 2020/01/29 18:39:05 maya Exp $
#
# Copyright (c) 2003,2007,2008 The NetBSD Foundation, Inc.
# All rights reserved.
@ -180,7 +180,6 @@
# uhid* USB generic HID devices
# ulpt* USB printer devices
# ugen* USB generic devices
# urio* USB Diamond Rio 500 devices
# uscanner* USB scanners
# ttyHS* USB Option N.V. modems
# ttyU* USB modems
@ -923,7 +922,6 @@ usbs)
makedev ttyU0 ttyU1 ttyU2 ttyU3 ttyU4 ttyU5 ttyU6 ttyU7
makedev ttyY0 ttyY1
makedev ttyHS0
makedev urio0
makedev uscanner0 uscanner1
makedev utoppy0 utoppy1
makedev ugen0 ugen1 ugen2 ugen3
@ -971,11 +969,6 @@ ulpt[0-9]*)
mkdev ulpn$unit c %ulpt_chr% $(($unit + 64))
;;
urio[0-9]*)
unit=${i#urio}
mkdev urio$unit c %urio_chr% $unit 666
;;
uscanner[0-9]*)
unit=${i#uscanner}
mkdev uscanner$unit c %uscanner_chr% $unit

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile,v 1.700 2020/01/22 14:01:50 thorpej Exp $
# $NetBSD: Makefile,v 1.701 2020/01/29 18:39:04 maya Exp $
# @(#)Makefile 8.1 (Berkeley) 6/18/93
MAN= aac.4 ac97.4 acardide.4 aceride.4 acphy.4 \
@ -85,7 +85,7 @@ MAN+= atu.4 aubtfwl.4 aue.4 axe.4 axen.4 cdce.4 cue.4 ehci.4 kue.4 \
ucom.4 ucycom.4 udav.4 udsbr.4 uftdi.4 ugen.4 ugensa.4 uhci.4 uhid.4 \
uhidev.4 uhmodem.4 uhso.4 uipad.4 uipaq.4 uirda.4 ukbd.4 ukyopon.4 \
ulpt.4 umass.4 umcs.4 umct.4 umidi.4 umodem.4 ums.4 upgt.4 upl.4 \
uplcom.4 ure.4 urio.4 url.4 urndis.4 urtw.4 urtwn.4 \
uplcom.4 ure.4 url.4 urndis.4 urtw.4 urtwn.4 \
usb.4 usbnet.4 uscanner.4 uslsa.4 usmsc.4 usscanner.4 \
ustir.4 uthum.4 utoppy.4 uts.4 uvideo.4 uvisor.4 uvscom.4 uyap.4 \
xhci.4 \

View File

@ -1,70 +0,0 @@
.\" $NetBSD: urio.4,v 1.9 2012/03/13 19:25:42 njoly 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 March 6, 2000
.Dt URIO 4
.Os
.Sh NAME
.Nm urio
.Nd USB driver for the Diamond Multimedia Rio500 MP3 player
.Sh SYNOPSIS
.Cd "urio* at uhub?"
.Sh DESCRIPTION
The
.Nm
driver provides support for Rio500 MP3 player from Diamond MultiMedia.
.Pp
The driver implements minimal support to access the device and requires
a user application for up and downloading music.
.Sh FILES
.Bl -tag -width /dev/urio0 -compact
.It Pa /dev/urio0
device node
.El
.Sh EXAMPLES
Using the Rio500 package from sourceforge the command
.Pp
.Dl rio_add_song 01_BlinkarBla.mp3
.Pp
will download a song over the
.Tn USB
connection into your Rio500.
.Sh SEE ALSO
.Xr usb 4
.Pp
.Lk http://rio500.sourceforge.net/ "Rio500 project"
.Sh HISTORY
The
.Nm
driver
appeared in
.Nx 1.5 .
This driver is based on a
.Fx
Rio driver written by Iwasa Kazmi.

View File

@ -1,4 +1,4 @@
.\" $NetBSD: usb.4,v 1.110 2018/09/18 05:37:54 mrg Exp $
.\" $NetBSD: usb.4,v 1.111 2020/01/29 18:39:04 maya Exp $
.\"
.\" Copyright (c) 1999-2014 The NetBSD Foundation, Inc.
.\" All rights reserved.
@ -27,7 +27,7 @@
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
.\" POSSIBILITY OF SUCH DAMAGE.
.\"
.Dd September 30, 2017
.Dd January 29, 2020
.Dt USB 4
.Os
.Sh NAME
@ -170,8 +170,6 @@ SUNTAC Slipper U VS-10U USB serial adapter
USB audio devices
.It Xr umidi 4
USB MIDI devices
.It Xr urio 4
Diamond Multimedia Rio MP3 players
.El
.Ss Radio receiver devices
.Bl -tag -width 12n -offset ind -compact

View File

@ -6,7 +6,7 @@
.\" *** DO NOT EDIT - any changes will be lost!!!
.\" *** ------------------------------------------------------------------
.\"
.\" $NetBSD: MAKEDEV.8,v 1.55 2019/09/15 15:15:02 maxv Exp $
.\" $NetBSD: MAKEDEV.8,v 1.56 2020/01/29 18:39:05 maya Exp $
.\"
.\" Copyright (c) 2001, 2003, 2007, 2008 The NetBSD Foundation, Inc.
.\" All rights reserved.
@ -35,7 +35,7 @@
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
.\" POSSIBILITY OF SUCH DAMAGE.
.\"
.Dd September 15, 2019
.Dd January 29, 2020
.Dt MAKEDEV 8
.Os
.Sh NAME
@ -575,9 +575,6 @@ USB printer devices, see
. It Ar ugen#
USB generic devices, see
.Xr \&ugen 4
. It Ar urio#
USB Diamond Rio 500 devices, see
.Xr \&urio 4
. It Ar uscanner#
USB scanners, see
.Xr \&uscanner 4

View File

@ -1,4 +1,4 @@
# $NetBSD: majors.aarch64,v 1.4 2019/01/28 02:28:56 dholland Exp $
# $NetBSD: majors.aarch64,v 1.5 2020/01/29 18:39:00 maya Exp $
#
# Device majors for arm32
#
@ -68,7 +68,7 @@ device-major raid char 71 block 71 raid
device-major ugen char 72 ugen
device-major wsmux char 73 wsmux
device-major ucom char 74 ucom
device-major urio char 75 urio
#device-major obsolete char 75 obsolete (urio)
device-major uscanner char 76 uscanner
device-major openfirm char 77 openfirm
device-major biconsdev char 78 biconsdev

View File

@ -1,4 +1,4 @@
# $NetBSD: majors.algor,v 1.27 2019/01/28 02:28:56 dholland Exp $
# $NetBSD: majors.algor,v 1.28 2020/01/29 18:39:00 maya Exp $
#
# Device majors for algor
#
@ -59,7 +59,7 @@ device-major ses char 58 ses
device-major ld char 59 block 17 ld
device-major cy char 60 cy
device-major cz char 61 cz
device-major urio char 62 urio
#device-major obsolete char 62 obsolete (urio)
device-major uscanner char 63 uscanner
device-major altq char 64 altq
device-major mlx char 65 mlx

View File

@ -1,4 +1,4 @@
# $NetBSD: majors.alpha,v 1.34 2019/01/28 02:28:56 dholland Exp $
# $NetBSD: majors.alpha,v 1.35 2020/01/29 18:39:00 maya Exp $
#
# Device majors for alpha
#
@ -60,7 +60,7 @@ device-major ses char 58 ses
device-major ld char 59 block 17 ld
device-major cy char 60 cy
device-major cz char 61 cz
device-major urio char 62 urio
#device-major obsolete char 62 obsolete (urio)
device-major uscanner char 63 uscanner
device-major altq char 64 altq
device-major mlx char 65 mlx

View File

@ -1,4 +1,4 @@
# $NetBSD: ALL,v 1.142 2020/01/25 18:38:34 thorpej Exp $
# $NetBSD: ALL,v 1.143 2020/01/29 18:39:00 maya Exp $
# From NetBSD: GENERIC,v 1.787 2006/10/01 18:37:54 bouyer Exp
#
# ALL machine description file
@ -17,7 +17,7 @@ include "arch/amd64/conf/std.amd64"
options INCLUDE_CONFIG_FILE # embed config file in kernel binary
#ident "ALL-$Revision: 1.142 $"
#ident "ALL-$Revision: 1.143 $"
maxusers 64 # estimated number of users
@ -1304,9 +1304,6 @@ uberry* at uhub? port ?
# Apple iPad
uipad* at uhub? port ?
# Diamond Multimedia Rio 500
urio* at uhub? port ?
# USB Handspring Visor
uvisor* at uhub? port ?
ucom* at uvisor?

View File

@ -1,4 +1,4 @@
# $NetBSD: XEN3_DOM0,v 1.173 2020/01/25 18:38:34 thorpej Exp $
# $NetBSD: XEN3_DOM0,v 1.174 2020/01/29 18:39:00 maya Exp $
include "arch/amd64/conf/std.xen"
@ -11,7 +11,7 @@ options INCLUDE_CONFIG_FILE # embed config file in kernel binary
#options UVMHIST_PRINT
#options SYSCALL_DEBUG
#ident "XEN3_DOM0-$Revision: 1.173 $"
#ident "XEN3_DOM0-$Revision: 1.174 $"
maxusers 32 # estimated number of users
@ -666,9 +666,6 @@ ucom* at uplcom? portno ?
uvscom* at uhub? port ? # SUNTAC Slipper U VS-10U serial adapter
ucom* at uvscom? portno ?
# Diamond Multimedia Rio 500
urio* at uhub? port ?
# USB Handspring Visor
uvisor* at uhub? port ?
ucom* at uvisor?

View File

@ -1,4 +1,4 @@
# $NetBSD: majors.amd64,v 1.32 2019/01/28 02:28:56 dholland Exp $
# $NetBSD: majors.amd64,v 1.33 2020/01/29 18:39:00 maya Exp $
#
# Device majors for amd64
#
@ -64,7 +64,7 @@ device-major ucom char 66 ucom
device-major sysmon char 67 sysmon
device-major ld char 69 block 19 ld
device-major urio char 70 urio
#device-major obsolete char 70 obsolete (urio)
device-major bktr char 71 bktr
device-major cz char 73 cz

View File

@ -1,4 +1,4 @@
# $NetBSD: majors.arm32,v 1.39 2019/01/28 02:28:57 dholland Exp $
# $NetBSD: majors.arm32,v 1.40 2020/01/29 18:39:01 maya Exp $
#
# Device majors for arm32
#
@ -71,7 +71,7 @@ device-major raid char 71 block 71 raid
device-major ugen char 72 ugen
device-major wsmux char 73 wsmux
device-major ucom char 74 ucom
device-major urio char 75 urio
#device-major obsolete char 75 obsolete (urio)
device-major uscanner char 76 uscanner
device-major openfirm char 77 openfirm
device-major biconsdev char 78 biconsdev

View File

@ -1,4 +1,4 @@
# $NetBSD: GENERIC,v 1.177 2020/01/25 18:38:35 thorpej Exp $
# $NetBSD: GENERIC,v 1.178 2020/01/29 18:39:01 maya Exp $
#
# GENERIC machine description file
#
@ -396,9 +396,6 @@ ucom* at uplcom? portno ?
umct* at uhub? port ? # MCT USB-RS232 serial adapter
ucom* at umct? portno ?
# Diamond Multimedia Rio 500
urio* at uhub? port ?
# USB Handspring Visor
uvisor* at uhub? port ?
ucom* at uvisor?

View File

@ -1,4 +1,4 @@
# $NetBSD: majors.cobalt,v 1.32 2019/01/28 02:28:57 dholland Exp $
# $NetBSD: majors.cobalt,v 1.33 2020/01/29 18:39:01 maya Exp $
#
# Device majors for cobalt
#
@ -48,7 +48,7 @@ device-major uhid char 41 uhid
device-major ulpt char 42 ulpt
device-major ugen char 43 ugen
device-major ucom char 44 ucom
device-major urio char 45 urio
#device-major obsolete char 45 obsolete (urio)
device-major uscanner char 46 uscanner
device-major audio char 47 audio
device-major midi char 48 midi

View File

@ -1,4 +1,4 @@
# $NetBSD: majors.epoc32,v 1.4 2019/01/28 02:28:57 dholland Exp $
# $NetBSD: majors.epoc32,v 1.5 2020/01/29 18:39:01 maya Exp $
#
# Device majors for epoc32
#
@ -68,7 +68,7 @@ device-major raid char 71 block 71 raid
device-major ugen char 72 ugen
device-major wsmux char 73 wsmux
device-major ucom char 74 ucom
device-major urio char 75 urio
#device-major obsolete char 75 obsolete (urio)
device-major uscanner char 76 uscanner
device-major openfirm char 77 openfirm
device-major biconsdev char 78 biconsdev

View File

@ -1,4 +1,4 @@
# $NetBSD: HDL_G,v 1.58 2020/01/19 01:25:04 thorpej Exp $
# $NetBSD: HDL_G,v 1.59 2020/01/29 18:39:01 maya Exp $
#
# HDL_G -- I-O DATA HDL-G Kernel
#
@ -326,9 +326,6 @@ ucom* at uplcom? portno ?
uvscom* at uhub? port ? # SUNTAC Slipper U VS-10U serial adapter
ucom* at uvscom? portno ?
# Diamond Multimedia Rio 500
urio* at uhub? port ?
# USB Handspring Visor
uvisor* at uhub? port ?
ucom* at uvisor?

View File

@ -1,4 +1,4 @@
# $NetBSD: HPT5325,v 1.43 2020/01/19 01:25:04 thorpej Exp $
# $NetBSD: HPT5325,v 1.44 2020/01/29 18:39:01 maya Exp $
#
# This configuration supports for HP T5325 Thin Client
#
@ -345,9 +345,6 @@ ucom* at uvscom? portno ?
# RIM BlackBerry
#uberry* at uhub? port ?
# Diamond Multimedia Rio 500
#urio* at uhub? port ?
# USB Handspring Visor
uvisor* at uhub? port ?
ucom* at uvisor?

View File

@ -1,4 +1,4 @@
# $NetBSD: MINI2440,v 1.27 2020/01/19 01:25:04 thorpej Exp $
# $NetBSD: MINI2440,v 1.28 2020/01/29 18:39:01 maya Exp $
#
# MINI2440 -- Friendly ARM evaluation board based on Samsung S3C2440
#
@ -320,9 +320,6 @@ umass* at uhub? port ? configuration ? interface ?
#uvscom* at uhub? port ? # SUNTAC Slipper U VS-10U serial adapter
#ucom* at uvscom? portno ?
# Diamond Multimedia Rio 500
#urio* at uhub? port ?
# USB Handspring Visor
#uvisor* at uhub? port ?
#ucom* at uvisor?

View File

@ -1,4 +1,4 @@
# $NetBSD: MMNET_GENERIC,v 1.47 2020/01/19 01:25:04 thorpej Exp $
# $NetBSD: MMNET_GENERIC,v 1.48 2020/01/29 18:39:01 maya Exp $
#
# GENERIC machine description file
#
@ -22,7 +22,7 @@ include "arch/evbarm/conf/std.mmnet"
options INCLUDE_CONFIG_FILE # embed config file in kernel binary
#ident "GENERIC-$Revision: 1.47 $"
#ident "GENERIC-$Revision: 1.48 $"
maxusers 32 # estimated number of users
@ -446,9 +446,6 @@ ucom* at uplcom? portno ?
uvscom* at uhub? port ? # SUNTAC Slipper U VS-10U serial adapter
ucom* at uvscom? portno ?
# Diamond Multimedia Rio 500
#urio* at uhub? port ?
# USB Handspring Visor
#uvisor* at uhub? port ?
#ucom* at uvisor?

View File

@ -1,4 +1,4 @@
# $NetBSD: MPCSA_GENERIC,v 1.69 2020/01/19 20:00:37 thorpej Exp $
# $NetBSD: MPCSA_GENERIC,v 1.70 2020/01/29 18:39:01 maya Exp $
#
# GENERIC machine description file
#
@ -22,7 +22,7 @@ include "arch/evbarm/conf/std.mpcsa"
options INCLUDE_CONFIG_FILE # embed config file in kernel binary
#ident "GENERIC-$Revision: 1.69 $"
#ident "GENERIC-$Revision: 1.70 $"
maxusers 32 # estimated number of users
@ -506,9 +506,6 @@ ucom* at uplcom? portno ?
uvscom* at uhub? port ? # SUNTAC Slipper U VS-10U serial adapter
ucom* at uvscom? portno ?
# Diamond Multimedia Rio 500
#urio* at uhub? port ?
# USB Handspring Visor
#uvisor* at uhub? port ?
#ucom* at uvisor?

View File

@ -9,7 +9,6 @@ no options DEBUG
no uaudio*
#no umidi*
no uberry*
no urio*
no uvisor*
no ukyopon*
#no uscanner*

View File

@ -1,4 +1,4 @@
# $NetBSD: SHEEVAPLUG,v 1.65 2020/01/19 01:25:04 thorpej Exp $
# $NetBSD: SHEEVAPLUG,v 1.66 2020/01/29 18:39:01 maya Exp $
#
# This configuration supports for generically Marvell SheevaPlug
#
@ -343,9 +343,6 @@ ucom* at uvscom? portno ?
# RIM BlackBerry
uberry* at uhub? port ?
# Diamond Multimedia Rio 500
urio* at uhub? port ?
# USB Handspring Visor
uvisor* at uhub? port ?
ucom* at uvisor?

View File

@ -1,4 +1,4 @@
# $NetBSD: SMDK2410,v 1.72 2020/01/19 01:25:04 thorpej Exp $
# $NetBSD: SMDK2410,v 1.73 2020/01/29 18:39:01 maya Exp $
#
# SMDK2410 -- Samsung's S3C2410 evaluation board.
#
@ -295,9 +295,6 @@ ucom* at uplcom? portno ?
uvscom* at uhub? port ? # SUNTAC Slipper U VS-10U serial adapter
ucom* at uvscom? portno ?
# Diamond Multimedia Rio 500
urio* at uhub? port ?
# USB Handspring Visor
uvisor* at uhub? port ?
ucom* at uvisor?

View File

@ -1,4 +1,4 @@
# $NetBSD: TS7200,v 1.73 2019/02/06 11:58:31 rin Exp $
# $NetBSD: TS7200,v 1.74 2020/01/29 18:39:01 maya Exp $
#
# TS7200 - Kernel for Technologic Systems TS7200 ARM hardware
#
@ -356,9 +356,6 @@ uhub* at uhub? port ?
#ucom* at uvscom? portno ?
#atu* at uhub? port ? # Atmel AT76C50XX 802.11b adapter
# Diamond Multimedia Rio 500
# urio* at uhub? port ?
# USB Handspring Visor
# uvisor* at uhub? port ?
# ucom* at uvisor?

View File

@ -1,4 +1,4 @@
# $NetBSD: TWINTAIL,v 1.77 2020/01/19 20:00:37 thorpej Exp $
# $NetBSD: TWINTAIL,v 1.78 2020/01/29 18:39:01 maya Exp $
#
# TWINTAIL -- Genetec corp. G4255EB-X002 Evaluation Board Kernel
#
@ -258,9 +258,6 @@ opio0 at obio? intr 2
#uvscom* at uhub? port ? # SUNTAC Slipper U VS-10U serial adapter
#ucom* at uvscom? portno ?
# Diamond Multimedia Rio 500
#urio* at uhub? port ?
# USB Handspring Visor
#uvisor* at uhub? port ?
#ucom* at uvisor?

View File

@ -1,4 +1,4 @@
# $NetBSD: majors.evbmips,v 1.34 2019/01/28 02:28:58 dholland Exp $
# $NetBSD: majors.evbmips,v 1.35 2020/01/29 18:39:01 maya Exp $
#
# Device majors for evbmips
#
@ -62,7 +62,7 @@ device-major ses char 58 ses
device-major ld char 59 block 17 ld
device-major cy char 60 cy
device-major cz char 61 cz
device-major urio char 62 urio
#device-major obsolete char 62 obsolete (urio)
device-major uscanner char 63 uscanner
device-major altq char 64 altq
device-major mlx char 65 mlx

View File

@ -1,4 +1,4 @@
# $NetBSD: OPENBLOCKS266_OPT,v 1.28 2020/01/19 20:00:37 thorpej Exp $
# $NetBSD: OPENBLOCKS266_OPT,v 1.29 2020/01/29 18:39:01 maya Exp $
#
include "arch/evbppc/conf/OPENBLOCKS266"
@ -256,9 +256,6 @@ ucom* at uvscom? portno ?
# RIM BlackBerry
uberry* at uhub? port ?
# Diamond Multimedia Rio 500
urio* at uhub? port ?
# USB Handspring Visor
uvisor* at uhub? port ?
ucom* at uvisor?

View File

@ -1,4 +1,4 @@
# $NetBSD: PMPPC,v 1.53 2020/01/25 18:38:35 thorpej Exp $
# $NetBSD: PMPPC,v 1.54 2020/01/29 18:39:01 maya Exp $
#
# PMPPC
#
@ -366,9 +366,6 @@ ucom* at uplcom? portno ?
uvscom* at uhub? port ? # SUNTAC Slipper U VS-10U serial adapter
ucom* at uvscom? portno ?
# Diamond Multimedia Rio 500
urio* at uhub? port ?
# USB Handspring Visor
uvisor* at uhub? port ?
ucom* at uvisor?

View File

@ -1,4 +1,4 @@
# $NetBSD: majors.evbppc,v 1.34 2019/01/28 02:28:58 dholland Exp $
# $NetBSD: majors.evbppc,v 1.35 2020/01/29 18:39:01 maya Exp $
#
# Device majors for evbppc
# (When possible, make entries the same as macppc)
@ -53,7 +53,7 @@ device-major cy char 47 cy
device-major audio char 48 audio
device-major midi char 49 midi
device-major sequencer char 50 sequencer
device-major urio char 51 urio
#device-major obsolete char 51 obsolete (urio)
device-major uscanner char 52 uscanner
# char 53
#device-major obsolete char 54 obsolete (isdn)

View File

@ -1,4 +1,4 @@
# $NetBSD: majors.hpcarm,v 1.15 2019/01/28 02:28:58 dholland Exp $
# $NetBSD: majors.hpcarm,v 1.16 2020/01/29 18:39:02 maya Exp $
#
# Device majors for hpcarm
#
@ -69,7 +69,7 @@ device-major raid char 71 block 71 raid
device-major ugen char 72 ugen
device-major wsmux char 73 wsmux
device-major ucom char 74 ucom
device-major urio char 75 urio
#device-major obsolete char 75 obsolete (urio)
device-major uscanner char 76 uscanner
device-major openfirm char 77 openfirm
device-major biconsdev char 78 biconsdev

View File

@ -1,4 +1,4 @@
# $NetBSD: GENERIC,v 1.240 2019/04/26 21:40:30 sevan Exp $
# $NetBSD: GENERIC,v 1.241 2020/01/29 18:39:02 maya Exp $
#
# GENERIC machine description file
#
@ -24,7 +24,7 @@ include "arch/hpcmips/conf/std.hpcmips.tx39"
options INCLUDE_CONFIG_FILE # embed config file in kernel binary
#ident "GENERIC-$Revision: 1.240 $"
#ident "GENERIC-$Revision: 1.241 $"
maxusers 16
@ -624,9 +624,6 @@ ucom* at uplcom? portno ?
umct* at uhub? port ? # MCT USB-RS232 serial adapter
ucom* at umct? portno ?
# Diamond Multimedia Rio 500
urio* at uhub? port ?
# USB Handspring Visor
uvisor* at uhub? port ?
ucom* at uvisor?

View File

@ -1,4 +1,4 @@
# $NetBSD: VR41XX,v 1.73 2019/04/13 08:22:59 isaki Exp $
# $NetBSD: VR41XX,v 1.74 2020/01/29 18:39:02 maya Exp $
#
# GENERIC machine description file
#
@ -20,7 +20,7 @@
include "arch/hpcmips/conf/std.hpcmips"
include "arch/hpcmips/conf/std.hpcmips.vr41"
#ident "GENERIC-$Revision: 1.73 $"
#ident "GENERIC-$Revision: 1.74 $"
#options INCLUDE_CONFIG_FILE # embed config file in kernel binary
@ -488,9 +488,6 @@ ucom* at uplcom? portno ?
umct* at uhub? port ? # MCT USB-RS232 serial adapter
ucom* at umct? portno ?
# Diamond Multimedia Rio 500
urio* at uhub? port ?
# USB Handspring Visor
uvisor* at uhub? port ?
ucom* at uvisor?

View File

@ -1,4 +1,4 @@
# $NetBSD: majors.hpcmips,v 1.33 2019/01/28 02:28:58 dholland Exp $
# $NetBSD: majors.hpcmips,v 1.34 2020/01/29 18:39:02 maya Exp $
#
# Device majors for hpcmips
#
@ -42,7 +42,7 @@ device-major txcom char 35 txcom
device-major ucbsnd char 36 ucbsnd
device-major ucom char 37 ucom
device-major wsmux char 38 wsmux
device-major urio char 39 urio
#device-major obsolete char 39 obsolete (urio)
device-major uscanner char 40 uscanner
#device-major obsolete char 41 obsolete (isdn)
#device-major obsolete char 42 obsolete (isdnctl)

View File

@ -1,4 +1,4 @@
# $NetBSD: GENERIC,v 1.31 2020/01/25 18:38:36 thorpej Exp $
# $NetBSD: GENERIC,v 1.32 2020/01/29 18:39:02 maya Exp $
#
# GENERIC machine description file
#
@ -23,7 +23,7 @@ include "arch/hppa/conf/std.hppa"
options INCLUDE_CONFIG_FILE # embed config file in kernel binary
options SYSCTL_INCLUDE_DESCR # Include sysctl descriptions in kernel
#ident "GENERIC-$Revision: 1.31 $"
#ident "GENERIC-$Revision: 1.32 $"
maxusers 32 # estimated number of users
@ -652,9 +652,6 @@ ucom* at uvscom? portno ?
# RIM BlackBerry
uberry* at uhub? port ?
# Diamond Multimedia Rio 500
urio* at uhub? port ?
# USB Handspring Visor
uvisor* at uhub? port ?
ucom* at uvisor?

View File

@ -1,4 +1,4 @@
# $NetBSD: ALL,v 1.486 2020/01/25 18:38:36 thorpej Exp $
# $NetBSD: ALL,v 1.487 2020/01/29 18:39:02 maya Exp $
# From NetBSD: GENERIC,v 1.787 2006/10/01 18:37:54 bouyer Exp
#
# ALL machine description file
@ -17,7 +17,7 @@ include "arch/i386/conf/std.i386"
options INCLUDE_CONFIG_FILE # embed config file in kernel binary
#ident "ALL-$Revision: 1.486 $"
#ident "ALL-$Revision: 1.487 $"
maxusers 64 # estimated number of users
@ -1403,9 +1403,6 @@ uberry* at uhub? port ?
# Apple iPad
uipad* at uhub? port ?
# Diamond Multimedia Rio 500
urio* at uhub? port ?
# USB Handspring Visor
uvisor* at uhub? port ?
ucom* at uvisor?

View File

@ -1,4 +1,4 @@
# $NetBSD: XEN3PAE_DOM0,v 1.19 2020/01/25 18:38:36 thorpej Exp $
# $NetBSD: XEN3PAE_DOM0,v 1.20 2020/01/29 18:39:02 maya Exp $
#
# XEN3_0: Xen 3.0 domain0 kernel
@ -642,9 +642,6 @@ ucom* at uplcom? portno ?
uvscom* at uhub? port ? # SUNTAC Slipper U VS-10U serial adapter
ucom* at uvscom? portno ?
# Diamond Multimedia Rio 500
urio* at uhub? port ?
# USB Handspring Visor
uvisor* at uhub? port ?
ucom* at uvisor?

View File

@ -1,4 +1,4 @@
# $NetBSD: majors.i386,v 1.51 2019/01/28 02:28:58 dholland Exp $
# $NetBSD: majors.i386,v 1.52 2020/01/29 18:39:02 maya Exp $
#
# Device majors for i386
#
@ -68,7 +68,7 @@ device-major ucom char 66 ucom
device-major sysmon char 67 sysmon
#device-major obsolete char 68 obsolete (vmegeneric)
device-major ld char 69 block 19 ld
device-major urio char 70 urio
#device-major obsolete char 70 obsolete (urio)
device-major bktr char 71 bktr
device-major cz char 73 cz

View File

@ -1,4 +1,4 @@
# $NetBSD: majors.ia64,v 1.17 2019/01/28 02:28:58 dholland Exp $
# $NetBSD: majors.ia64,v 1.18 2020/01/29 18:39:02 maya Exp $
#
# Device majors for ia64
#
@ -68,7 +68,7 @@ device-major ucom char 66 ucom
device-major sysmon char 67 sysmon
#device-major obsolete char 68 obsolete (vmegeneric)
device-major ld char 69 block 19 ld
device-major urio char 70 urio
#device-major obsolete char 70 obsolete (urio)
device-major bktr char 71 bktr
device-major cz char 73 cz

View File

@ -1,4 +1,4 @@
# $NetBSD: GENERIC,v 1.64 2020/01/19 01:25:06 thorpej Exp $
# $NetBSD: GENERIC,v 1.65 2020/01/29 18:39:02 maya Exp $
#
# GENERIC machine description file
#
@ -22,7 +22,7 @@ include "arch/landisk/conf/std.landisk"
options INCLUDE_CONFIG_FILE # embed config file in kernel binary
#ident "GENERIC-$Revision: 1.64 $"
#ident "GENERIC-$Revision: 1.65 $"
maxusers 16 # estimated number of users
@ -352,9 +352,6 @@ ucom* at uplcom? portno ?
uvscom* at uhub? port ? # SUNTAC Slipper U VS-10U serial adapter
ucom* at uvscom? portno ?
# Diamond Multimedia Rio 500
urio* at uhub? port ?
# USB Handspring Visor
uvisor* at uhub? port ?
ucom* at uvisor?

View File

@ -1,4 +1,4 @@
# $NetBSD: majors.landisk,v 1.9 2019/01/28 02:28:59 dholland Exp $
# $NetBSD: majors.landisk,v 1.10 2020/01/29 18:39:02 maya Exp $
#
# Device majors for landisk
#
@ -60,7 +60,7 @@ device-major ulpt char 66 ulpt
device-major ugen char 67 ugen
device-major ucom char 68 ucom
device-major uscanner char 69 uscanner
device-major urio char 70 urio
#device-major obsolete char 70 obsolete (urio)
device-major midi char 72 midi
device-major sequencer char 73 sequencer

View File

@ -1,4 +1,4 @@
# $NetBSD: majors.or1k,v 1.2 2015/04/23 23:22:52 pgoyette Exp $
# $NetBSD: majors.or1k,v 1.3 2020/01/29 18:39:02 maya Exp $
#
# Device majors for OpenRISC 1000
#
@ -61,7 +61,6 @@ device-major uhid char 81 uhid
device-major ugen char 82 ugen
device-major ulpt char 83 ulpt
device-major ucom char 84 ucom
device-major urio char 85 urio
device-major uscanner char 86 uscanner
device-major agp char 90 agp

View File

@ -1,7 +1,7 @@
#
# kernel config file for debugging.
#
# $NetBSD: DEBUG,v 1.25 2019/02/06 11:58:31 rin Exp $
# $NetBSD: DEBUG,v 1.26 2020/01/29 18:39:03 maya Exp $
#
include "arch/playstation2/conf/std.playstation2"
@ -97,9 +97,6 @@ ucom* at uplcom? portno ?
umct* at uhub? port ? # MCT USB-RS232 serial adapter
ucom* at umct? portno ?
# Diamond Multimedia Rio 500
urio* at uhub? port ?
# USB Handspring Visor
uvisor* at uhub? port ?
ucom* at uvisor?

View File

@ -1,4 +1,4 @@
# $NetBSD: majors.playstation2,v 1.23 2019/01/28 02:28:59 dholland Exp $
# $NetBSD: majors.playstation2,v 1.24 2020/01/29 18:39:03 maya Exp $
#
# Device majors for playstation2
#
@ -39,7 +39,7 @@ device-major uhid char 32 uhid
device-major ulpt char 33 ulpt
device-major ugen char 34 ugen
device-major ucom char 35 ucom
device-major urio char 36 urio
#device-major obsolete char 36 obsolete (urio)
device-major uscanner char 37 uscanner
device-major clockctl char 38 clockctl
#device-major obsolete char 39 obsolete (systrace)

View File

@ -1,4 +1,4 @@
# $NetBSD: majors.powerpc,v 1.14 2019/01/28 02:29:00 dholland Exp $
# $NetBSD: majors.powerpc,v 1.15 2020/01/29 18:39:03 maya Exp $
#
# Device majors for shared PowerPC
#
@ -57,7 +57,7 @@ device-major audio char 48 audio
device-major midi char 49 midi
device-major sequencer char 50 sequencer
device-major urio char 51 urio
#device-major obsolete char 51 obsolete (urio)
device-major uscanner char 52 uscanner
device-major openfirm char 53 openfirm
#device-major obsolete char 54 obsolete (isdn)

View File

@ -1,4 +1,4 @@
# $NetBSD: GENERIC,v 1.190 2020/01/19 01:25:07 thorpej Exp $
# $NetBSD: GENERIC,v 1.191 2020/01/29 18:39:03 maya Exp $
#
# GENERIC machine description file
#
@ -22,7 +22,7 @@ include "arch/prep/conf/std.prep"
options INCLUDE_CONFIG_FILE # embed config file in kernel binary
#ident "GENERIC-$Revision: 1.190 $"
#ident "GENERIC-$Revision: 1.191 $"
maxusers 32
@ -460,9 +460,6 @@ ukphy* at mii? phy ? # generic unknown PHYs
#uvscom* at uhub? port ? # SUNTAC Slipper U VS-10U serial adapter
#ucom* at uvscom? portno ?
# Diamond Multimedia Rio 500
#urio* at uhub? port ?
# USB Handspring Visor
#uvisor* at uhub? port ?
#ucom* at uvisor?

View File

@ -1,4 +1,4 @@
# $NetBSD: majors.sgimips,v 1.31 2019/01/28 02:29:00 dholland Exp $
# $NetBSD: majors.sgimips,v 1.32 2020/01/29 18:39:03 maya Exp $
#
# Device majors for sgimips
#
@ -59,7 +59,7 @@ device-major audio char 64 audio
device-major pci char 65 pci
device-major irframe char 66 irframedrv
device-major cir char 67 cir
device-major urio char 68 urio
#device-major obsolete char 68 obsolete (urio)
device-major ucom char 69 ucom
device-major ugen char 70 ugen
device-major usb char 71 usb

View File

@ -1,4 +1,4 @@
# $NetBSD: majors.sparc,v 1.38 2019/01/28 02:29:00 dholland Exp $
# $NetBSD: majors.sparc,v 1.39 2020/01/29 18:39:03 maya Exp $
#
# Device majors for sparc
#
@ -74,7 +74,7 @@ device-major tctrl char 71 tctrl
# sparc64: device-major ulpt char 80 ulpt
# sparc64: device-major ugen char 81 ugen
# sparc64: device-major ucom char 82 ucom
# sparc64: device-major urio char 83 urio
# sparc64: device-major urio char 83 obsolete (urio)
# sparc64: device-major uscanner char 84 uscanner
# sparc64: device-major radio char 85 radio

View File

@ -1,4 +1,4 @@
# $NetBSD: GENERIC,v 1.223 2020/01/25 18:38:36 thorpej Exp $
# $NetBSD: GENERIC,v 1.224 2020/01/29 18:39:03 maya Exp $
#
# GENERIC machine description file
#
@ -22,7 +22,7 @@ include "arch/sparc64/conf/std.sparc64"
options INCLUDE_CONFIG_FILE # embed config file in kernel binary
#ident "GENERIC-$Revision: 1.223 $"
#ident "GENERIC-$Revision: 1.224 $"
maxusers 64
@ -644,9 +644,6 @@ ucom* at uplcom? portno ?
uvscom* at uhub? port ? # SUNTAC Slipper U VS-10U serial adapter
ucom* at uvscom? portno ?
# Diamond Multimedia Rio 500
urio* at uhub? port ?
# USB Handspring Visor
uvisor* at uhub? port ?
ucom* at uvisor?

View File

@ -1,4 +1,4 @@
# $NetBSD: majors.sparc64,v 1.37 2019/01/28 02:29:00 dholland Exp $
# $NetBSD: majors.sparc64,v 1.38 2020/01/29 18:39:03 maya Exp $
#
# Device majors for sparc64
#
@ -71,7 +71,7 @@ device-major uhid char 79 uhid
device-major ulpt char 80 ulpt
device-major ugen char 81 ugen
device-major ucom char 82 ucom
device-major urio char 83 urio
#device-major obsolete char 83 obsolete (urio)
device-major uscanner char 84 uscanner
device-major radio char 85 radio

View File

@ -1,4 +1,4 @@
# $NetBSD: GENERIC,v 1.196 2019/04/26 22:46:04 sevan Exp $
# $NetBSD: GENERIC,v 1.197 2020/01/29 18:39:03 maya Exp $
#
# GENERIC machine description file
#
@ -22,7 +22,7 @@ include "arch/x68k/conf/std.x68k"
options INCLUDE_CONFIG_FILE # embed config file in kernel binary
#ident "GENERIC-$Revision: 1.196 $"
#ident "GENERIC-$Revision: 1.197 $"
makeoptions COPTS="-O2 -fno-reorder-blocks" # see share/mk/sys.mk
@ -378,9 +378,6 @@ bmd* at intio0 addr 0xecebf0 # Nereid
#uvscom* at uhub? port ? # SUNTAC Slipper U VS-10U serial adapter
#ucom* at uvscom? portno ?
# Diamond Multimedia Rio 500
#urio* at uhub? port ?
# USB Handspring Visor
#uvisor* at uhub? port ?
#ucom* at uvisor?

View File

@ -1,4 +1,4 @@
# $NetBSD: majors.x68k,v 1.30 2019/01/28 02:29:01 dholland Exp $
# $NetBSD: majors.x68k,v 1.31 2020/01/29 18:39:03 maya Exp $
#
# Device majors for x68k
#
@ -57,7 +57,7 @@ device-major ses char 55 ses
device-major uhid char 56 uhid
device-major ulpt char 57 ulpt
device-major ucom char 58 ucom
device-major urio char 59 urio
#device-major obsolete char 59 obsolete (urio)
device-major uscanner char 60 uscanner
device-major sysmon char 61 sysmon
device-major nsmb char 98 nsmb

View File

@ -1,4 +1,4 @@
# $NetBSD: majors.zaurus,v 1.9 2019/01/28 02:29:01 dholland Exp $
# $NetBSD: majors.zaurus,v 1.10 2020/01/29 18:39:04 maya Exp $
#
# Device majors for zaurus
#
@ -69,7 +69,7 @@ device-major raid char 71 block 71 raid
device-major ugen char 72 ugen
device-major wsmux char 73 wsmux
device-major ucom char 74 ucom
device-major urio char 75 urio
#device-major obsolete char 75 obsolete (urio)
device-major uscanner char 76 uscanner
device-major openfirm char 77 openfirm
device-major biconsdev char 78 biconsdev

View File

@ -57,8 +57,6 @@ umidi_quirks.c Strange MIDI devices
umidi_quirks.h and definitions for it
umodem.c USB modem (CDC ACM) driver
ums.c USB mouse driver
urio.c USB Diamond Rio500 driver
urio.h USB Diamond Rio500 defines
usb.c usb (bus) device driver
usb.h general USB defines
usb_mem.c memory allocation for DMAable memory

View File

@ -1,4 +1,4 @@
$NetBSD: TODO.usbmp,v 1.17 2020/01/17 15:00:20 maya Exp $
$NetBSD: TODO.usbmp,v 1.18 2020/01/29 18:39:04 maya Exp $
the majority of the USB MP device interface is documented in usbdivar.h.
@ -30,7 +30,6 @@ usb_detach_{waitold,wakeup} to usb_detach_{wait,broadcast} conversion:
uirda.c
ulpt.c
umass.c - done, partially done -- need to check umass_scsipi.c change
urio.c
uscanner.c
usscanner.c
ustir.c
@ -74,7 +73,6 @@ splusb drivers to convert:
- uirda.c
- ukbd.c
- ulpt.c
- urio.c
- usbdi.h
- uscanner.c
- usscanner.c
@ -104,7 +102,6 @@ missing D_MPSAFE drivers:
- ugen - partially ready
- uhso
- ulpt
- urio
- usb
- uscanner
- utoppy
@ -162,7 +159,6 @@ driver testing: STATUS
- upl working
- uberry
- uipad
- urio
- uscanner ? (must take kernel lock for scsipi)
- usscanner
- utoppy

View File

@ -1,549 +0,0 @@
/* $NetBSD: urio.c,v 1.50 2019/12/01 08:27:54 maxv 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.
*
* 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.
*/
/*
* The inspiration and information for this driver comes from the
* FreeBSD driver written by Iwasa Kazmi.
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: urio.c,v 1.50 2019/12/01 08:27:54 maxv Exp $");
#ifdef _KERNEL_OPT
#include "opt_usb.h"
#endif
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/kernel.h>
#include <sys/kmem.h>
#include <sys/device.h>
#include <sys/ioctl.h>
#include <sys/conf.h>
#include <sys/file.h>
#include <sys/select.h>
#include <sys/proc.h>
#include <sys/vnode.h>
#include <sys/poll.h>
#include <dev/usb/usb.h>
#include <dev/usb/usbdi.h>
#include <dev/usb/usbdi_util.h>
#include <dev/usb/usbdevs.h>
#include <dev/usb/urio.h>
#include "ioconf.h"
#ifdef URIO_DEBUG
#define DPRINTF(x) if (uriodebug) printf x
#define DPRINTFN(n,x) if (uriodebug>(n)) printf x
int uriodebug = 0;
#else
#define DPRINTF(x)
#define DPRINTFN(n,x)
#endif
static dev_type_open(urioopen);
static dev_type_close(urioclose);
static dev_type_read(urioread);
static dev_type_write(uriowrite);
static dev_type_ioctl(urioioctl);
const struct cdevsw urio_cdevsw = {
.d_open = urioopen,
.d_close = urioclose,
.d_read = urioread,
.d_write = uriowrite,
.d_ioctl = urioioctl,
.d_stop = nostop,
.d_tty = notty,
.d_poll = nopoll,
.d_mmap = nommap,
.d_kqfilter = nokqfilter,
.d_discard = nodiscard,
.d_flag = D_OTHER
};
#define URIO_CONFIG_NO 1
#define URIO_IFACE_IDX 0
#define URIO_BSIZE 4096
struct urio_softc {
device_t sc_dev;
struct usbd_device * sc_udev;
struct usbd_interface * sc_iface;
enum {
URIO_INIT_NONE,
URIO_INIT_INITED
} sc_init_state;
int sc_in_addr;
struct usbd_pipe * sc_in_pipe;
int sc_out_addr;
struct usbd_pipe * sc_out_pipe;
int sc_refcnt;
char sc_dying;
};
#define URIOUNIT(n) (minor(n))
#define URIO_RW_TIMEOUT 4000 /* ms */
static const struct usb_devno urio_devs[] = {
{ USB_VENDOR_DIAMOND, USB_PRODUCT_DIAMOND_RIO500USB},
{ USB_VENDOR_DIAMOND2, USB_PRODUCT_DIAMOND2_RIO600USB},
{ USB_VENDOR_DIAMOND2, USB_PRODUCT_DIAMOND2_RIO800USB},
{ USB_VENDOR_DIAMOND2, USB_PRODUCT_DIAMOND2_PSAPLAY120},
};
#define urio_lookup(v, p) usb_lookup(urio_devs, v, p)
static int urio_match(device_t, cfdata_t, void *);
static void urio_attach(device_t, device_t, void *);
static int urio_detach(device_t, int);
static int urio_activate(device_t, enum devact);
CFATTACH_DECL_NEW(urio, sizeof(struct urio_softc), urio_match, urio_attach,
urio_detach, urio_activate);
static int
urio_match(device_t parent, cfdata_t match, void *aux)
{
struct usb_attach_arg *uaa = aux;
DPRINTFN(50,("urio_match\n"));
return urio_lookup(uaa->uaa_vendor, uaa->uaa_product) != NULL ?
UMATCH_VENDOR_PRODUCT : UMATCH_NONE;
}
static void
urio_attach(device_t parent, device_t self, void *aux)
{
struct urio_softc *sc = device_private(self);
struct usb_attach_arg *uaa = aux;
struct usbd_device * dev = uaa->uaa_device;
struct usbd_interface * iface;
char *devinfop;
usbd_status err;
usb_endpoint_descriptor_t *ed;
uint8_t epcount;
int i;
DPRINTFN(10,("urio_attach: sc=%p\n", sc));
sc->sc_dev = self;
sc->sc_init_state = URIO_INIT_NONE;
aprint_naive("\n");
aprint_normal("\n");
devinfop = usbd_devinfo_alloc(dev, 0);
aprint_normal_dev(self, "%s\n", devinfop);
usbd_devinfo_free(devinfop);
err = usbd_set_config_no(dev, URIO_CONFIG_NO, 1);
if (err) {
aprint_error_dev(self, "failed to set configuration"
", err=%s\n", usbd_errstr(err));
return;
}
err = usbd_device2interface_handle(dev, URIO_IFACE_IDX, &iface);
if (err) {
aprint_error_dev(self, "getting interface handle failed\n");
return;
}
sc->sc_udev = dev;
sc->sc_iface = iface;
epcount = 0;
(void)usbd_endpoint_count(iface, &epcount);
sc->sc_in_addr = -1;
sc->sc_out_addr = -1;
for (i = 0; i < epcount; i++) {
ed = usbd_interface2endpoint_descriptor(iface, i);
if (ed == NULL) {
aprint_error_dev(self, "couldn't get ep %d\n", i);
return;
}
if (UE_GET_DIR(ed->bEndpointAddress) == UE_DIR_IN &&
UE_GET_XFERTYPE(ed->bmAttributes) == UE_BULK) {
sc->sc_in_addr = ed->bEndpointAddress;
} else if (UE_GET_DIR(ed->bEndpointAddress) == UE_DIR_OUT &&
UE_GET_XFERTYPE(ed->bmAttributes) == UE_BULK) {
sc->sc_out_addr = ed->bEndpointAddress;
}
}
if (sc->sc_in_addr == -1 || sc->sc_out_addr == -1) {
aprint_error_dev(self, "missing endpoint\n");
return;
}
DPRINTFN(10, ("urio_attach: %p\n", sc->sc_udev));
usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->sc_udev, sc->sc_dev);
sc->sc_init_state = URIO_INIT_INITED;
return;
}
static int
urio_detach(device_t self, int flags)
{
struct urio_softc *sc = device_private(self);
int s;
int maj, mn;
DPRINTF(("urio_detach: sc=%p flags=%d\n", sc, flags));
sc->sc_dying = 1;
/* Abort all pipes. Causes processes waiting for transfer to wake. */
if (sc->sc_in_pipe != NULL) {
usbd_abort_pipe(sc->sc_in_pipe);
usbd_close_pipe(sc->sc_in_pipe);
sc->sc_in_pipe = NULL;
}
if (sc->sc_out_pipe != NULL) {
usbd_abort_pipe(sc->sc_out_pipe);
usbd_close_pipe(sc->sc_out_pipe);
sc->sc_out_pipe = NULL;
}
s = splusb();
if (--sc->sc_refcnt >= 0) {
/* Wait for processes to go away. */
usb_detach_waitold(sc->sc_dev);
}
splx(s);
/* locate the major number */
maj = cdevsw_lookup_major(&urio_cdevsw);
/* Nuke the vnodes for any open instances (calls close). */
mn = device_unit(self);
vdevgone(maj, mn, mn, VCHR);
if (sc->sc_init_state < URIO_INIT_INITED)
return 0;
usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->sc_udev, sc->sc_dev);
return 0;
}
static int
urio_activate(device_t self, enum devact act)
{
struct urio_softc *sc = device_private(self);
switch (act) {
case DVACT_DEACTIVATE:
sc->sc_dying = 1;
return 0;
default:
return EOPNOTSUPP;
}
}
static int
urioopen(dev_t dev, int flag, int mode, struct lwp *l)
{
struct urio_softc *sc;
usbd_status err;
sc = device_lookup_private(&urio_cd, URIOUNIT(dev));
if (sc == NULL)
return ENXIO;
DPRINTFN(5, ("urioopen: flag=%d, mode=%d, unit=%d\n",
flag, mode, URIOUNIT(dev)));
if (sc->sc_dying)
return EIO;
if (sc->sc_in_pipe != NULL)
return EBUSY;
if ((flag & (FWRITE|FREAD)) != (FWRITE|FREAD))
return EACCES;
err = usbd_open_pipe(sc->sc_iface, sc->sc_in_addr, 0, &sc->sc_in_pipe);
if (err)
return EIO;
err = usbd_open_pipe(sc->sc_iface, sc->sc_out_addr,0,&sc->sc_out_pipe);
if (err) {
usbd_close_pipe(sc->sc_in_pipe);
sc->sc_in_pipe = NULL;
return EIO;
}
return 0;
}
static int
urioclose(dev_t dev, int flag, int mode,
struct lwp *l)
{
struct urio_softc *sc;
sc = device_lookup_private(&urio_cd, URIOUNIT(dev));
DPRINTFN(5, ("urioclose: flag=%d, mode=%d, unit=%d\n",
flag, mode, URIOUNIT(dev)));
if (sc->sc_in_pipe != NULL) {
usbd_abort_pipe(sc->sc_in_pipe);
usbd_close_pipe(sc->sc_in_pipe);
sc->sc_in_pipe = NULL;
}
if (sc->sc_out_pipe != NULL) {
usbd_abort_pipe(sc->sc_out_pipe);
usbd_close_pipe(sc->sc_out_pipe);
sc->sc_out_pipe = NULL;
}
return 0;
}
static int
urioread(dev_t dev, struct uio *uio, int flag)
{
struct urio_softc *sc;
struct usbd_xfer *xfer;
usbd_status err;
void *bufp;
uint32_t n, tn;
int error = 0;
sc = device_lookup_private(&urio_cd, URIOUNIT(dev));
DPRINTFN(5, ("urioread: %d\n", URIOUNIT(dev)));
if (sc->sc_dying)
return EIO;
error = usbd_create_xfer(sc->sc_in_pipe, URIO_BSIZE, 0, 0, &xfer);
if (error) {
return error;
}
bufp = usbd_get_buffer(xfer);
sc->sc_refcnt++;
while ((n = uimin(URIO_BSIZE, uio->uio_resid)) != 0) {
DPRINTFN(1, ("urioread: start transfer %d bytes\n", n));
tn = n;
err = usbd_bulk_transfer(xfer, sc->sc_in_pipe, 0,
URIO_RW_TIMEOUT, bufp, &tn);
if (err) {
if (err == USBD_INTERRUPTED)
error = EINTR;
else if (err == USBD_TIMEOUT)
error = ETIMEDOUT;
else
error = EIO;
break;
}
DPRINTFN(1, ("urioread: got %d bytes\n", tn));
error = uiomove(bufp, tn, uio);
if (error || tn < n)
break;
}
usbd_destroy_xfer(xfer);
if (--sc->sc_refcnt < 0)
usb_detach_wakeupold(sc->sc_dev);
return error;
}
static int
uriowrite(dev_t dev, struct uio *uio, int flag)
{
struct urio_softc *sc;
struct usbd_xfer *xfer;
usbd_status err;
void *bufp;
uint32_t n;
int error = 0;
sc = device_lookup_private(&urio_cd, URIOUNIT(dev));
DPRINTFN(5, ("uriowrite: unit=%d, len=%ld\n", URIOUNIT(dev),
(long)uio->uio_resid));
if (sc->sc_dying)
return EIO;
error = usbd_create_xfer(sc->sc_out_pipe, URIO_BSIZE, 0, 0, &xfer);
if (error) {
return error;
}
bufp = usbd_get_buffer(xfer);
sc->sc_refcnt++;
while ((n = uimin(URIO_BSIZE, uio->uio_resid)) != 0) {
error = uiomove(bufp, n, uio);
if (error)
break;
DPRINTFN(1, ("uriowrite: transfer %d bytes\n", n));
err = usbd_bulk_transfer(xfer, sc->sc_out_pipe, 0,
URIO_RW_TIMEOUT, bufp, &n);
DPRINTFN(2, ("uriowrite: err=%d\n", err));
if (err) {
if (err == USBD_INTERRUPTED)
error = EINTR;
else if (err == USBD_TIMEOUT)
error = ETIMEDOUT;
else
error = EIO;
break;
}
}
usbd_destroy_xfer(xfer);
if (--sc->sc_refcnt < 0)
usb_detach_wakeupold(sc->sc_dev);
DPRINTFN(5, ("uriowrite: done unit=%d, error=%d\n", URIOUNIT(dev),
error));
return error;
}
static int
urioioctl(dev_t dev, u_long cmd, void *addr, int flag, struct lwp *l)
{
struct urio_softc * sc;
int unit = URIOUNIT(dev);
struct urio_command *rcmd;
int requesttype, len;
struct iovec iov;
struct uio uio;
usb_device_request_t req;
usbd_status err;
int req_flags = 0;
uint32_t req_actlen = 0;
void *ptr = NULL;
int error = 0;
sc = device_lookup_private(&urio_cd, unit);
if (sc->sc_dying)
return EIO;
rcmd = (struct urio_command *)addr;
switch (cmd) {
case URIO_RECV_COMMAND:
requesttype = rcmd->requesttype | UT_READ_VENDOR_DEVICE;
break;
case URIO_SEND_COMMAND:
requesttype = rcmd->requesttype | UT_WRITE_VENDOR_DEVICE;
break;
default:
return EINVAL;
break;
}
if (!(flag & FWRITE))
return EPERM;
len = rcmd->length;
DPRINTFN(1,("urio_ioctl: cmd=0x%08lx reqtype=0x%0x req=0x%0x "
"value=0x%0x index=0x%0x len=0x%0x\n",
cmd, requesttype, rcmd->request, rcmd->value,
rcmd->index, len));
/* Send rio control message */
req.bmRequestType = requesttype;
req.bRequest = rcmd->request;
USETW(req.wValue, rcmd->value);
USETW(req.wIndex, rcmd->index);
USETW(req.wLength, len);
if (len < 0 || len > 32767)
return EINVAL;
if (len != 0) {
iov.iov_base = (void *)rcmd->buffer;
iov.iov_len = len;
uio.uio_iov = &iov;
uio.uio_iovcnt = 1;
uio.uio_resid = len;
uio.uio_offset = 0;
uio.uio_rw = req.bmRequestType & UT_READ ?
UIO_READ : UIO_WRITE;
uio.uio_vmspace = l->l_proc->p_vmspace;
ptr = kmem_alloc(len, KM_SLEEP);
if (uio.uio_rw == UIO_WRITE) {
error = uiomove(ptr, len, &uio);
if (error)
goto ret;
}
}
sc->sc_refcnt++;
err = usbd_do_request_flags(sc->sc_udev, &req, ptr, req_flags,
&req_actlen, USBD_DEFAULT_TIMEOUT);
if (--sc->sc_refcnt < 0)
usb_detach_wakeupold(sc->sc_dev);
if (err) {
error = EIO;
} else {
if (len != 0 && uio.uio_rw == UIO_READ)
error = uiomove(ptr, len, &uio);
}
ret:
if (ptr != NULL)
kmem_free(ptr, len);
return error;
}

View File

@ -1,58 +0,0 @@
/* $NetBSD: urio.h,v 1.5 2016/04/23 10:15:32 skrll 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.
*
* 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/ioccom.h>
struct urio_command
{
unsigned short length;
int request;
int requesttype;
int value;
int index;
void *buffer;
int timeout;
};
#define URIO_SEND_COMMAND _IOWR('U', 200, struct urio_command)
#define URIO_RECV_COMMAND _IOWR('U', 201, struct urio_command)
#define URIO_DIR_OUT 0x0
#define URIO_DIR_IN 0x1
#ifndef __KERNEL__
#define RIO_DIR_OUT URIO_DIR_OUT
#define RIO_DIR_IN URIO_DIR_IN
#define RIO_SEND_COMMAND URIO_SEND_COMMAND
#define RIO_RECV_COMMAND URIO_RECV_COMMAND
#define RioCommand urio_command
#endif

View File

@ -1,4 +1,4 @@
# $NetBSD: usbdevices.config,v 1.36 2019/09/20 10:34:54 mrg Exp $
# $NetBSD: usbdevices.config,v 1.37 2020/01/29 18:39:04 maya Exp $
#
# This file contains all USB related configuration.
# It is suitable for inclusion in a kernel config(5) file.
@ -195,9 +195,6 @@ uberry* at uhub? port ?
# Apple iPad
uipad* at uhub? port ?
# Diamond Multimedia Rio 500
urio* at uhub? port ?
# USB Handspring Visor
uvisor* at uhub? port ?
ucom* at uvisor?