serial: 8250: Apply FSL workarounds also without SERIAL_8250_CONSOLE
The need to handle the FSL variant of 8250 in a special way is also present without console support. So soften the dependency for SERIAL_8250_FSL from SERIAL_8250_CONSOLE to SERIAL_8250. To handle SERIAL_8250=m, the FSL code can be modular, too, thus SERIAL_8250_FSL becomes tristate. Compiling 8250_fsl as a module requires adding a module license so this is added, too. While add it also add a appropriate module description. As then SERIAL_OF_PLATFORM=y + SERIAL_8250_FSL=m is a valid combination (if COMPILE_TEST is enabled on a platform that is neither PPC, ARM nor ARM64), the check in 8250_of.c must be weakened a bit. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Message-ID: <20230609133932.786117-3-u.kleine-koenig@pengutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Родитель
1eea99c045
Коммит
d9f59caf94
|
@ -184,3 +184,6 @@ static struct platform_driver fsl8250_platform_driver = {
|
|||
|
||||
module_platform_driver(fsl8250_platform_driver);
|
||||
#endif
|
||||
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_DESCRIPTION("Handling of Freescale specific 8250 variants");
|
||||
|
|
|
@ -177,7 +177,7 @@ static int of_platform_serial_setup(struct platform_device *ofdev,
|
|||
break;
|
||||
}
|
||||
|
||||
if (IS_ENABLED(CONFIG_SERIAL_8250_FSL) &&
|
||||
if (IS_REACHABLE(CONFIG_SERIAL_8250_FSL) &&
|
||||
(of_device_is_compatible(np, "fsl,ns16550") ||
|
||||
of_device_is_compatible(np, "fsl,16550-FIFO64"))) {
|
||||
port->handle_irq = fsl8250_handle_irq;
|
||||
|
|
|
@ -379,9 +379,9 @@ config SERIAL_8250_BCM2835AUX
|
|||
If unsure, say N.
|
||||
|
||||
config SERIAL_8250_FSL
|
||||
bool "Freescale 16550 UART support" if COMPILE_TEST && !(PPC || ARM || ARM64)
|
||||
depends on SERIAL_8250_CONSOLE
|
||||
default PPC || ARM || ARM64
|
||||
tristate "Freescale 16550 UART support" if COMPILE_TEST && !(PPC || ARM || ARM64)
|
||||
depends on SERIAL_8250
|
||||
default SERIAL_8250 if PPC || ARM || ARM64
|
||||
help
|
||||
Selecting this option enables a workaround for a break-detection
|
||||
erratum for Freescale 16550 UARTs in the 8250 driver. It also
|
||||
|
|
Загрузка…
Ссылка в новой задаче