Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 12bf3f24 authored by Manuel Lauss's avatar Manuel Lauss Committed by Ralf Baechle
Browse files

SERIAL: 8250: Remove SERIAL_8250_AU1X00



Remove the SERIAL_8250_AU1X00 config symbol.  Instead, use the MIPS_ALCHEMY
one which is always defined when building an Au1x00-based platform.

Signed-off-by: default avatarManuel Lauss <manuel.lauss@googlemail.com>
To: Linux-MIPS <linux-mips@linux-mips.org>
Cc: Linux-serial <linux-serial@vger.kernel.org>
Patchwork: https://patchwork.linux-mips.org/patch/1461/


Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>

This one depends on a previous patch (which removes SOC_AU1X00 and changes
MACH_ALCHEMY) to apply cleanly (and then actually work), so I'd love for
this to go in via the mips tree.
parent 42a4f17d
Loading
Loading
Loading
Loading
+0 −2
Original line number Original line Diff line number Diff line
@@ -33,7 +33,6 @@
	}
	}


static struct plat_serial8250_port au1x00_uart_data[] = {
static struct plat_serial8250_port au1x00_uart_data[] = {
#if defined(CONFIG_SERIAL_8250_AU1X00)
#if defined(CONFIG_SOC_AU1000)
#if defined(CONFIG_SOC_AU1000)
	PORT(UART0_PHYS_ADDR, AU1000_UART0_INT),
	PORT(UART0_PHYS_ADDR, AU1000_UART0_INT),
	PORT(UART1_PHYS_ADDR, AU1000_UART1_INT),
	PORT(UART1_PHYS_ADDR, AU1000_UART1_INT),
@@ -54,7 +53,6 @@ static struct plat_serial8250_port au1x00_uart_data[] = {
	PORT(UART0_PHYS_ADDR, AU1200_UART0_INT),
	PORT(UART0_PHYS_ADDR, AU1200_UART0_INT),
	PORT(UART1_PHYS_ADDR, AU1200_UART1_INT),
	PORT(UART1_PHYS_ADDR, AU1200_UART1_INT),
#endif
#endif
#endif	/* CONFIG_SERIAL_8250_AU1X00 */
	{ },
	{ },
};
};


+3 −10
Original line number Original line Diff line number Diff line
@@ -302,7 +302,7 @@ static const struct serial8250_config uart_config[] = {
	},
	},
};
};


#if defined (CONFIG_SERIAL_8250_AU1X00)
#if defined(CONFIG_MIPS_ALCHEMY)


/* Au1x00 UART hardware has a weird register layout */
/* Au1x00 UART hardware has a weird register layout */
static const u8 au_io_in_map[] = {
static const u8 au_io_in_map[] = {
@@ -422,7 +422,6 @@ static unsigned int mem32_serial_in(struct uart_port *p, int offset)
	return readl(p->membase + offset);
	return readl(p->membase + offset);
}
}


#ifdef CONFIG_SERIAL_8250_AU1X00
static unsigned int au_serial_in(struct uart_port *p, int offset)
static unsigned int au_serial_in(struct uart_port *p, int offset)
{
{
	offset = map_8250_in_reg(p, offset) << p->regshift;
	offset = map_8250_in_reg(p, offset) << p->regshift;
@@ -434,7 +433,6 @@ static void au_serial_out(struct uart_port *p, int offset, int value)
	offset = map_8250_out_reg(p, offset) << p->regshift;
	offset = map_8250_out_reg(p, offset) << p->regshift;
	__raw_writel(value, p->membase + offset);
	__raw_writel(value, p->membase + offset);
}
}
#endif


static unsigned int tsi_serial_in(struct uart_port *p, int offset)
static unsigned int tsi_serial_in(struct uart_port *p, int offset)
{
{
@@ -503,12 +501,11 @@ 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_AU1X00
	case UPIO_AU:
	case UPIO_AU:
		p->serial_in = au_serial_in;
		p->serial_in = au_serial_in;
		p->serial_out = au_serial_out;
		p->serial_out = au_serial_out;
		break;
		break;
#endif

	case UPIO_TSI:
	case UPIO_TSI:
		p->serial_in = tsi_serial_in;
		p->serial_in = tsi_serial_in;
		p->serial_out = tsi_serial_out;
		p->serial_out = tsi_serial_out;
@@ -535,9 +532,7 @@ serial_out_sync(struct uart_8250_port *up, int offset, int value)
	switch (p->iotype) {
	switch (p->iotype) {
	case UPIO_MEM:
	case UPIO_MEM:
	case UPIO_MEM32:
	case UPIO_MEM32:
#ifdef CONFIG_SERIAL_8250_AU1X00
	case UPIO_AU:
	case UPIO_AU:
#endif
	case UPIO_DWAPB:
	case UPIO_DWAPB:
		p->serial_out(p, offset, value);
		p->serial_out(p, offset, value);
		p->serial_in(p, UART_LCR);	/* safe, no side-effects */
		p->serial_in(p, UART_LCR);	/* safe, no side-effects */
@@ -573,7 +568,7 @@ static inline void _serial_dl_write(struct uart_8250_port *up, int value)
	serial_outp(up, UART_DLM, value >> 8 & 0xff);
	serial_outp(up, UART_DLM, value >> 8 & 0xff);
}
}


#if defined(CONFIG_SERIAL_8250_AU1X00)
#if defined(CONFIG_MIPS_ALCHEMY)
/* Au1x00 haven't got a standard divisor latch */
/* Au1x00 haven't got a standard divisor latch */
static int serial_dl_read(struct uart_8250_port *up)
static int serial_dl_read(struct uart_8250_port *up)
{
{
@@ -2596,11 +2591,9 @@ static void serial8250_config_port(struct uart_port *port, int flags)
	if (flags & UART_CONFIG_TYPE)
	if (flags & UART_CONFIG_TYPE)
		autoconfig(up, probeflags);
		autoconfig(up, probeflags);


#ifdef CONFIG_SERIAL_8250_AU1X00
	/* if access method is AU, it is a 16550 with a quirk */
	/* if access method is AU, it is a 16550 with a quirk */
	if (up->port.type == PORT_16550A && up->port.iotype == UPIO_AU)
	if (up->port.type == PORT_16550A && up->port.iotype == UPIO_AU)
		up->bugs |= UART_BUG_NOMSR;
		up->bugs |= UART_BUG_NOMSR;
#endif


	if (up->port.type != PORT_UNKNOWN && flags & UART_CONFIG_IRQ)
	if (up->port.type != PORT_UNKNOWN && flags & UART_CONFIG_IRQ)
		autoconfig_irq(up);
		autoconfig_irq(up);
+0 −8
Original line number Original line Diff line number Diff line
@@ -258,14 +258,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_AU1X00
	bool "Au1x00 serial port support"
	depends on SERIAL_8250 != n && MIPS_ALCHEMY
	help
	  If you have an Au1x00 SOC based board and want to use the serial port,
	  say Y to this option. The driver can handle up to 4 serial ports,
	  depending on the SOC. If unsure, say N.

config SERIAL_8250_RM9K
config SERIAL_8250_RM9K
	bool "Support for MIPS RM9xxx integrated serial port"
	bool "Support for MIPS RM9xxx integrated serial port"
	depends on SERIAL_8250 != n && SERIAL_RM9000
	depends on SERIAL_8250 != n && SERIAL_RM9000