By default, bcm63xx_uart.c uses the standard 8250 device naming and major/minor numbers. There are at least two situations where this could be a problem: 1) Multiplatform kernels that need to support some chips that have 8250 UARTs and other chips that have bcm63xx UARTs. 2) Some older chips like BCM7125 have a mix of both UART types. Add a new Kconfig option to tell the driver whether to register itself as ttyS or ttyBCM. By default it will retain the existing "ttyS" behavior to avoid surprises. Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> --- drivers/tty/serial/Kconfig | 11 +++++++++++ drivers/tty/serial/bcm63xx_uart.c | 8 ++++++++ 2 files changed, 19 insertions(+) diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig index fdd851e..c82cfd2 100644 --- a/drivers/tty/serial/Kconfig +++ b/drivers/tty/serial/Kconfig @@ -1302,6 +1302,17 @@ config SERIAL_BCM63XX_CONSOLE If you have enabled the serial port on the BCM63xx CPU you can make it the console by answering Y to this option. +config SERIAL_BCM63XX_TTYS + bool "Use ttyS[01] device nodes for bcm63xx_uart" + depends on SERIAL_BCM63XX + default y + help + Say Y to name the serial ports /dev/ttyS0, ttyS1, ... + This conflicts with the 8250 driver but may avoid breaking + compatibility with existing init scripts. + + Say N to name the serial ports /dev/ttyBCM0, ttyBCM1, ... + config SERIAL_GRLIB_GAISLER_APBUART tristate "GRLIB APBUART serial support" depends on OF && SPARC diff --git a/drivers/tty/serial/bcm63xx_uart.c b/drivers/tty/serial/bcm63xx_uart.c index e04e580..9f3dcc8 100644 --- a/drivers/tty/serial/bcm63xx_uart.c +++ b/drivers/tty/serial/bcm63xx_uart.c @@ -751,7 +751,11 @@ static int bcm_console_setup(struct console *co, char *options) static struct uart_driver bcm_uart_driver; static struct console bcm63xx_console = { +#ifdef CONFIG_SERIAL_BCM63XX_TTYS .name = "ttyS", +#else + .name = "ttyBCM", +#endif .write = bcm_console_write, .device = uart_console_device, .setup = bcm_console_setup, @@ -796,9 +800,13 @@ OF_EARLYCON_DECLARE(bcm63xx_uart, "brcm,bcm6345-uart", bcm_early_console_setup); static struct uart_driver bcm_uart_driver = { .owner = THIS_MODULE, .driver_name = "bcm63xx_uart", +#ifdef CONFIG_SERIAL_BCM63XX_TTYS .dev_name = "ttyS", .major = TTY_MAJOR, .minor = 64, +#else + .dev_name = "ttyBCM", +#endif .nr = BCM63XX_NR_UARTS, .cons = BCM63XX_CONSOLE, }; -- 2.1.1 -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html