forked from Minki/linux
tty: rocket, remove the driver
While the driver is still marked as maintained in MAINTAINERS, Comtrol does not really care about this ancient driver. They are still manufacturing serial devices, but those are controlled only by out-of-tree drivers. Comtrol didn't answer my pings, so this driver is apparently unmaintained. Aside from that, the driver was untouched for years, only whole-tree changes happened during the past years. The driver needs much more care, so drop it for now. If someone steps up to reintroduce it, they need to clean it up first. Signed-off-by: Jiri Slaby <jslaby@suse.cz> Link: https://lore.kernel.org/r/20210302062214.29627-7-jslaby@suse.cz Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
67b1544a55
commit
3b00b6af7a
@ -1,185 +0,0 @@
|
||||
================================================
|
||||
Comtrol(tm) RocketPort(R)/RocketModem(TM) Series
|
||||
================================================
|
||||
|
||||
Device Driver for the Linux Operating System
|
||||
============================================
|
||||
|
||||
Product overview
|
||||
----------------
|
||||
|
||||
This driver provides a loadable kernel driver for the Comtrol RocketPort
|
||||
and RocketModem PCI boards. These boards provide, 2, 4, 8, 16, or 32
|
||||
high-speed serial ports or modems. This driver supports up to a combination
|
||||
of four RocketPort or RocketModems boards in one machine simultaneously.
|
||||
This file assumes that you are using the RocketPort driver which is
|
||||
integrated into the kernel sources.
|
||||
|
||||
The driver can also be installed as an external module using the usual
|
||||
"make;make install" routine. This external module driver, obtainable
|
||||
from the Comtrol website listed below, is useful for updating the driver
|
||||
or installing it into kernels which do not have the driver configured
|
||||
into them. Installations instructions for the external module
|
||||
are in the included README and HW_INSTALL files.
|
||||
|
||||
RocketPort ISA and RocketModem II PCI boards currently are only supported by
|
||||
this driver in module form.
|
||||
|
||||
The RocketPort ISA board requires I/O ports to be configured by the DIP
|
||||
switches on the board. See the section "ISA Rocketport Boards" below for
|
||||
information on how to set the DIP switches.
|
||||
|
||||
You pass the I/O port to the driver using the following module parameters:
|
||||
|
||||
board1:
|
||||
I/O port for the first ISA board
|
||||
board2:
|
||||
I/O port for the second ISA board
|
||||
board3:
|
||||
I/O port for the third ISA board
|
||||
board4:
|
||||
I/O port for the fourth ISA board
|
||||
|
||||
There is a set of utilities and scripts provided with the external driver
|
||||
(downloadable from http://www.comtrol.com) that ease the configuration and
|
||||
setup of the ISA cards.
|
||||
|
||||
The RocketModem II PCI boards require firmware to be loaded into the card
|
||||
before it will function. The driver has only been tested as a module for this
|
||||
board.
|
||||
|
||||
Installation Procedures
|
||||
-----------------------
|
||||
|
||||
RocketPort/RocketModem PCI cards require no driver configuration, they are
|
||||
automatically detected and configured.
|
||||
|
||||
The RocketPort driver can be installed as a module (recommended) or built
|
||||
into the kernel. This is selected, as for other drivers, through the `make config`
|
||||
command from the root of the Linux source tree during the kernel build process.
|
||||
|
||||
The RocketPort/RocketModem serial ports installed by this driver are assigned
|
||||
device major number 46, and will be named /dev/ttyRx, where x is the port number
|
||||
starting at zero (ex. /dev/ttyR0, /devttyR1, ...). If you have multiple cards
|
||||
installed in the system, the mapping of port names to serial ports is displayed
|
||||
in the system log at /var/log/messages.
|
||||
|
||||
If installed as a module, the module must be loaded. This can be done
|
||||
manually by entering "modprobe rocket". To have the module loaded automatically
|
||||
upon system boot, edit a `/etc/modprobe.d/*.conf` file and add the line
|
||||
"alias char-major-46 rocket".
|
||||
|
||||
In order to use the ports, their device names (nodes) must be created with mknod.
|
||||
This is only required once, the system will retain the names once created. To
|
||||
create the RocketPort/RocketModem device names, use the command
|
||||
"mknod /dev/ttyRx c 46 x" where x is the port number starting at zero.
|
||||
|
||||
For example::
|
||||
|
||||
> mknod /dev/ttyR0 c 46 0
|
||||
> mknod /dev/ttyR1 c 46 1
|
||||
> mknod /dev/ttyR2 c 46 2
|
||||
|
||||
The Linux script MAKEDEV will create the first 16 ttyRx device names (nodes)
|
||||
for you::
|
||||
|
||||
>/dev/MAKEDEV ttyR
|
||||
|
||||
ISA Rocketport Boards
|
||||
---------------------
|
||||
|
||||
You must assign and configure the I/O addresses used by the ISA Rocketport
|
||||
card before installing and using it. This is done by setting a set of DIP
|
||||
switches on the Rocketport board.
|
||||
|
||||
|
||||
Setting the I/O address
|
||||
-----------------------
|
||||
|
||||
Before installing RocketPort(R) or RocketPort RA boards, you must find
|
||||
a range of I/O addresses for it to use. The first RocketPort card
|
||||
requires a 68-byte contiguous block of I/O addresses, starting at one
|
||||
of the following: 0x100h, 0x140h, 0x180h, 0x200h, 0x240h, 0x280h,
|
||||
0x300h, 0x340h, 0x380h. This I/O address must be reflected in the DIP
|
||||
switches of *all* of the Rocketport cards.
|
||||
|
||||
The second, third, and fourth RocketPort cards require a 64-byte
|
||||
contiguous block of I/O addresses, starting at one of the following
|
||||
I/O addresses: 0x100h, 0x140h, 0x180h, 0x1C0h, 0x200h, 0x240h, 0x280h,
|
||||
0x2C0h, 0x300h, 0x340h, 0x380h, 0x3C0h. The I/O address used by the
|
||||
second, third, and fourth Rocketport cards (if present) are set via
|
||||
software control. The DIP switch settings for the I/O address must be
|
||||
set to the value of the first Rocketport cards.
|
||||
|
||||
In order to distinguish each of the card from the others, each card
|
||||
must have a unique board ID set on the dip switches. The first
|
||||
Rocketport board must be set with the DIP switches corresponding to
|
||||
the first board, the second board must be set with the DIP switches
|
||||
corresponding to the second board, etc. IMPORTANT: The board ID is
|
||||
the only place where the DIP switch settings should differ between the
|
||||
various Rocketport boards in a system.
|
||||
|
||||
The I/O address range used by any of the RocketPort cards must not
|
||||
conflict with any other cards in the system, including other
|
||||
RocketPort cards. Below, you will find a list of commonly used I/O
|
||||
address ranges which may be in use by other devices in your system.
|
||||
On a Linux system, "cat /proc/ioports" will also be helpful in
|
||||
identifying what I/O addresses are being used by devices on your
|
||||
system.
|
||||
|
||||
Remember, the FIRST RocketPort uses 68 I/O addresses. So, if you set it
|
||||
for 0x100, it will occupy 0x100 to 0x143. This would mean that you
|
||||
CAN NOT set the second, third or fourth board for address 0x140 since
|
||||
the first 4 bytes of that range are used by the first board. You would
|
||||
need to set the second, third, or fourth board to one of the next available
|
||||
blocks such as 0x180.
|
||||
|
||||
RocketPort and RocketPort RA SW1 Settings::
|
||||
|
||||
+-------------------------------+
|
||||
| 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
|
||||
+-------+-------+---------------+
|
||||
| Unused| Card | I/O Port Block|
|
||||
+-------------------------------+
|
||||
|
||||
DIP Switches DIP Switches
|
||||
7 8 6 5
|
||||
=================== ===================
|
||||
On On UNUSED, MUST BE ON. On On First Card <==== Default
|
||||
On Off Second Card
|
||||
Off On Third Card
|
||||
Off Off Fourth Card
|
||||
|
||||
DIP Switches I/O Address Range
|
||||
4 3 2 1 Used by the First Card
|
||||
=====================================
|
||||
On Off On Off 100-143
|
||||
On Off Off On 140-183
|
||||
On Off Off Off 180-1C3 <==== Default
|
||||
Off On On Off 200-243
|
||||
Off On Off On 240-283
|
||||
Off On Off Off 280-2C3
|
||||
Off Off On Off 300-343
|
||||
Off Off Off On 340-383
|
||||
Off Off Off Off 380-3C3
|
||||
|
||||
Reporting Bugs
|
||||
--------------
|
||||
|
||||
For technical support, please provide the following
|
||||
information: Driver version, kernel release, distribution of
|
||||
kernel, and type of board you are using. Error messages and log
|
||||
printouts port configuration details are especially helpful.
|
||||
|
||||
USA:
|
||||
:Phone: (612) 494-4100
|
||||
:FAX: (612) 494-4199
|
||||
:email: support@comtrol.com
|
||||
|
||||
Comtrol Europe:
|
||||
:Phone: +44 (0) 1 869 323-220
|
||||
:FAX: +44 (0) 1 869 323-211
|
||||
:email: support@comtrol.co.uk
|
||||
|
||||
Web: http://www.comtrol.com
|
||||
FTP: ftp.comtrol.com
|
@ -95,7 +95,6 @@ USB_BLUETOOTH_MAGIC 0x6d02 usb_bluetooth ``drivers/usb/cl
|
||||
RFCOMM_TTY_MAGIC 0x6d02 ``net/bluetooth/rfcomm/tty.c``
|
||||
USB_SERIAL_PORT_MAGIC 0x7301 usb_serial_port ``drivers/usb/serial/usb-serial.h``
|
||||
CG_MAGIC 0x00090255 ufs_cylinder_group ``include/linux/ufs_fs.h``
|
||||
RPORT_MAGIC 0x00525001 r_port ``drivers/char/rocket_int.h``
|
||||
LSEMAGIC 0x05091998 lse ``drivers/fc4/fc.c``
|
||||
RIEBL_MAGIC 0x09051990 ``drivers/net/atarilance.c``
|
||||
NBD_REQUEST_MAGIC 0x12560953 nbd_request ``include/linux/nbd.h``
|
||||
|
@ -101,7 +101,6 @@ USB_BLUETOOTH_MAGIC 0x6d02 usb_bluetooth ``drivers/usb/cl
|
||||
RFCOMM_TTY_MAGIC 0x6d02 ``net/bluetooth/rfcomm/tty.c``
|
||||
USB_SERIAL_PORT_MAGIC 0x7301 usb_serial_port ``drivers/usb/serial/usb-serial.h``
|
||||
CG_MAGIC 0x00090255 ufs_cylinder_group ``include/linux/ufs_fs.h``
|
||||
RPORT_MAGIC 0x00525001 r_port ``drivers/char/rocket_int.h``
|
||||
LSEMAGIC 0x05091998 lse ``drivers/fc4/fc.c``
|
||||
GDTIOCTL_MAGIC 0x06030f07 gdth_iowr_str ``drivers/scsi/gdth_ioctl.h``
|
||||
RIEBL_MAGIC 0x09051990 ``drivers/net/atarilance.c``
|
||||
|
@ -84,7 +84,6 @@ USB_BLUETOOTH_MAGIC 0x6d02 usb_bluetooth ``drivers/usb/cl
|
||||
RFCOMM_TTY_MAGIC 0x6d02 ``net/bluetooth/rfcomm/tty.c``
|
||||
USB_SERIAL_PORT_MAGIC 0x7301 usb_serial_port ``drivers/usb/serial/usb-serial.h``
|
||||
CG_MAGIC 0x00090255 ufs_cylinder_group ``include/linux/ufs_fs.h``
|
||||
RPORT_MAGIC 0x00525001 r_port ``drivers/char/rocket_int.h``
|
||||
LSEMAGIC 0x05091998 lse ``drivers/fc4/fc.c``
|
||||
GDTIOCTL_MAGIC 0x06030f07 gdth_iowr_str ``drivers/scsi/gdth_ioctl.h``
|
||||
RIEBL_MAGIC 0x09051990 ``drivers/net/atarilance.c``
|
||||
|
@ -15394,12 +15394,6 @@ L: netdev@vger.kernel.org
|
||||
S: Supported
|
||||
F: drivers/net/ethernet/rocker/
|
||||
|
||||
ROCKETPORT DRIVER
|
||||
S: Maintained
|
||||
W: http://www.comtrol.com
|
||||
F: Documentation/driver-api/serial/rocket.rst
|
||||
F: drivers/tty/rocket*
|
||||
|
||||
ROCKETPORT EXPRESS/INFINITY DRIVER
|
||||
M: Kevin Cernekee <cernekee@gmail.com>
|
||||
L: linux-serial@vger.kernel.org
|
||||
|
@ -192,21 +192,6 @@ config SERIAL_NONSTANDARD
|
||||
|
||||
Most people can say N here.
|
||||
|
||||
config ROCKETPORT
|
||||
tristate "Comtrol RocketPort support"
|
||||
depends on SERIAL_NONSTANDARD && (ISA || EISA || PCI)
|
||||
help
|
||||
This driver supports Comtrol RocketPort and RocketModem PCI boards.
|
||||
These boards provide 2, 4, 8, 16, or 32 high-speed serial ports or
|
||||
modems. For information about the RocketPort/RocketModem boards
|
||||
and this driver read <file:Documentation/driver-api/serial/rocket.rst>.
|
||||
|
||||
To compile this driver as a module, choose M here: the
|
||||
module will be called rocket.
|
||||
|
||||
If you want to compile this driver into the kernel, say Y here. If
|
||||
you don't have a Comtrol RocketPort/RocketModem card installed, say N.
|
||||
|
||||
config MOXA_INTELLIO
|
||||
tristate "Moxa Intellio support"
|
||||
depends on SERIAL_NONSTANDARD && (ISA || EISA || PCI)
|
||||
|
@ -22,7 +22,6 @@ obj-$(CONFIG_MOXA_INTELLIO) += moxa.o
|
||||
obj-$(CONFIG_MOXA_SMARTIO) += mxser.o
|
||||
obj-$(CONFIG_NOZOMI) += nozomi.o
|
||||
obj-$(CONFIG_NULL_TTY) += ttynull.o
|
||||
obj-$(CONFIG_ROCKETPORT) += rocket.o
|
||||
obj-$(CONFIG_SYNCLINK_GT) += synclink_gt.o
|
||||
obj-$(CONFIG_PPC_EPAPR_HV_BYTECHAN) += ehv_bytechan.o
|
||||
obj-$(CONFIG_GOLDFISH_TTY) += goldfish.o
|
||||
|
3127
drivers/tty/rocket.c
3127
drivers/tty/rocket.c
File diff suppressed because it is too large
Load Diff
@ -1,111 +0,0 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
/*
|
||||
* rocket.h --- the exported interface of the rocket driver to its configuration program.
|
||||
*
|
||||
* Written by Theodore Ts'o, Copyright 1997.
|
||||
* Copyright 1997 Comtrol Corporation.
|
||||
*
|
||||
*/
|
||||
|
||||
/* Model Information Struct */
|
||||
typedef struct {
|
||||
unsigned long model;
|
||||
char modelString[80];
|
||||
unsigned long numPorts;
|
||||
int loadrm2;
|
||||
int startingPortNumber;
|
||||
} rocketModel_t;
|
||||
|
||||
struct rocket_config {
|
||||
int line;
|
||||
int flags;
|
||||
int closing_wait;
|
||||
int close_delay;
|
||||
int port;
|
||||
int reserved[32];
|
||||
};
|
||||
|
||||
struct rocket_ports {
|
||||
int tty_major;
|
||||
int callout_major;
|
||||
rocketModel_t rocketModel[8];
|
||||
};
|
||||
|
||||
struct rocket_version {
|
||||
char rocket_version[32];
|
||||
char rocket_date[32];
|
||||
char reserved[64];
|
||||
};
|
||||
|
||||
/*
|
||||
* Rocketport flags
|
||||
*/
|
||||
/*#define ROCKET_CALLOUT_NOHUP 0x00000001 */
|
||||
#define ROCKET_FORCE_CD 0x00000002
|
||||
#define ROCKET_HUP_NOTIFY 0x00000004
|
||||
#define ROCKET_SPLIT_TERMIOS 0x00000008
|
||||
#define ROCKET_SPD_MASK 0x00000070
|
||||
#define ROCKET_SPD_HI 0x00000010 /* Use 57600 instead of 38400 bps */
|
||||
#define ROCKET_SPD_VHI 0x00000020 /* Use 115200 instead of 38400 bps */
|
||||
#define ROCKET_SPD_SHI 0x00000030 /* Use 230400 instead of 38400 bps */
|
||||
#define ROCKET_SPD_WARP 0x00000040 /* Use 460800 instead of 38400 bps */
|
||||
#define ROCKET_SAK 0x00000080
|
||||
#define ROCKET_SESSION_LOCKOUT 0x00000100
|
||||
#define ROCKET_PGRP_LOCKOUT 0x00000200
|
||||
#define ROCKET_RTS_TOGGLE 0x00000400
|
||||
#define ROCKET_MODE_MASK 0x00003000
|
||||
#define ROCKET_MODE_RS232 0x00000000
|
||||
#define ROCKET_MODE_RS485 0x00001000
|
||||
#define ROCKET_MODE_RS422 0x00002000
|
||||
#define ROCKET_FLAGS 0x00003FFF
|
||||
|
||||
#define ROCKET_USR_MASK 0x0071 /* Legal flags that non-privileged
|
||||
* users can set or reset */
|
||||
|
||||
/*
|
||||
* For closing_wait and closing_wait2
|
||||
*/
|
||||
#define ROCKET_CLOSING_WAIT_NONE ASYNC_CLOSING_WAIT_NONE
|
||||
#define ROCKET_CLOSING_WAIT_INF ASYNC_CLOSING_WAIT_INF
|
||||
|
||||
/*
|
||||
* Rocketport ioctls -- "RP"
|
||||
*/
|
||||
#define RCKP_GET_CONFIG 0x00525002
|
||||
#define RCKP_SET_CONFIG 0x00525003
|
||||
#define RCKP_GET_PORTS 0x00525004
|
||||
#define RCKP_RESET_RM2 0x00525005
|
||||
#define RCKP_GET_VERSION 0x00525006
|
||||
|
||||
/* Rocketport Models */
|
||||
#define MODEL_RP32INTF 0x0001 /* RP 32 port w/external I/F */
|
||||
#define MODEL_RP8INTF 0x0002 /* RP 8 port w/external I/F */
|
||||
#define MODEL_RP16INTF 0x0003 /* RP 16 port w/external I/F */
|
||||
#define MODEL_RP8OCTA 0x0005 /* RP 8 port w/octa cable */
|
||||
#define MODEL_RP4QUAD 0x0004 /* RP 4 port w/quad cable */
|
||||
#define MODEL_RP8J 0x0006 /* RP 8 port w/RJ11 connectors */
|
||||
#define MODEL_RP4J 0x0007 /* RP 4 port w/RJ45 connectors */
|
||||
#define MODEL_RP8SNI 0x0008 /* RP 8 port w/ DB78 SNI connector */
|
||||
#define MODEL_RP16SNI 0x0009 /* RP 16 port w/ DB78 SNI connector */
|
||||
#define MODEL_RPP4 0x000A /* RP Plus 4 port */
|
||||
#define MODEL_RPP8 0x000B /* RP Plus 8 port */
|
||||
#define MODEL_RP2_232 0x000E /* RP Plus 2 port RS232 */
|
||||
#define MODEL_RP2_422 0x000F /* RP Plus 2 port RS232 */
|
||||
|
||||
/* Rocketmodem II Models */
|
||||
#define MODEL_RP6M 0x000C /* RM 6 port */
|
||||
#define MODEL_RP4M 0x000D /* RM 4 port */
|
||||
|
||||
/* Universal PCI boards */
|
||||
#define MODEL_UPCI_RP32INTF 0x0801 /* RP UPCI 32 port w/external I/F */
|
||||
#define MODEL_UPCI_RP8INTF 0x0802 /* RP UPCI 8 port w/external I/F */
|
||||
#define MODEL_UPCI_RP16INTF 0x0803 /* RP UPCI 16 port w/external I/F */
|
||||
#define MODEL_UPCI_RP8OCTA 0x0805 /* RP UPCI 8 port w/octa cable */
|
||||
#define MODEL_UPCI_RM3_8PORT 0x080C /* RP UPCI Rocketmodem III 8 port */
|
||||
#define MODEL_UPCI_RM3_4PORT 0x080C /* RP UPCI Rocketmodem III 4 port */
|
||||
|
||||
/* Compact PCI 16 port */
|
||||
#define MODEL_CPCI_RP16INTF 0x0903 /* RP Compact PCI 16 port w/external I/F */
|
||||
|
||||
/* All ISA boards */
|
||||
#define MODEL_ISA 0x1000
|
File diff suppressed because it is too large
Load Diff
@ -1688,27 +1688,6 @@
|
||||
#define PCI_VENDOR_ID_MICROSEMI 0x11f8
|
||||
|
||||
#define PCI_VENDOR_ID_RP 0x11fe
|
||||
#define PCI_DEVICE_ID_RP32INTF 0x0001
|
||||
#define PCI_DEVICE_ID_RP8INTF 0x0002
|
||||
#define PCI_DEVICE_ID_RP16INTF 0x0003
|
||||
#define PCI_DEVICE_ID_RP4QUAD 0x0004
|
||||
#define PCI_DEVICE_ID_RP8OCTA 0x0005
|
||||
#define PCI_DEVICE_ID_RP8J 0x0006
|
||||
#define PCI_DEVICE_ID_RP4J 0x0007
|
||||
#define PCI_DEVICE_ID_RP8SNI 0x0008
|
||||
#define PCI_DEVICE_ID_RP16SNI 0x0009
|
||||
#define PCI_DEVICE_ID_RPP4 0x000A
|
||||
#define PCI_DEVICE_ID_RPP8 0x000B
|
||||
#define PCI_DEVICE_ID_RP4M 0x000D
|
||||
#define PCI_DEVICE_ID_RP2_232 0x000E
|
||||
#define PCI_DEVICE_ID_RP2_422 0x000F
|
||||
#define PCI_DEVICE_ID_URP32INTF 0x0801
|
||||
#define PCI_DEVICE_ID_URP8INTF 0x0802
|
||||
#define PCI_DEVICE_ID_URP16INTF 0x0803
|
||||
#define PCI_DEVICE_ID_URP8OCTA 0x0805
|
||||
#define PCI_DEVICE_ID_UPCI_RM3_8PORT 0x080C
|
||||
#define PCI_DEVICE_ID_UPCI_RM3_4PORT 0x080D
|
||||
#define PCI_DEVICE_ID_CRP16INTF 0x0903
|
||||
|
||||
#define PCI_VENDOR_ID_CYCLADES 0x120e
|
||||
#define PCI_DEVICE_ID_PC300_RX_2 0x0300
|
||||
|
Loading…
Reference in New Issue
Block a user