Commit a205a56d authored by Ralf Baechle's avatar Ralf Baechle Committed by Greg Kroah-Hartman

serial: Remove RM9000 series serial driver.

Now that support for RM9000 and platforms based on it has been removed,
remove the serial driver for it as well.  It's really only been a quirk
for an almost 8250 compatible UART anyway.
Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>

 drivers/tty/serial/8250/8250.c  | 70 +----------------------------------------
 drivers/tty/serial/8250/Kconfig |  9 ------
 include/linux/serial_core.h     |  1 -
 3 files changed, 1 insertion(+), 79 deletions(-)
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 6d8df4b6
...@@ -239,13 +239,6 @@ static const struct serial8250_config uart_config[] = { ...@@ -239,13 +239,6 @@ static const struct serial8250_config uart_config[] = {
.fcr = UART_FCR_ENABLE_FIFO | UART_FCR_R_TRIG_10, .fcr = UART_FCR_ENABLE_FIFO | UART_FCR_R_TRIG_10,
.flags = UART_CAP_FIFO | UART_CAP_UUE | UART_CAP_RTOIE, .flags = UART_CAP_FIFO | UART_CAP_UUE | UART_CAP_RTOIE,
}, },
[PORT_RM9000] = {
.name = "RM9000",
.fifo_size = 16,
.tx_loadsz = 16,
.fcr = UART_FCR_ENABLE_FIFO | UART_FCR_R_TRIG_10,
.flags = UART_CAP_FIFO,
},
[PORT_OCTEON] = { [PORT_OCTEON] = {
.name = "OCTEON", .name = "OCTEON",
.fifo_size = 64, .fifo_size = 64,
...@@ -364,56 +357,6 @@ static void au_serial_dl_write(struct uart_8250_port *up, int value) ...@@ -364,56 +357,6 @@ static void au_serial_dl_write(struct uart_8250_port *up, int value)
#endif #endif
#ifdef CONFIG_SERIAL_8250_RM9K
static const u8
regmap_in[8] = {
[UART_RX] = 0x00,
[UART_IER] = 0x0c,
[UART_IIR] = 0x14,
[UART_LCR] = 0x1c,
[UART_MCR] = 0x20,
[UART_LSR] = 0x24,
[UART_MSR] = 0x28,
[UART_SCR] = 0x2c
},
regmap_out[8] = {
[UART_TX] = 0x04,
[UART_IER] = 0x0c,
[UART_FCR] = 0x18,
[UART_LCR] = 0x1c,
[UART_MCR] = 0x20,
[UART_LSR] = 0x24,
[UART_MSR] = 0x28,
[UART_SCR] = 0x2c
};
static unsigned int rm9k_serial_in(struct uart_port *p, int offset)
{
offset = regmap_in[offset] << p->regshift;
return readl(p->membase + offset);
}
static void rm9k_serial_out(struct uart_port *p, int offset, int value)
{
offset = regmap_out[offset] << p->regshift;
writel(value, p->membase + offset);
}
static int rm9k_serial_dl_read(struct uart_8250_port *up)
{
return ((__raw_readl(up->port.membase + 0x10) << 8) |
(__raw_readl(up->port.membase + 0x08) & 0xff)) & 0xffff;
}
static void rm9k_serial_dl_write(struct uart_8250_port *up, int value)
{
__raw_writel(value, up->port.membase + 0x08);
__raw_writel(value >> 8, up->port.membase + 0x10);
}
#endif
static unsigned int hub6_serial_in(struct uart_port *p, int offset) static unsigned int hub6_serial_in(struct uart_port *p, int offset)
{ {
offset = offset << p->regshift; offset = offset << p->regshift;
...@@ -491,15 +434,6 @@ static void set_io_from_upio(struct uart_port *p) ...@@ -491,15 +434,6 @@ static void set_io_from_upio(struct uart_port *p)
p->serial_out = mem32_serial_out; p->serial_out = mem32_serial_out;
break; break;
#ifdef CONFIG_SERIAL_8250_RM9K
case UPIO_RM9000:
p->serial_in = rm9k_serial_in;
p->serial_out = rm9k_serial_out;
up->dl_read = rm9k_serial_dl_read;
up->dl_write = rm9k_serial_dl_write;
break;
#endif
#ifdef CONFIG_MIPS_ALCHEMY #ifdef CONFIG_MIPS_ALCHEMY
case UPIO_AU: case UPIO_AU:
p->serial_in = au_serial_in; p->serial_in = au_serial_in;
...@@ -1343,9 +1277,7 @@ static void serial8250_start_tx(struct uart_port *port) ...@@ -1343,9 +1277,7 @@ static void serial8250_start_tx(struct uart_port *port)
unsigned char lsr; unsigned char lsr;
lsr = serial_in(up, UART_LSR); lsr = serial_in(up, UART_LSR);
up->lsr_saved_flags |= lsr & LSR_SAVE_FLAGS; up->lsr_saved_flags |= lsr & LSR_SAVE_FLAGS;
if ((port->type == PORT_RM9000) ? if (lsr & UART_LSR_TEMT)
(lsr & UART_LSR_THRE) :
(lsr & UART_LSR_TEMT))
serial8250_tx_chars(up); serial8250_tx_chars(up);
} }
} }
......
...@@ -249,15 +249,6 @@ config SERIAL_8250_ACORN ...@@ -249,15 +249,6 @@ config SERIAL_8250_ACORN
system, say Y to this option. The driver can handle 1, 2, or 3 port system, say Y to this option. The driver can handle 1, 2, or 3 port
cards. If unsure, say N. cards. If unsure, say N.
config SERIAL_8250_RM9K
bool "Support for MIPS RM9xxx integrated serial port"
depends on SERIAL_8250 != n && SERIAL_RM9000
select SERIAL_8250_SHARE_IRQ
help
Selecting this option will add support for the integrated serial
port hardware found on MIPS RM9122 and similar processors.
If unsure, say N.
config SERIAL_8250_FSL config SERIAL_8250_FSL
bool bool
depends on SERIAL_8250_CONSOLE && PPC_UDBG_16550 depends on SERIAL_8250_CONSOLE && PPC_UDBG_16550
......
...@@ -136,7 +136,6 @@ struct uart_port { ...@@ -136,7 +136,6 @@ struct uart_port {
#define UPIO_MEM32 (3) #define UPIO_MEM32 (3)
#define UPIO_AU (4) /* Au1x00 type IO */ #define UPIO_AU (4) /* Au1x00 type IO */
#define UPIO_TSI (5) /* Tsi108/109 type IO */ #define UPIO_TSI (5) /* Tsi108/109 type IO */
#define UPIO_RM9000 (6) /* RM9000 type IO */
unsigned int read_status_mask; /* driver specific */ unsigned int read_status_mask; /* driver specific */
unsigned int ignore_status_mask; /* driver specific */ unsigned int ignore_status_mask; /* driver specific */
......
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