On 02/10/2015 12:15, Mans Rullgard wrote: > Some SoCs, including Ralink/Mediatek and Alchemy Au1xxx, have a > 16550-like UART with a non-standard register layout. These are > supported by a simple mapping table in 8250_port.c Rather than > list every SoC type using this access mode in the ifdefs there, > allow selecting the SERIAL_8250_RT288X Kconfig option with any > system and default it to y for the known cases needing it. The > help text is reworded accordingly. > > This change simplifies adding support for other SoCs also using > the same UART. I approve this change, as my platform (Sigma Designs Tango4) uses this UART. > The name of the option is a little misleading, but not knowing > the true origin of this UART, it is as good a choice as any. Now that you know the UART is probably a Palmchip IP block, would it make sense to rename the CONFIG option? (CONFIG_SERIAL_8250_PALMCHIP?) > Signed-off-by: Mans Rullgard <mans@xxxxxxxxx> > --- > drivers/tty/serial/8250/8250_port.c | 4 ++-- > drivers/tty/serial/8250/Kconfig | 9 +++++---- > 2 files changed, 7 insertions(+), 6 deletions(-) > > diff --git a/drivers/tty/serial/8250/8250_port.c b/drivers/tty/serial/8250/8250_port.c > index 54e6c8d..a2ff31c 100644 > --- a/drivers/tty/serial/8250/8250_port.c > +++ b/drivers/tty/serial/8250/8250_port.c > @@ -276,7 +276,7 @@ static void default_serial_dl_write(struct uart_8250_port *up, int value) > serial_out(up, UART_DLM, value >> 8 & 0xff); > } > > -#if defined(CONFIG_MIPS_ALCHEMY) || defined(CONFIG_SERIAL_8250_RT288X) > +#ifdef CONFIG_SERIAL_8250_RT288X > > /* Au1x00/RT288x UART hardware has a weird register layout */ > static const s8 au_io_in_map[8] = { > @@ -427,7 +427,7 @@ static void set_io_from_upio(struct uart_port *p) > p->serial_out = mem32be_serial_out; > break; > > -#if defined(CONFIG_MIPS_ALCHEMY) || defined(CONFIG_SERIAL_8250_RT288X) > +#ifdef CONFIG_SERIAL_8250_RT288X > case UPIO_AU: > p->serial_in = au_serial_in; > p->serial_out = au_serial_out; > diff --git a/drivers/tty/serial/8250/Kconfig b/drivers/tty/serial/8250/Kconfig > index e1de118..a51c75c 100644 > --- a/drivers/tty/serial/8250/Kconfig > +++ b/drivers/tty/serial/8250/Kconfig > @@ -294,11 +294,12 @@ config SERIAL_8250_EM > > config SERIAL_8250_RT288X > bool "Ralink RT288x/RT305x/RT3662/RT3883 serial port support" > - depends on SERIAL_8250 && (SOC_RT288X || SOC_RT305X || SOC_RT3883 || SOC_MT7620) > + depends on SERIAL_8250 > + default y if MIPS_ALCHEMY || SOC_RT288X || SOC_RT305X || SOC_RT3883 || SOC_MT7620 > help > - If you have a Ralink RT288x/RT305x SoC based board and want to use the > - serial port, say Y to this option. The driver can handle up to 2 serial > - ports. If unsure, say N. > + Selecting this option will add support for the alternate register > + layout used by Ralink RT288x/RT305x, Alchemy Au1xxx, and some others. > + If unsure, say N. > > config SERIAL_8250_OMAP > tristate "Support for OMAP internal UART (8250 based driver)" -- To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html