mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-04 20:19:47 +08:00
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: Ralf 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: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
6d8df4b6a3
commit
a205a56dc2
@ -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)
|
|||||||
|
|
||||||
#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)
|
|||||||
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)
|
|||||||
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
|
|||||||
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 {
|
|||||||
#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 */
|
||||||
|
Loading…
Reference in New Issue
Block a user