The legacy_serial code was setting things up based on the assumption that the main 8250 driver would be loaded shortly after. But some randconfigs exposed an issue where early debug (UDB) UART support was enabled, yet the core UART 8250 support was disabled.
In theory a person could care about _really_ early UART output for early debug, but not care about generic console output via UART on embedded devices, so fix things so it is a valid combination. While this might seem like a pointless randconfig change, there are some existing default configs that actually reflect the above setup. Signed-off-by: Paul Gortmaker <paul.gortma...@windriver.com> diff --git a/arch/powerpc/kernel/legacy_serial.c b/arch/powerpc/kernel/legacy_serial.c index 3fea368..9a82a49 100644 --- a/arch/powerpc/kernel/legacy_serial.c +++ b/arch/powerpc/kernel/legacy_serial.c @@ -413,6 +413,14 @@ void __init find_legacy_serial_ports(void) DBG(" <- find_legacy_serial_port()\n"); } +/* + * In theory, one could have the early debugging enabled, but yet not care + * about 8250 after that, i.e. PPC_UDBG_16550=y but "SERIAL_8250 is not set". + * Mostly appears in randconfig builds, but some defconfigs have this. + */ + +#ifdef CONFIG_SERIAL_8250 + static struct platform_device serial_device = { .name = "serial8250", .id = PLAT8250_DEV_PLATFORM, @@ -523,6 +531,7 @@ static int __init serial_dev_init(void) } device_initcall(serial_dev_init); +#endif /* CONFIG_SERIAL_8250 */ #ifdef CONFIG_SERIAL_8250_CONSOLE /* -- 1.7.7.2 _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev