Re: [PATCH v4 2/2] serial: 8250: Apply FSL workarounds also without SERIAL_8250_CONSOLE

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Jun 09, 2023 at 03:39:32PM +0200, Uwe Kleine-König wrote:
> 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.

LGTM,
Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
thank you for fixing this!

> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
> ---
>  drivers/tty/serial/8250/8250_fsl.c | 3 +++
>  drivers/tty/serial/8250/8250_of.c  | 2 +-
>  drivers/tty/serial/8250/Kconfig    | 6 +++---
>  3 files changed, 7 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/tty/serial/8250/8250_fsl.c b/drivers/tty/serial/8250/8250_fsl.c
> index 00f46b9a8b09..6af4e1c1210a 100644
> --- a/drivers/tty/serial/8250/8250_fsl.c
> +++ b/drivers/tty/serial/8250/8250_fsl.c
> @@ -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");
> diff --git a/drivers/tty/serial/8250/8250_of.c b/drivers/tty/serial/8250/8250_of.c
> index c9f6bd7a7038..51329625c48a 100644
> --- a/drivers/tty/serial/8250/8250_of.c
> +++ b/drivers/tty/serial/8250/8250_of.c
> @@ -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;
> diff --git a/drivers/tty/serial/8250/Kconfig b/drivers/tty/serial/8250/Kconfig
> index cf33e858b0be..ee17cf5c44c6 100644
> --- a/drivers/tty/serial/8250/Kconfig
> +++ b/drivers/tty/serial/8250/Kconfig
> @@ -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
> -- 
> 2.39.2
> 

-- 
With Best Regards,
Andy Shevchenko





[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux PPP]     [Linux FS]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Linmodem]     [Device Mapper]     [Linux Kernel for ARM]

  Powered by Linux