Commit 015664d1 authored by Bastien Nocera's avatar Bastien Nocera Committed by Greg Kroah-Hartman

USB: rio500: Remove Rio 500 kernel driver

The Rio500 kernel driver has not been used by Rio500 owners since 2001
not long after the rio500 project added support for a user-space USB stack
through the very first versions of usbdevfs and then libusb.

Support for the kernel driver was removed from the upstream utilities
in 2008:
https://gitlab.freedesktop.org/hadess/rio500/commit/943f624ab721eb8281c287650fcc9e2026f6f5db

Cc: Cesar Miquel <miquel@df.uba.ar>
Signed-off-by: default avatarBastien Nocera <hadess@hadess.net>
Cc: stable <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/6251c17584d220472ce882a3d9c199c401a51a71.camel@hadess.netSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 54ecb8f7
============
Diamonds Rio
============
Copyright (C) 1999, 2000 Bruce Tenison
Portions Copyright (C) 1999, 2000 David Nelson
Thanks to David Nelson for guidance and the usage of the scanner.txt
and scanner.c files to model our driver and this informative file.
Mar. 2, 2000
Changes
=======
- Initial Revision
Overview
========
This README will address issues regarding how to configure the kernel
to access a RIO 500 mp3 player.
Before I explain how to use this to access the Rio500 please be warned:
.. warning::
Please note that this software is still under development. The authors
are in no way responsible for any damage that may occur, no matter how
inconsequential.
It seems that the Rio has a problem when sending .mp3 with low batteries.
I suggest when the batteries are low and you want to transfer stuff that you
replace it with a fresh one. In my case, what happened is I lost two 16kb
blocks (they are no longer usable to store information to it). But I don't
know if that's normal or not; it could simply be a problem with the flash
memory.
In an extreme case, I left my Rio playing overnight and the batteries wore
down to nothing and appear to have corrupted the flash memory. My RIO
needed to be replaced as a result. Diamond tech support is aware of the
problem. Do NOT allow your batteries to wear down to nothing before
changing them. It appears RIO 500 firmware does not handle low battery
power well at all.
On systems with OHCI controllers, the kernel OHCI code appears to have
power on problems with some chipsets. If you are having problems
connecting to your RIO 500, try turning it on first and then plugging it
into the USB cable.
Contact Information
-------------------
The main page for the project is hosted at sourceforge.net in the following
URL: <http://rio500.sourceforge.net>. You can also go to the project's
sourceforge home page at: <http://sourceforge.net/projects/rio500/>.
There is also a mailing list: rio500-users@lists.sourceforge.net
Authors
-------
Most of the code was written by Cesar Miquel <miquel@df.uba.ar>. Keith
Clayton <kclayton@jps.net> is incharge of the PPC port and making sure
things work there. Bruce Tenison <btenison@dibbs.net> is adding support
for .fon files and also does testing. The program will mostly sure be
re-written and Pete Ikusz along with the rest will re-design it. I would
also like to thank Tri Nguyen <tmn_3022000@hotmail.com> who provided use
with some important information regarding the communication with the Rio.
Additional Information and userspace tools
http://rio500.sourceforge.net/
Requirements
============
A host with a USB port running a Linux kernel with RIO 500 support enabled.
The driver is a module called rio500, which should be automatically loaded
as you plug in your device. If that fails you can manually load it with
modprobe rio500
Udev should automatically create a device node as soon as plug in your device.
If that fails, you can manually add a device for the USB rio500::
mknod /dev/usb/rio500 c 180 64
In that case, set appropriate permissions for /dev/usb/rio500 (don't forget
about group and world permissions). Both read and write permissions are
required for proper operation.
That's it. The Rio500 Utils at: http://rio500.sourceforge.net should
be able to access the rio500.
Limits
======
You can use only a single rio500 device at a time with your computer.
Bugs
====
If you encounter any problems feel free to drop me an email.
Bruce Tenison
btenison@dibbs.net
...@@ -16762,13 +16762,6 @@ W: http://www.linux-usb.org/usbnet ...@@ -16762,13 +16762,6 @@ W: http://www.linux-usb.org/usbnet
S: Maintained S: Maintained
F: drivers/net/usb/dm9601.c F: drivers/net/usb/dm9601.c
USB DIAMOND RIO500 DRIVER
M: Cesar Miquel <miquel@df.uba.ar>
L: rio500-users@lists.sourceforge.net
W: http://rio500.sourceforge.net
S: Maintained
F: drivers/usb/misc/rio500*
USB EHCI DRIVER USB EHCI DRIVER
M: Alan Stern <stern@rowland.harvard.edu> M: Alan Stern <stern@rowland.harvard.edu>
L: linux-usb@vger.kernel.org L: linux-usb@vger.kernel.org
......
...@@ -91,7 +91,6 @@ CONFIG_USB_SERIAL_PL2303=m ...@@ -91,7 +91,6 @@ CONFIG_USB_SERIAL_PL2303=m
CONFIG_USB_SERIAL_CYBERJACK=m CONFIG_USB_SERIAL_CYBERJACK=m
CONFIG_USB_SERIAL_XIRCOM=m CONFIG_USB_SERIAL_XIRCOM=m
CONFIG_USB_SERIAL_OMNINET=m CONFIG_USB_SERIAL_OMNINET=m
CONFIG_USB_RIO500=m
CONFIG_EXT2_FS=m CONFIG_EXT2_FS=m
CONFIG_EXT3_FS=m CONFIG_EXT3_FS=m
CONFIG_MSDOS_FS=y CONFIG_MSDOS_FS=y
......
...@@ -195,7 +195,6 @@ CONFIG_USB_SERIAL_XIRCOM=m ...@@ -195,7 +195,6 @@ CONFIG_USB_SERIAL_XIRCOM=m
CONFIG_USB_SERIAL_OMNINET=m CONFIG_USB_SERIAL_OMNINET=m
CONFIG_USB_EMI62=m CONFIG_USB_EMI62=m
CONFIG_USB_EMI26=m CONFIG_USB_EMI26=m
CONFIG_USB_RIO500=m
CONFIG_USB_LEGOTOWER=m CONFIG_USB_LEGOTOWER=m
CONFIG_USB_LCD=m CONFIG_USB_LCD=m
CONFIG_USB_CYTHERM=m CONFIG_USB_CYTHERM=m
......
...@@ -581,7 +581,6 @@ CONFIG_USB_SERIAL_XIRCOM=m ...@@ -581,7 +581,6 @@ CONFIG_USB_SERIAL_XIRCOM=m
CONFIG_USB_SERIAL_OMNINET=m CONFIG_USB_SERIAL_OMNINET=m
CONFIG_USB_EMI62=m CONFIG_USB_EMI62=m
CONFIG_USB_EMI26=m CONFIG_USB_EMI26=m
CONFIG_USB_RIO500=m
CONFIG_USB_LEGOTOWER=m CONFIG_USB_LEGOTOWER=m
CONFIG_USB_LCD=m CONFIG_USB_LCD=m
CONFIG_USB_CYTHERM=m CONFIG_USB_CYTHERM=m
......
...@@ -327,7 +327,6 @@ CONFIG_USB_EMI62=m ...@@ -327,7 +327,6 @@ CONFIG_USB_EMI62=m
CONFIG_USB_EMI26=m CONFIG_USB_EMI26=m
CONFIG_USB_ADUTUX=m CONFIG_USB_ADUTUX=m
CONFIG_USB_SEVSEG=m CONFIG_USB_SEVSEG=m
CONFIG_USB_RIO500=m
CONFIG_USB_LEGOTOWER=m CONFIG_USB_LEGOTOWER=m
CONFIG_USB_LCD=m CONFIG_USB_LCD=m
CONFIG_USB_CYPRESS_CY7C63=m CONFIG_USB_CYPRESS_CY7C63=m
......
...@@ -189,7 +189,6 @@ CONFIG_USB_SERIAL_XIRCOM=m ...@@ -189,7 +189,6 @@ CONFIG_USB_SERIAL_XIRCOM=m
CONFIG_USB_SERIAL_OMNINET=m CONFIG_USB_SERIAL_OMNINET=m
CONFIG_USB_EMI62=m CONFIG_USB_EMI62=m
CONFIG_USB_EMI26=m CONFIG_USB_EMI26=m
CONFIG_USB_RIO500=m
CONFIG_USB_LEGOTOWER=m CONFIG_USB_LEGOTOWER=m
CONFIG_USB_LCD=m CONFIG_USB_LCD=m
CONFIG_USB_CYTHERM=m CONFIG_USB_CYTHERM=m
......
...@@ -571,7 +571,6 @@ CONFIG_USB_SERIAL_OMNINET=m ...@@ -571,7 +571,6 @@ CONFIG_USB_SERIAL_OMNINET=m
CONFIG_USB_EMI62=m CONFIG_USB_EMI62=m
CONFIG_USB_EMI26=m CONFIG_USB_EMI26=m
CONFIG_USB_ADUTUX=m CONFIG_USB_ADUTUX=m
CONFIG_USB_RIO500=m
CONFIG_USB_LEGOTOWER=m CONFIG_USB_LEGOTOWER=m
CONFIG_USB_LCD=m CONFIG_USB_LCD=m
CONFIG_USB_CYPRESS_CY7C63=m CONFIG_USB_CYPRESS_CY7C63=m
......
...@@ -314,7 +314,6 @@ CONFIG_USB_SERIAL_SAFE_PADDED=y ...@@ -314,7 +314,6 @@ CONFIG_USB_SERIAL_SAFE_PADDED=y
CONFIG_USB_SERIAL_CYBERJACK=m CONFIG_USB_SERIAL_CYBERJACK=m
CONFIG_USB_SERIAL_XIRCOM=m CONFIG_USB_SERIAL_XIRCOM=m
CONFIG_USB_SERIAL_OMNINET=m CONFIG_USB_SERIAL_OMNINET=m
CONFIG_USB_RIO500=m
CONFIG_USB_LEGOTOWER=m CONFIG_USB_LEGOTOWER=m
CONFIG_USB_LCD=m CONFIG_USB_LCD=m
CONFIG_USB_CYTHERM=m CONFIG_USB_CYTHERM=m
......
...@@ -47,16 +47,6 @@ config USB_SEVSEG ...@@ -47,16 +47,6 @@ config USB_SEVSEG
To compile this driver as a module, choose M here: the To compile this driver as a module, choose M here: the
module will be called usbsevseg. module will be called usbsevseg.
config USB_RIO500
tristate "USB Diamond Rio500 support"
help
Say Y here if you want to connect a USB Rio500 mp3 player to your
computer's USB port. Please read <file:Documentation/usb/rio.rst>
for more information.
To compile this driver as a module, choose M here: the
module will be called rio500.
config USB_LEGOTOWER config USB_LEGOTOWER
tristate "USB Lego Infrared Tower support" tristate "USB Lego Infrared Tower support"
help help
......
...@@ -17,7 +17,6 @@ obj-$(CONFIG_USB_ISIGHTFW) += isight_firmware.o ...@@ -17,7 +17,6 @@ obj-$(CONFIG_USB_ISIGHTFW) += isight_firmware.o
obj-$(CONFIG_USB_LCD) += usblcd.o obj-$(CONFIG_USB_LCD) += usblcd.o
obj-$(CONFIG_USB_LD) += ldusb.o obj-$(CONFIG_USB_LD) += ldusb.o
obj-$(CONFIG_USB_LEGOTOWER) += legousbtower.o obj-$(CONFIG_USB_LEGOTOWER) += legousbtower.o
obj-$(CONFIG_USB_RIO500) += rio500.o
obj-$(CONFIG_USB_TEST) += usbtest.o obj-$(CONFIG_USB_TEST) += usbtest.o
obj-$(CONFIG_USB_EHSET_TEST_FIXTURE) += ehset.o obj-$(CONFIG_USB_EHSET_TEST_FIXTURE) += ehset.o
obj-$(CONFIG_USB_TRANCEVIBRATOR) += trancevibrator.o obj-$(CONFIG_USB_TRANCEVIBRATOR) += trancevibrator.o
......
This diff is collapsed.
// SPDX-License-Identifier: GPL-2.0+
/* ----------------------------------------------------------------------
Copyright (C) 2000 Cesar Miquel (miquel@df.uba.ar)
---------------------------------------------------------------------- */
#define RIO_SEND_COMMAND 0x1
#define RIO_RECV_COMMAND 0x2
#define RIO_DIR_OUT 0x0
#define RIO_DIR_IN 0x1
struct RioCommand {
short length;
int request;
int requesttype;
int value;
int index;
void __user *buffer;
int timeout;
};
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment