[PATCH 2/2] arch: arm: samsung: Clean-up usage of CONFIG_SERIAL_SAMSUNG_UARTS symbol

Arnd Bergmann arnd at arndb.de
Tue Sep 30 08:13:47 PDT 2014


On Tuesday 30 September 2014 20:04:55 Abhilash Kesavan wrote:
> --- a/arch/arm/mach-s3c64xx/irq-pm.c
> +++ b/arch/arm/mach-s3c64xx/irq-pm.c
> @@ -55,10 +55,10 @@ static struct irq_grp_save {
>         u32     mask;
>  } eint_grp_save[5];
>  
> -#ifndef CONFIG_SERIAL_SAMSUNG_UARTS
> -#define SERIAL_SAMSUNG_UARTS 0
> +#ifndef CONFIG_SERIAL_SAMSUNG
> +#define SERIAL_SAMSUNG_UARTS   0
>  #else
> -#define        SERIAL_SAMSUNG_UARTS CONFIG_SERIAL_SAMSUNG_UARTS
> +#define SERIAL_SAMSUNG_UARTS   4
>  #endif
>  
>  static u32 irq_uart_mask[SERIAL_SAMSUNG_UARTS];

I think this won't work because now you access invalid registers
on machines that have only three uarts.

> diff --git a/arch/arm/plat-samsung/init.c b/arch/arm/plat-samsung/init.c
> index 11fbbc2..03cafe9 100644
> --- a/arch/arm/plat-samsung/init.c
> +++ b/arch/arm/plat-samsung/init.c
> @@ -93,8 +93,8 @@ void __init s3c24xx_init_clocks(int xtal)
>  #if IS_ENABLED(CONFIG_SAMSUNG_ATAGS)
>  static int nr_uarts __initdata = 0;
>  
> -#ifdef CONFIG_SERIAL_SAMSUNG_UARTS
> -static struct s3c2410_uartcfg uart_cfgs[CONFIG_SERIAL_SAMSUNG_UARTS];
> +#ifdef CONFIG_SERIAL_SAMSUNG
> +static struct s3c2410_uartcfg uart_cfgs[4];
>  #endif
>  
>  /* s3c24xx_init_uartdevs
> @@ -110,7 +110,7 @@ void __init s3c24xx_init_uartdevs(char *name,
>                                   struct s3c24xx_uart_resources *res,
>                                   struct s3c2410_uartcfg *cfg, int no)
>  {
> -#ifdef CONFIG_SERIAL_SAMSUNG_UARTS
> +#ifdef CONFIG_SERIAL_SAMSUNG
>         struct platform_device *platdev;
>         struct s3c2410_uartcfg *cfgptr = uart_cfgs;
>         struct s3c24xx_uart_resources *resp;

Since you hardcode the number here now, you can actually drop this #ifdef.

	Arnd



More information about the linux-arm-kernel mailing list