arch: arm: samsung: Clean-up usage of CONFIG_SERIAL_SAMSUNG_UARTS symbol
PATCH v2 1/2 arch: arm: samsung: Clean-up usage of CONFIG_SERIAL_SAMSUNG_UARTS symbol
Remove usage of CONFIG_SERIAL_SAMSUNG_UARTS symbol from platform specific code.
---
Changes in v2:
- Re-ordered the patches
- Added a define for number of uart ports in arch/arm/plat-samsung/init.c
- Removed CONFIG_SERIAL_SAMSUNG #ifdef in arch/arm/plat-samsung/init.c
Build tested using s3c2410_defconfig, s3c6400_defconfig, exynos_defconfig and arm64's defconfig with and without the serial driver enabled. Boot tested on Exynos5420 and Exynos7.
arch/arm/mach-s3c64xx/irq-pm.c | 6 +++--- arch/arm/plat-samsung/init.c | 7 ++----- 2 files changed, 5 insertions(+), 8 deletions(-)
arch/arm/mach-s3c64xx/irq-pm.c +3 -3
@@ -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 ];
arch/arm/plat-samsung/init.c +2 -5
@@ -92,10 +92,9 @@ void __init s3c24xx_init_clocks(int xtal)/* uart management */ #if IS_ENABLED (CONFIG_SAMSUNG_ATAGS )static int nr_uarts__initdata =0 ; +#define MAX_UART_PORTS 4 -#ifdef CONFIG_SERIAL_SAMSUNG_UARTS -static struct s3c2410_uartcfg uart_cfgs[CONFIG_SERIAL_SAMSUNG_UARTS ]; -#endif +static struct s3c2410_uartcfg uart_cfgs[MAX_UART_PORTS ];/* s3c24xx_init_uartdevs *
@@ -110,7 +109,6 @@ void __init s3c24xx_init_uartdevs(char *name,struct s3c24xx_uart_resources *res, struct s3c2410_uartcfg *cfg, int no) { -#ifdef CONFIG_SERIAL_SAMSUNG_UARTS struct platform_device *platdev;struct s3c2410_uartcfg *cfgptr = uart_cfgs;struct s3c24xx_uart_resources *resp;
@@ -133,7 +131,6 @@ void __init s3c24xx_init_uartdevs(char *name, } nr_uarts = no; -#endif }void __init s3c24xx_init_uarts (struct s3c2410_uartcfg *cfg,int no)
Signature · 1 line
1.7.9.5
PATCH v2 2/2 tty: serial: samsung: Clean-up selection of number of available UARTs
Remove symbols SERIAL_SAMSUNG_UARTS_4 and SERIAL_SAMSUNG_UARTS which select the number of UART ports available on the SoC. Replace the usage of SERIAL_SAMSUNG_UARTS in the serial driver with the maximum number of UART ports possible. Removal of these symbols also helps in Exynos7 serial enablement.
--- drivers/tty/serial/Kconfig | 16 ---------------- drivers/tty/serial/samsung.c | 11 +++-------- drivers/tty/serial/samsung.h | 5 ++++- 3 files changed, 7 insertions(+), 25 deletions(-)
drivers/tty/serial/Kconfig +0 -16
@@ -247,22 +247,6 @@ config SERIAL_SAMSUNG provide all of these ports, depending on how the serial port pins are configured. -config SERIAL_SAMSUNG_UARTS_4 - bool - depends on PLAT_SAMSUNG - default y if !(CPU_S3C2410 || CPU_S3C2412 || CPU_S3C2440 || CPU_S3C2442) - help - Internal node for the common case of 4 Samsung compatible UARTs - -config SERIAL_SAMSUNG_UARTS - int - depends on PLAT_SAMSUNG - default 4 if SERIAL_SAMSUNG_UARTS_4 || CPU_S3C2416 - default 3 - help - Select the number of available UART ports for the Samsung S3C - serial driver - config SERIAL_SAMSUNG_DEBUG bool "Samsung SoC serial debug" depends on SERIAL_SAMSUNG && DEBUG_LL
drivers/tty/serial/samsung.c +3 -8
@@ -962,14 +962,14 @@ static struct uart_ops s3c24xx_serial_ops = {static struct uart_driver s3c24xx_uart_drv = { .owner =THIS_MODULE , .driver_name ="s3c2410_serial" , - .nr =CONFIG_SERIAL_SAMSUNG_UARTS , + .nr =MAX_SAMSUNG_UARTS , .cons =S3C24XX_SERIAL_CONSOLE , .dev_name =S3C24XX_SERIAL_NAME , .major =S3C24XX_SERIAL_MAJOR , .minor =S3C24XX_SERIAL_MINOR , }; -static struct s3c24xx_uart_port s3c24xx_serial_ports[CONFIG_SERIAL_SAMSUNG_UARTS ] = { +static struct s3c24xx_uart_port s3c24xx_serial_ports[MAX_SAMSUNG_UARTS ] = { [0 ] = { .port = { .lock =__SPIN_LOCK_UNLOCKED (s3c24xx_serial_ports[0 ].port.lock),
@@ -992,8 +992,6 @@ static struct s3c24xx_uart_port s3c24xx_serial_ports[CONFIG_SERIAL_SAMSUNG_UARTS .line = 1, } }, -#if CONFIG_SERIAL_SAMSUNG_UARTS >2 - [2] = { .port = { .lock = __SPIN_LOCK_UNLOCKED(s3c24xx_serial_ports[2].port.lock),
@@ -1005,8 +1003,6 @@ static struct s3c24xx_uart_port s3c24xx_serial_ports[CONFIG_SERIAL_SAMSUNG_UARTS .line = 2, } }, -#endif -#if CONFIG_SERIAL_SAMSUNG_UARTS >3 [3] = { .port = { .lock = __SPIN_LOCK_UNLOCKED(s3c24xx_serial_ports[3].port.lock),
@@ -1018,7 +1014,6 @@ static struct s3c24xx_uart_port s3c24xx_serial_ports[CONFIG_SERIAL_SAMSUNG_UARTS .line = 3, } } -#endif };/* s3c24xx_serial_resetport
@@ -1590,7 +1585,7 @@ s3c24xx_serial_console_setup(struct console *co, char *options)/* is this a valid port */ -if (co->index ==-1 || co->index >=CONFIG_SERIAL_SAMSUNG_UARTS ) +if (co->index ==-1 || co->index >=MAX_SAMSUNG_UARTS ) co->index =0 ; port = &s3c24xx_serial_ports[co->index].port;
drivers/tty/serial/samsung.h +4 -1
@@ -1,6 +1,9 @@#ifndef __SAMSUNG_H#define __SAMSUNG_H +/* Maximum UART ports available */ +#define MAX_SAMSUNG_UARTS 4 +/* * Driver for Samsung SoC onboard UARTs. *
@@ -38,7 +41,7 @@ struct s3c24xx_uart_info {struct s3c24xx_serial_drv_data {struct s3c24xx_uart_info *info;struct s3c2410_uartcfg *def_cfg; -unsigned int fifosize[CONFIG_SERIAL_SAMSUNG_UARTS ]; +unsigned int fifosize[MAX_SAMSUNG_UARTS ]; };struct s3c24xx_uart_port {
Signature · 1 line
1.7.9.5
PATCH v2 2/2 tty: serial: samsung: Clean-up selection of number of available UARTs
Quoted 1 line · Abhilash Kesavan
Hi,
Sorry for late response.
Quoted 3 lines
Remove symbols
SERIAL_SAMSUNG_UARTS_4andSERIAL_SAMSUNG_UARTSwhich select the number of UART ports available on the SoC. Replace the usage ofSERIAL_SAMSUNG_UARTSin the serial driver with the maximum number of
Well, as you know the number of uart ports are different on each Samsung SoCs so I don't think just using maximum number of uart ports are possible for new exynos7 SoC at this moment.
Quoted 87 lines
UART ports possible. Removal of these symbols also helps in Exynos7 serial enablement.
Signed-off-by Abhilash Kesavan <[email protected]>Reviewed-by Tomasz Figa <[email protected]>Cc Greg Kroah-Hartman <[email protected]>--- drivers/tty/serial/Kconfig | 16 ---------------- drivers/tty/serial/samsung.c | 11 +++-------- drivers/tty/serial/samsung.h | 5 ++++- 3 files changed, 7 insertions(+), 25 deletions(-)drivers/tty/serial/Kconfig +0
-16@@ -247,22 +247,6 @@ config SERIAL_SAMSUNG provide all of these ports, depending on how the serial port pins are configured. -config SERIAL_SAMSUNG_UARTS_4 - bool - depends on PLAT_SAMSUNG - default y if !(CPU_S3C2410 || CPU_S3C2412 || CPU_S3C2440 || CPU_S3C2442) - help - Internal node for the common case of 4 Samsung compatible UARTs - -config SERIAL_SAMSUNG_UARTS - int - depends on PLAT_SAMSUNG - default 4 if SERIAL_SAMSUNG_UARTS_4 || CPU_S3C2416 - default 3 - help - Select the number of available UART ports for the Samsung S3C - serial driver - config SERIAL_SAMSUNG_DEBUG bool "Samsung SoC serial debug" depends on SERIAL_SAMSUNG && DEBUG_LLdrivers/tty/serial/samsung.c +2
-7@@ -962,14 +962,14 @@ static struct uart_ops s3c24xx_serial_ops = {static struct uart_driver s3c24xx_uart_drv = { .owner =THIS_MODULE , .driver_name ="s3c2410_serial" , - .nr =CONFIG_SERIAL_SAMSUNG_UARTS , + .nr =MAX_SAMSUNG_UARTS , .cons =S3C24XX_SERIAL_CONSOLE , .dev_name =S3C24XX_SERIAL_NAME , .major =S3C24XX_SERIAL_MAJOR , .minor =S3C24XX_SERIAL_MINOR , }; -static struct s3c24xx_uart_port s3c24xx_serial_ports[CONFIG_SERIAL_SAMSUNG_UARTS ] = { +static struct s3c24xx_uart_port s3c24xx_serial_ports[MAX_SAMSUNG_UARTS ] = { [0 ] = { .port = { .lock =__SPIN_LOCK_UNLOCKED (s3c24xx_serial_ports[0 ].port.lock),@@ -992,8 +992,6 @@ static struct s3c24xx_uart_port s3c24xx_serial_ports[CONFIG_SERIAL_SAMSUNG_UARTS .line = 1, } }, -#if CONFIG_SERIAL_SAMSUNG_UARTS >2 - [2] = { .port = { .lock = __SPIN_LOCK_UNLOCKED(s3c24xx_serial_ports[2].port.lock),@@ -1005,8 +1003,6 @@ static struct s3c24xx_uart_port s3c24xx_serial_ports[CONFIG_SERIAL_SAMSUNG_UARTS .line = 2, } }, -#endif -#if CONFIG_SERIAL_SAMSUNG_UARTS >3 [3] = { .port = { .lock = __SPIN_LOCK_UNLOCKED(s3c24xx_serial_ports[3].port.lock),@@ -1018,7 +1014,6 @@ static struct s3c24xx_uart_port s3c24xx_serial_ports[CONFIG_SERIAL_SAMSUNG_UARTS .line = 3, } } -#endif };/* s3c24xx_serial_resetport
drivers/tty/serial/samsung.c s3c24xx_serial_console_setup(struct console *co, char *options) · line 1588
Quoted 5 lines
drivers/tty/serial/samsung.c +1
-1@@ -1590,7 +1585,7 @@ s3c24xx_serial_console_setup(struct console *co, char *options)/* is this a valid port */ -if (co->index ==-1 || co->index >=CONFIG_SERIAL_SAMSUNG_UARTS ) +if (co->index ==-1 || co->index >=MAX_SAMSUNG_UARTS )
If we use max number, second condition is not required...
drivers/tty/serial/samsung.h line 5
Quoted 13 lines
drivers/tty/serial/samsung.c +0
-0co->index =0 ; port = &s3c24xx_serial_ports[co->index].port;drivers/tty/serial/samsung.h +2
-0@@ -1,6 +1,9 @@#ifndef __SAMSUNG_H#define __SAMSUNG_H +/* Maximum UART ports available */ +#define MAX_SAMSUNG_UARTS 4
If there is a Samsung SoC having 5 UARTS, we need to update?
And hmm...maybe we need to keep the useless array sometimes...
Quoted 15 lines
drivers/tty/serial/samsung.h +2
-2+/* * Driver for Samsung SoC onboard UARTs. * @@ -38,7 +41,7 @@ struct s3c24xx_uart_info {struct s3c24xx_serial_drv_data {struct s3c24xx_uart_info *info;struct s3c2410_uartcfg *def_cfg; -unsigned int fifosize[CONFIG_SERIAL_SAMSUNG_UARTS ]; +unsigned int fifosize[MAX_SAMSUNG_UARTS ]; };struct s3c24xx_uart_port { --1.7.9.5
PATCH v2 2/2 tty: serial: samsung: Clean-up selection of number of available UARTs
Hi Kukjin
Quoted 6 lines · Kukjin Kim
Quoted 1 line · Abhilash Kesavan
Hi,
Sorry for late response.
Quoted 7 lines
Quoted 3 lines
Remove symbols
SERIAL_SAMSUNG_UARTS_4andSERIAL_SAMSUNG_UARTSwhich select the number of UART ports available on the SoC. Replace the usage ofSERIAL_SAMSUNG_UARTSin the serial driver with the maximum number ofWell, as you know the number of uart ports are different on each Samsung SoCs so I don't think just using maximum number of uart ports are possible for new exynos7 SoC at this moment.
Thanks for the review.
The main reason for me sending this patch was so that we may be able to re-use the serial driver on arm64 based Exynos7 too. The two symbols mentioned above which depend on PLAT_SAMSUNG prevent this. I initially sent a patch which changed the dependency to SERIAL_SAMSUNG for these 2 symbols. However, Tomasz suggested that a clean-up of these two symbols would be a better option.
Please see the discussion of the previous version here:
https://lkml.org/lkml/2014/9/29/702
Can you please let me know if the previous version is acceptable ?
Quoted 107 lines
Quoted 88 lines
UART ports possible. Removal of these symbols also helps in Exynos7 serial enablement.
Signed-off-by Abhilash Kesavan <[email protected]>Reviewed-by Tomasz Figa <[email protected]>Cc Greg Kroah-Hartman <[email protected]>--- drivers/tty/serial/Kconfig | 16 ---------------- drivers/tty/serial/samsung.c | 11 +++-------- drivers/tty/serial/samsung.h | 5 ++++- 3 files changed, 7 insertions(+), 25 deletions(-)drivers/tty/serial/Kconfig +0
-16@@ -247,22 +247,6 @@ config SERIAL_SAMSUNG provide all of these ports, depending on how the serial port pins are configured. -config SERIAL_SAMSUNG_UARTS_4 - bool - depends on PLAT_SAMSUNG - default y if !(CPU_S3C2410 || CPU_S3C2412 || CPU_S3C2440 || CPU_S3C2442) - help - Internal node for the common case of 4 Samsung compatible UARTs - -config SERIAL_SAMSUNG_UARTS - int - depends on PLAT_SAMSUNG - default 4 if SERIAL_SAMSUNG_UARTS_4 || CPU_S3C2416 - default 3 - help - Select the number of available UART ports for the Samsung S3C - serial driver - config SERIAL_SAMSUNG_DEBUG bool "Samsung SoC serial debug" depends on SERIAL_SAMSUNG && DEBUG_LLdrivers/tty/serial/samsung.c +2
-7@@ -962,14 +962,14 @@ static struct uart_ops s3c24xx_serial_ops = {static struct uart_driver s3c24xx_uart_drv = { .owner =THIS_MODULE , .driver_name ="s3c2410_serial" , - .nr =CONFIG_SERIAL_SAMSUNG_UARTS , + .nr =MAX_SAMSUNG_UARTS , .cons =S3C24XX_SERIAL_CONSOLE , .dev_name =S3C24XX_SERIAL_NAME , .major =S3C24XX_SERIAL_MAJOR , .minor =S3C24XX_SERIAL_MINOR , }; -static struct s3c24xx_uart_port s3c24xx_serial_ports[CONFIG_SERIAL_SAMSUNG_UARTS ] = { +static struct s3c24xx_uart_port s3c24xx_serial_ports[MAX_SAMSUNG_UARTS ] = { [0 ] = { .port = { .lock =__SPIN_LOCK_UNLOCKED (s3c24xx_serial_ports[0 ].port.lock),@@ -992,8 +992,6 @@ static struct s3c24xx_uart_port s3c24xx_serial_ports[CONFIG_SERIAL_SAMSUNG_UARTS .line = 1, } }, -#if CONFIG_SERIAL_SAMSUNG_UARTS >2 - [2] = { .port = { .lock = __SPIN_LOCK_UNLOCKED(s3c24xx_serial_ports[2].port.lock),@@ -1005,8 +1003,6 @@ static struct s3c24xx_uart_port s3c24xx_serial_ports[CONFIG_SERIAL_SAMSUNG_UARTS .line = 2, } }, -#endif -#if CONFIG_SERIAL_SAMSUNG_UARTS >3 [3] = { .port = { .lock = __SPIN_LOCK_UNLOCKED(s3c24xx_serial_ports[3].port.lock),@@ -1018,7 +1014,6 @@ static struct s3c24xx_uart_port s3c24xx_serial_ports[CONFIG_SERIAL_SAMSUNG_UARTS .line = 3, } } -#endif };/* s3c24xx_serial_resetport drivers/tty/serial/samsung.c s3c24xx_serial_console_setup(struct console *co, char *options) · line 1588
Quoted 5 lines
drivers/tty/serial/samsung.c +1
-1@@ -1590,7 +1585,7 @@ s3c24xx_serial_console_setup(struct console *co, char *options)/* is this a valid port */ -if (co->index ==-1 || co->index >=CONFIG_SERIAL_SAMSUNG_UARTS ) +if (co->index ==-1 || co->index >=MAX_SAMSUNG_UARTS )If we use max number, second condition is not required...
Quoted 11 lines
drivers/tty/serial/samsung.c +0
-0co->index =0 ; port = &s3c24xx_serial_ports[co->index].port;drivers/tty/serial/samsung.h +0
-0@@ -1,6 +1,9 @@#ifndef __SAMSUNG_H#define __SAMSUNG_H
Quoted 4 lines
drivers/tty/serial/samsung.h line 5
Quoted 2 lines
drivers/tty/serial/samsung.h +2
-0+/* Maximum UART ports available */ +#define MAX_SAMSUNG_UARTS 4If there is a Samsung SoC having 5 UARTS, we need to update?
Yes, we would need to update the MAX_SAMSUNG_UARTS define for a newer SoC with 5 uart ports but even without this patch we would have to modify the SERIAL_SAMSUNG_UARTS symbol to handle 5 ports.
Quoted 2 lines
And hmm...maybe we need to keep the useless array sometimes...
Yes, for the 24xx series with 3 uart ports we would.
Regards,
Abhilash
Quoted 22 lines
Quoted 15 lines
drivers/tty/serial/samsung.h +2
-2+/* * Driver for Samsung SoC onboard UARTs. * @@ -38,7 +41,7 @@ struct s3c24xx_uart_info {struct s3c24xx_serial_drv_data {struct s3c24xx_uart_info *info;struct s3c2410_uartcfg *def_cfg; -unsigned int fifosize[CONFIG_SERIAL_SAMSUNG_UARTS ]; +unsigned int fifosize[MAX_SAMSUNG_UARTS ]; };struct s3c24xx_uart_port { --Quoted 1 line
1.7.9.5
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel at lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
PATCH v2 2/2 tty: serial: samsung: Clean-up selection of number of available UARTs
Hi Kukjin,
Quoted 25 lines · Abhilash Kesavan
Hi Kukjin
Quoted 6 lines · Kukjin Kim
Quoted 1 line · Abhilash Kesavan
Hi,
Sorry for late response.
Quoted 7 lines
Quoted 3 lines
Remove symbols
SERIAL_SAMSUNG_UARTS_4andSERIAL_SAMSUNG_UARTSwhich select the number of UART ports available on the SoC. Replace the usage ofSERIAL_SAMSUNG_UARTSin the serial driver with the maximum number ofWell, as you know the number of uart ports are different on each Samsung SoCs so I don't think just using maximum number of uart ports are possible for new exynos7 SoC at this moment.
Thanks for the review.
The main reason for me sending this patch was so that we may be able to re-use the serial driver on arm64 based Exynos7 too. The two symbols mentioned above which depend onPLAT_SAMSUNGprevent this. I initially sent a patch which changed the dependency toSERIAL_SAMSUNGfor these 2 symbols. However, Tomasz suggested that a clean-up of these two symbols would be a better option.
Quoted 4 lines
Please see the discussion of the previous version here:
https://lkml.org/lkml/2014/9/29/702Can you please let me know if the previous version is acceptable ?
Kukjin, can you please indicate the approach you would like me to take. Without this serial support is blocked on Exynos7.
Thanks,
Abhilash
Quoted 145 lines
Quoted 108 lines
Quoted 89 lines
UART ports possible. Removal of these symbols also helps in Exynos7 serial enablement.
Signed-off-by Abhilash Kesavan <[email protected]>Reviewed-by Tomasz Figa <[email protected]>Cc Greg Kroah-Hartman <[email protected]>--- drivers/tty/serial/Kconfig | 16 ---------------- drivers/tty/serial/samsung.c | 11 +++-------- drivers/tty/serial/samsung.h | 5 ++++- 3 files changed, 7 insertions(+), 25 deletions(-)drivers/tty/serial/Kconfig +0
-16@@ -247,22 +247,6 @@ config SERIAL_SAMSUNG provide all of these ports, depending on how the serial port pins are configured. -config SERIAL_SAMSUNG_UARTS_4 - bool - depends on PLAT_SAMSUNG - default y if !(CPU_S3C2410 || CPU_S3C2412 || CPU_S3C2440 || CPU_S3C2442) - help - Internal node for the common case of 4 Samsung compatible UARTs - -config SERIAL_SAMSUNG_UARTS - int - depends on PLAT_SAMSUNG - default 4 if SERIAL_SAMSUNG_UARTS_4 || CPU_S3C2416 - default 3 - help - Select the number of available UART ports for the Samsung S3C - serial driver - config SERIAL_SAMSUNG_DEBUG bool "Samsung SoC serial debug" depends on SERIAL_SAMSUNG && DEBUG_LLdrivers/tty/serial/samsung.c +2
-7@@ -962,14 +962,14 @@ static struct uart_ops s3c24xx_serial_ops = {static struct uart_driver s3c24xx_uart_drv = { .owner =THIS_MODULE , .driver_name ="s3c2410_serial" , - .nr =CONFIG_SERIAL_SAMSUNG_UARTS , + .nr =MAX_SAMSUNG_UARTS , .cons =S3C24XX_SERIAL_CONSOLE , .dev_name =S3C24XX_SERIAL_NAME , .major =S3C24XX_SERIAL_MAJOR , .minor =S3C24XX_SERIAL_MINOR , }; -static struct s3c24xx_uart_port s3c24xx_serial_ports[CONFIG_SERIAL_SAMSUNG_UARTS ] = { +static struct s3c24xx_uart_port s3c24xx_serial_ports[MAX_SAMSUNG_UARTS ] = { [0 ] = { .port = { .lock =__SPIN_LOCK_UNLOCKED (s3c24xx_serial_ports[0 ].port.lock),@@ -992,8 +992,6 @@ static struct s3c24xx_uart_port s3c24xx_serial_ports[CONFIG_SERIAL_SAMSUNG_UARTS .line = 1, } }, -#if CONFIG_SERIAL_SAMSUNG_UARTS >2 - [2] = { .port = { .lock = __SPIN_LOCK_UNLOCKED(s3c24xx_serial_ports[2].port.lock),@@ -1005,8 +1003,6 @@ static struct s3c24xx_uart_port s3c24xx_serial_ports[CONFIG_SERIAL_SAMSUNG_UARTS .line = 2, } }, -#endif -#if CONFIG_SERIAL_SAMSUNG_UARTS >3 [3] = { .port = { .lock = __SPIN_LOCK_UNLOCKED(s3c24xx_serial_ports[3].port.lock),@@ -1018,7 +1014,6 @@ static struct s3c24xx_uart_port s3c24xx_serial_ports[CONFIG_SERIAL_SAMSUNG_UARTS .line = 3, } } -#endif };/* s3c24xx_serial_resetport drivers/tty/serial/samsung.c s3c24xx_serial_console_setup(struct console *co, char *options) · line 1588
Quoted 5 lines
drivers/tty/serial/samsung.c +1
-1@@ -1590,7 +1585,7 @@ s3c24xx_serial_console_setup(struct console *co, char *options)/* is this a valid port */ -if (co->index ==-1 || co->index >=CONFIG_SERIAL_SAMSUNG_UARTS ) +if (co->index ==-1 || co->index >=MAX_SAMSUNG_UARTS )If we use max number, second condition is not required...
Quoted 11 lines
drivers/tty/serial/samsung.c +0
-0co->index =0 ; port = &s3c24xx_serial_ports[co->index].port;drivers/tty/serial/samsung.h +0
-0@@ -1,6 +1,9 @@#ifndef __SAMSUNG_H#define __SAMSUNG_HQuoted 4 lines
drivers/tty/serial/samsung.h line 5
Quoted 2 lines
drivers/tty/serial/samsung.h +2
-0+/* Maximum UART ports available */ +#define MAX_SAMSUNG_UARTS 4If there is a Samsung SoC having 5 UARTS, we need to update?
Yes, we would need to update the
MAX_SAMSUNG_UARTSdefine for a newer SoC with 5 uart ports but even without this patch we would have to modify theSERIAL_SAMSUNG_UARTSsymbol to handle 5 ports.Quoted 2 lines
And hmm...maybe we need to keep the useless array sometimes...
Yes, for the 24xx series with 3 uart ports we would.
Regards,
AbhilashQuoted 22 lines
Quoted 15 lines
drivers/tty/serial/samsung.h +2
-2+/* * Driver for Samsung SoC onboard UARTs. * @@ -38,7 +41,7 @@ struct s3c24xx_uart_info {struct s3c24xx_serial_drv_data {struct s3c24xx_uart_info *info;struct s3c2410_uartcfg *def_cfg; -unsigned int fifosize[CONFIG_SERIAL_SAMSUNG_UARTS ]; +unsigned int fifosize[MAX_SAMSUNG_UARTS ]; };struct s3c24xx_uart_port { --Quoted 1 line
1.7.9.5
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel at lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
PATCH v2 2/2 tty: serial: samsung: Clean-up selection of number of available UARTs
Hello Kukjin,
Quoted 29 lines · Abhilash Kesavan
Hi Kukjin,
Quoted 25 lines · Abhilash Kesavan
Hi Kukjin
Quoted 6 lines · Kukjin Kim
Quoted 1 line · Abhilash Kesavan
Hi,
Sorry for late response.
Quoted 7 lines
Quoted 3 lines
Remove symbols
SERIAL_SAMSUNG_UARTS_4andSERIAL_SAMSUNG_UARTSwhich select the number of UART ports available on the SoC. Replace the usage ofSERIAL_SAMSUNG_UARTSin the serial driver with the maximum number ofWell, as you know the number of uart ports are different on each Samsung SoCs so I don't think just using maximum number of uart ports are possible for new exynos7 SoC at this moment.
Thanks for the review.
The main reason for me sending this patch was so that we may be able to re-use the serial driver on arm64 based Exynos7 too. The two symbols mentioned above which depend onPLAT_SAMSUNGprevent this. I initially sent a patch which changed the dependency toSERIAL_SAMSUNGfor these 2 symbols. However, Tomasz suggested that a clean-up of these two symbols would be a better option.
Quoted 7 lines
Quoted 4 lines
Please see the discussion of the previous version here:
https://lkml.org/lkml/2014/9/29/702Can you please let me know if the previous version is acceptable ?
Kukjin, can you please indicate the approach you would like me to take. Without this serial support is blocked on Exynos7.
Gentle reminder on this.
Abhilash
Quoted 148 lines
Thanks,
AbhilashQuoted 145 lines
Quoted 108 lines
Quoted 89 lines
UART ports possible. Removal of these symbols also helps in Exynos7 serial enablement.
Signed-off-by Abhilash Kesavan <[email protected]>Reviewed-by Tomasz Figa <[email protected]>Cc Greg Kroah-Hartman <[email protected]>--- drivers/tty/serial/Kconfig | 16 ---------------- drivers/tty/serial/samsung.c | 11 +++-------- drivers/tty/serial/samsung.h | 5 ++++- 3 files changed, 7 insertions(+), 25 deletions(-)drivers/tty/serial/Kconfig +0
-16@@ -247,22 +247,6 @@ config SERIAL_SAMSUNG provide all of these ports, depending on how the serial port pins are configured. -config SERIAL_SAMSUNG_UARTS_4 - bool - depends on PLAT_SAMSUNG - default y if !(CPU_S3C2410 || CPU_S3C2412 || CPU_S3C2440 || CPU_S3C2442) - help - Internal node for the common case of 4 Samsung compatible UARTs - -config SERIAL_SAMSUNG_UARTS - int - depends on PLAT_SAMSUNG - default 4 if SERIAL_SAMSUNG_UARTS_4 || CPU_S3C2416 - default 3 - help - Select the number of available UART ports for the Samsung S3C - serial driver - config SERIAL_SAMSUNG_DEBUG bool "Samsung SoC serial debug" depends on SERIAL_SAMSUNG && DEBUG_LLdrivers/tty/serial/samsung.c +2
-7@@ -962,14 +962,14 @@ static struct uart_ops s3c24xx_serial_ops = {static struct uart_driver s3c24xx_uart_drv = { .owner =THIS_MODULE , .driver_name ="s3c2410_serial" , - .nr =CONFIG_SERIAL_SAMSUNG_UARTS , + .nr =MAX_SAMSUNG_UARTS , .cons =S3C24XX_SERIAL_CONSOLE , .dev_name =S3C24XX_SERIAL_NAME , .major =S3C24XX_SERIAL_MAJOR , .minor =S3C24XX_SERIAL_MINOR , }; -static struct s3c24xx_uart_port s3c24xx_serial_ports[CONFIG_SERIAL_SAMSUNG_UARTS ] = { +static struct s3c24xx_uart_port s3c24xx_serial_ports[MAX_SAMSUNG_UARTS ] = { [0 ] = { .port = { .lock =__SPIN_LOCK_UNLOCKED (s3c24xx_serial_ports[0 ].port.lock),@@ -992,8 +992,6 @@ static struct s3c24xx_uart_port s3c24xx_serial_ports[CONFIG_SERIAL_SAMSUNG_UARTS .line = 1, } }, -#if CONFIG_SERIAL_SAMSUNG_UARTS >2 - [2] = { .port = { .lock = __SPIN_LOCK_UNLOCKED(s3c24xx_serial_ports[2].port.lock),@@ -1005,8 +1003,6 @@ static struct s3c24xx_uart_port s3c24xx_serial_ports[CONFIG_SERIAL_SAMSUNG_UARTS .line = 2, } }, -#endif -#if CONFIG_SERIAL_SAMSUNG_UARTS >3 [3] = { .port = { .lock = __SPIN_LOCK_UNLOCKED(s3c24xx_serial_ports[3].port.lock),@@ -1018,7 +1014,6 @@ static struct s3c24xx_uart_port s3c24xx_serial_ports[CONFIG_SERIAL_SAMSUNG_UARTS .line = 3, } } -#endif };/* s3c24xx_serial_resetport drivers/tty/serial/samsung.c s3c24xx_serial_console_setup(struct console *co, char *options) · line 1588
Quoted 5 lines
drivers/tty/serial/samsung.c +1
-1@@ -1590,7 +1585,7 @@ s3c24xx_serial_console_setup(struct console *co, char *options)/* is this a valid port */ -if (co->index ==-1 || co->index >=CONFIG_SERIAL_SAMSUNG_UARTS ) +if (co->index ==-1 || co->index >=MAX_SAMSUNG_UARTS )If we use max number, second condition is not required...
Quoted 11 lines
drivers/tty/serial/samsung.c +0
-0co->index =0 ; port = &s3c24xx_serial_ports[co->index].port;drivers/tty/serial/samsung.h +0
-0@@ -1,6 +1,9 @@#ifndef __SAMSUNG_H#define __SAMSUNG_HQuoted 4 lines
drivers/tty/serial/samsung.h line 5
Quoted 2 lines
drivers/tty/serial/samsung.h +2
-0+/* Maximum UART ports available */ +#define MAX_SAMSUNG_UARTS 4If there is a Samsung SoC having 5 UARTS, we need to update?
Yes, we would need to update the
MAX_SAMSUNG_UARTSdefine for a newer SoC with 5 uart ports but even without this patch we would have to modify theSERIAL_SAMSUNG_UARTSsymbol to handle 5 ports.Quoted 2 lines
And hmm...maybe we need to keep the useless array sometimes...
Yes, for the 24xx series with 3 uart ports we would.
Regards,
AbhilashQuoted 22 lines
Quoted 15 lines
drivers/tty/serial/samsung.h +2
-2+/* * Driver for Samsung SoC onboard UARTs. * @@ -38,7 +41,7 @@ struct s3c24xx_uart_info {struct s3c24xx_serial_drv_data {struct s3c24xx_uart_info *info;struct s3c2410_uartcfg *def_cfg; -unsigned int fifosize[CONFIG_SERIAL_SAMSUNG_UARTS ]; +unsigned int fifosize[MAX_SAMSUNG_UARTS ]; };struct s3c24xx_uart_port { --Quoted 1 line
1.7.9.5
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel at lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
PATCH v2 2/2 tty: serial: samsung: Clean-up selection of number of available UARTs
Quoted 36 lines · Abhilash Kesavan
Hello Kukjin,
Quoted 32 lines · Abhilash Kesavan
Hi Kukjin,
Quoted 28 lines · Abhilash Kesavan
Hi Kukjin
Quoted 6 lines · Kukjin Kim
Quoted 1 line · Abhilash Kesavan
Hi,
Sorry for late response.
Quoted 7 lines
Quoted 3 lines
Remove symbols
SERIAL_SAMSUNG_UARTS_4andSERIAL_SAMSUNG_UARTSwhich select the number of UART ports available on the SoC. Replace the usage ofSERIAL_SAMSUNG_UARTSin the serial driver with the maximum number ofWell, as you know the number of uart ports are different on each Samsung SoCs so I don't think just using maximum number of uart ports are possible for new exynos7 SoC at this moment.
Thanks for the review.
The main reason for me sending this patch was so that we may be able to re-use the serial driver on arm64 based Exynos7 too. The two symbols mentioned above which depend onPLAT_SAMSUNGprevent this. I initially sent a patch which changed the dependency toSERIAL_SAMSUNGfor these 2 symbols. However, Tomasz suggested that a clean-up of these two symbols would be a better option.Please see the discussion of the previous version here:
https://lkml.org/lkml/2014/9/29/702
Quoted 6 lines
Quoted 4 lines
Quoted 1 line
Can you please let me know if the previous version is acceptable ?
Kukjin, can you please indicate the approach you would like me to take. Without this serial support is blocked on Exynos7.
Gentle reminder on this.
Hi Kukjin,
I don't mean to nag, but this another reminder to review this. Please let me know if you are too busy to have a look at this or require some more inputs from me.
Regards,
Abhilash
Quoted 150 lines
Abhilash
Quoted 148 lines
Thanks,
AbhilashQuoted 145 lines
Quoted 108 lines
Quoted 89 lines
UART ports possible. Removal of these symbols also helps in Exynos7 serial enablement.
Signed-off-by Abhilash Kesavan <[email protected]>Reviewed-by Tomasz Figa <[email protected]>Cc Greg Kroah-Hartman <[email protected]>--- drivers/tty/serial/Kconfig | 16 ---------------- drivers/tty/serial/samsung.c | 11 +++-------- drivers/tty/serial/samsung.h | 5 ++++- 3 files changed, 7 insertions(+), 25 deletions(-)drivers/tty/serial/Kconfig +0
-16@@ -247,22 +247,6 @@ config SERIAL_SAMSUNG provide all of these ports, depending on how the serial port pins are configured. -config SERIAL_SAMSUNG_UARTS_4 - bool - depends on PLAT_SAMSUNG - default y if !(CPU_S3C2410 || CPU_S3C2412 || CPU_S3C2440 || CPU_S3C2442) - help - Internal node for the common case of 4 Samsung compatible UARTs - -config SERIAL_SAMSUNG_UARTS - int - depends on PLAT_SAMSUNG - default 4 if SERIAL_SAMSUNG_UARTS_4 || CPU_S3C2416 - default 3 - help - Select the number of available UART ports for the Samsung S3C - serial driver - config SERIAL_SAMSUNG_DEBUG bool "Samsung SoC serial debug" depends on SERIAL_SAMSUNG && DEBUG_LLdrivers/tty/serial/samsung.c +2
-7@@ -962,14 +962,14 @@ static struct uart_ops s3c24xx_serial_ops = {static struct uart_driver s3c24xx_uart_drv = { .owner =THIS_MODULE , .driver_name ="s3c2410_serial" , - .nr =CONFIG_SERIAL_SAMSUNG_UARTS , + .nr =MAX_SAMSUNG_UARTS , .cons =S3C24XX_SERIAL_CONSOLE , .dev_name =S3C24XX_SERIAL_NAME , .major =S3C24XX_SERIAL_MAJOR , .minor =S3C24XX_SERIAL_MINOR , }; -static struct s3c24xx_uart_port s3c24xx_serial_ports[CONFIG_SERIAL_SAMSUNG_UARTS ] = { +static struct s3c24xx_uart_port s3c24xx_serial_ports[MAX_SAMSUNG_UARTS ] = { [0 ] = { .port = { .lock =__SPIN_LOCK_UNLOCKED (s3c24xx_serial_ports[0 ].port.lock),@@ -992,8 +992,6 @@ static struct s3c24xx_uart_port s3c24xx_serial_ports[CONFIG_SERIAL_SAMSUNG_UARTS .line = 1, } }, -#if CONFIG_SERIAL_SAMSUNG_UARTS >2 - [2] = { .port = { .lock = __SPIN_LOCK_UNLOCKED(s3c24xx_serial_ports[2].port.lock),@@ -1005,8 +1003,6 @@ static struct s3c24xx_uart_port s3c24xx_serial_ports[CONFIG_SERIAL_SAMSUNG_UARTS .line = 2, } }, -#endif -#if CONFIG_SERIAL_SAMSUNG_UARTS >3 [3] = { .port = { .lock = __SPIN_LOCK_UNLOCKED(s3c24xx_serial_ports[3].port.lock),@@ -1018,7 +1014,6 @@ static struct s3c24xx_uart_port s3c24xx_serial_ports[CONFIG_SERIAL_SAMSUNG_UARTS .line = 3, } } -#endif };/* s3c24xx_serial_resetport drivers/tty/serial/samsung.c s3c24xx_serial_console_setup(struct console *co, char *options) · line 1588
Quoted 5 lines
drivers/tty/serial/samsung.c +1
-1@@ -1590,7 +1585,7 @@ s3c24xx_serial_console_setup(struct console *co, char *options)/* is this a valid port */ -if (co->index ==-1 || co->index >=CONFIG_SERIAL_SAMSUNG_UARTS ) +if (co->index ==-1 || co->index >=MAX_SAMSUNG_UARTS )If we use max number, second condition is not required...
Quoted 11 lines
drivers/tty/serial/samsung.c +0
-0co->index =0 ; port = &s3c24xx_serial_ports[co->index].port;drivers/tty/serial/samsung.h +0
-0@@ -1,6 +1,9 @@#ifndef __SAMSUNG_H#define __SAMSUNG_HQuoted 4 lines
drivers/tty/serial/samsung.h line 5
Quoted 2 lines
drivers/tty/serial/samsung.h +2
-0+/* Maximum UART ports available */ +#define MAX_SAMSUNG_UARTS 4If there is a Samsung SoC having 5 UARTS, we need to update?
Yes, we would need to update the
MAX_SAMSUNG_UARTSdefine for a newer SoC with 5 uart ports but even without this patch we would have to modify theSERIAL_SAMSUNG_UARTSsymbol to handle 5 ports.Quoted 2 lines
And hmm...maybe we need to keep the useless array sometimes...
Yes, for the 24xx series with 3 uart ports we would.
Regards,
AbhilashQuoted 22 lines
Quoted 15 lines
drivers/tty/serial/samsung.h +2
-2+/* * Driver for Samsung SoC onboard UARTs. * @@ -38,7 +41,7 @@ struct s3c24xx_uart_info {struct s3c24xx_serial_drv_data {struct s3c24xx_uart_info *info;struct s3c2410_uartcfg *def_cfg; -unsigned int fifosize[CONFIG_SERIAL_SAMSUNG_UARTS ]; +unsigned int fifosize[MAX_SAMSUNG_UARTS ]; };struct s3c24xx_uart_port { --Quoted 1 line
1.7.9.5
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel at lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
PATCH v2 2/2 tty: serial: samsung: Clean-up selection of number of available UARTs
Quoted 39 lines · Abhilash Kesavan
Quoted 36 lines · Abhilash Kesavan
Hello Kukjin,
Quoted 32 lines · Abhilash Kesavan
Hi Kukjin,
Quoted 28 lines · Abhilash Kesavan
Hi Kukjin
Quoted 6 lines · Kukjin Kim
Quoted 1 line · Abhilash Kesavan
Hi,
Sorry for late response.
Quoted 7 lines
Quoted 3 lines
Remove symbols
SERIAL_SAMSUNG_UARTS_4andSERIAL_SAMSUNG_UARTSwhich select the number of UART ports available on the SoC. Replace the usage ofSERIAL_SAMSUNG_UARTSin the serial driver with the maximum number ofWell, as you know the number of uart ports are different on each Samsung SoCs so I don't think just using maximum number of uart ports are possible for new exynos7 SoC at this moment.
Thanks for the review.
The main reason for me sending this patch was so that we may be able to re-use the serial driver on arm64 based Exynos7 too. The two symbols mentioned above which depend onPLAT_SAMSUNGprevent this. I initially sent a patch which changed the dependency toSERIAL_SAMSUNGfor these 2 symbols. However, Tomasz suggested that a clean-up of these two symbols would be a better option.Please see the discussion of the previous version here:
https://lkml.org/lkml/2014/9/29/702
Quoted 9 lines
Quoted 6 lines
Quoted 4 lines
Quoted 1 line
Can you please let me know if the previous version is acceptable ?
Kukjin, can you please indicate the approach you would like me to take. Without this serial support is blocked on Exynos7.
Gentle reminder on this.
Hi Kukjin,
Hi Abhilash,
Quoted 1 line
I don't mean to nag, but this another reminder to review this.
Yeah, it's no problem for me ;)
Quoted 3 lines
Please let me know if you are too busy to have a look at this or require some more inputs from me.
Since I'm still having some objection on 2nd version, how about keeping current config options for serial for now and changing the dependency to SERIAL_SAMSUNG? And if required later, we can look into removal these config options later.
Thanks,
Kukjin
PATCH v2 2/2 tty: serial: samsung: Clean-up selection of number of available UARTs
Hi Kukjin,
Quoted 53 lines · Kukjin Kim
Quoted 39 lines · Abhilash Kesavan
Quoted 36 lines · Abhilash Kesavan
Hello Kukjin,
Quoted 32 lines · Abhilash Kesavan
Hi Kukjin,
Quoted 28 lines · Abhilash Kesavan
Hi Kukjin
Quoted 6 lines · Kukjin Kim
Quoted 1 line · Abhilash Kesavan
Hi,
Sorry for late response.
Quoted 7 lines
Quoted 3 lines
Remove symbols
SERIAL_SAMSUNG_UARTS_4andSERIAL_SAMSUNG_UARTSwhich select the number of UART ports available on the SoC. Replace the usage ofSERIAL_SAMSUNG_UARTSin the serial driver with the maximum number ofWell, as you know the number of uart ports are different on each Samsung SoCs so I don't think just using maximum number of uart ports are possible for new exynos7 SoC at this moment.
Thanks for the review.
The main reason for me sending this patch was so that we may be able to re-use the serial driver on arm64 based Exynos7 too. The two symbols mentioned above which depend onPLAT_SAMSUNGprevent this. I initially sent a patch which changed the dependency toSERIAL_SAMSUNGfor these 2 symbols. However, Tomasz suggested that a clean-up of these two symbols would be a better option.Please see the discussion of the previous version here:
https://lkml.org/lkml/2014/9/29/702Quoted 9 lines
Quoted 6 lines
Quoted 4 lines
Quoted 1 line
Can you please let me know if the previous version is acceptable ?
Kukjin, can you please indicate the approach you would like me to take. Without this serial support is blocked on Exynos7.
Gentle reminder on this.
Hi Kukjin,
Hi Abhilash,
Quoted 1 line
I don't mean to nag, but this another reminder to review this.
Quoted 8 lines
Yeah, it's no problem for me ;)
Quoted 3 lines
Please let me know if you are too busy to have a look at this or require some more inputs from me.
Since I'm still having some objection on 2nd version, how about keeping current config options for serial for now and changing the dependency to
SERIAL_SAMSUNG? And if required later, we can look into removal these config options later.
OK, thanks. My earlier patch [1] which does this still applies cleanly on linux-next. I will request Greg to review the patch.
I had a question regarding the merging of pending exynos7 patches.
The clock exynos7 support will go through your tree (according to [2]) and so must the exynos7 arch/dts support [3] due to the related dependencies. As part of the arch/dts support we are enabling the samsung serial driver in arm64 defconfig. This will cause build breakages without [1] being applied. So, I assume all 3 patch-sets will go through your tree once they have been ack'ed or is there some other way ?
[1] serial: samsung: Fix serial config dependencies for exynos7
https://patchwork.kernel.org/patch/4993521/
[2] GIT PULL] Samsung clock changes for 3.19
http://www.spinics.net/lists/arm-kernel/msg373962.html
[3] [PATCH v7 0/7] Enable support for Samsung Exynos7 SoC
http://www.spinics.net/lists/arm-kernel/msg375961.html
Quoted 4 lines
Thanks,
Kukjin
PATCH v2 1/2 arch: arm: samsung: Clean-up usage of CONFIG_SERIAL_SAMSUNG_UARTS symbol
In reply to Abhilash KesavanHi Kukjin,
Quoted 5 lines · Abhilash Kesavan
Remove usage of
CONFIG_SERIAL_SAMSUNG_UARTSsymbol from platform specific code.Signed-off-by Abhilash Kesavan <[email protected]>Reviewed-by Tomasz Figa <[email protected]>
Can you please pick this up if it looks OK ?
Abhilash
Quoted 68 lines
---
Changes in v2:
- Re-ordered the patches
- Added a define for number of uart ports inarch/arm/plat-samsung/init.c
- RemovedCONFIG_SERIAL_SAMSUNG#ifdef inarch/arm/plat-samsung/init.cBuild tested using
s3c2410_defconfig,s3c6400_defconfig,exynos_defconfigand arm64's defconfig with and without the serial driver enabled. Boot tested on Exynos5420 and Exynos7.arch/arm/mach-s3c64xx/irq-pm.c | 6 +++--- arch/arm/plat-samsung/init.c | 7 ++----- 2 files changed, 5 insertions(+), 8 deletions(-)arch/arm/mach-s3c64xx/irq-pm.c +3
-3@@ -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 ];arch/arm/plat-samsung/init.c +2
-6@@ -92,10 +92,9 @@ void __init s3c24xx_init_clocks(int xtal)/* uart management */ #if IS_ENABLED (CONFIG_SAMSUNG_ATAGS )static int nr_uarts__initdata =0 ; +#define MAX_UART_PORTS 4 -#ifdef CONFIG_SERIAL_SAMSUNG_UARTS -static struct s3c2410_uartcfg uart_cfgs[CONFIG_SERIAL_SAMSUNG_UARTS ]; -#endif +static struct s3c2410_uartcfg uart_cfgs[MAX_UART_PORTS ];/* s3c24xx_init_uartdevs * @@ -110,7 +109,6 @@ void __init s3c24xx_init_uartdevs(char *name,struct s3c24xx_uart_resources *res, struct s3c2410_uartcfg *cfg, int no) { -#ifdef CONFIG_SERIAL_SAMSUNG_UARTS struct platform_device *platdev;struct s3c2410_uartcfg *cfgptr = uart_cfgs;struct s3c24xx_uart_resources *resp;@@ -133,7 +131,6 @@ void __init s3c24xx_init_uartdevs(char *name, } nr_uarts = no; -#endif }void __init s3c24xx_init_uarts (struct s3c2410_uartcfg *cfg,int no) --1.7.9.5
PATCH v2 1/2 arch: arm: samsung: Clean-up usage of CONFIG_SERIAL_SAMSUNG_UARTS symbol
Hi Kukjin,
Quoted 10 lines · Abhilash Kesavan
Hi Kukjin,
Quoted 5 lines · Abhilash Kesavan
Remove usage of
CONFIG_SERIAL_SAMSUNG_UARTSsymbol from platform specific code.Signed-off-by Abhilash Kesavan <[email protected]>Reviewed-by Tomasz Figa <[email protected]>Can you please pick this up if it looks OK ?
A gentle reminder on these 2 patches.
Abhilash
Quoted 70 lines
Abhilash
Quoted 68 lines
---
Changes in v2:
- Re-ordered the patches
- Added a define for number of uart ports inarch/arm/plat-samsung/init.c
- RemovedCONFIG_SERIAL_SAMSUNG#ifdef inarch/arm/plat-samsung/init.cBuild tested using
s3c2410_defconfig,s3c6400_defconfig,exynos_defconfigand arm64's defconfig with and without the serial driver enabled. Boot tested on Exynos5420 and Exynos7.arch/arm/mach-s3c64xx/irq-pm.c | 6 +++--- arch/arm/plat-samsung/init.c | 7 ++----- 2 files changed, 5 insertions(+), 8 deletions(-)arch/arm/mach-s3c64xx/irq-pm.c +3
-3@@ -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 ];arch/arm/plat-samsung/init.c +2
-6@@ -92,10 +92,9 @@ void __init s3c24xx_init_clocks(int xtal)/* uart management */ #if IS_ENABLED (CONFIG_SAMSUNG_ATAGS )static int nr_uarts__initdata =0 ; +#define MAX_UART_PORTS 4 -#ifdef CONFIG_SERIAL_SAMSUNG_UARTS -static struct s3c2410_uartcfg uart_cfgs[CONFIG_SERIAL_SAMSUNG_UARTS ]; -#endif +static struct s3c2410_uartcfg uart_cfgs[MAX_UART_PORTS ];/* s3c24xx_init_uartdevs * @@ -110,7 +109,6 @@ void __init s3c24xx_init_uartdevs(char *name,struct s3c24xx_uart_resources *res, struct s3c2410_uartcfg *cfg, int no) { -#ifdef CONFIG_SERIAL_SAMSUNG_UARTS struct platform_device *platdev;struct s3c2410_uartcfg *cfgptr = uart_cfgs;struct s3c24xx_uart_resources *resp;@@ -133,7 +131,6 @@ void __init s3c24xx_init_uartdevs(char *name, } nr_uarts = no; -#endif }void __init s3c24xx_init_uarts (struct s3c2410_uartcfg *cfg,int no) --1.7.9.5