diff mbox series

[U-Boot,RFC,02/13] serial: S5P/Samsung: refactor and Kconfig-ize UART selection

Message ID 20171130012511.16333-3-andre.przywara@arm.com
State RFC
Delegated to: Tom Rini
Headers show
Series Nexell S5P6818 SoC support | expand

Commit Message

Andre Przywara Nov. 30, 2017, 1:25 a.m. UTC
Currently the UART used by some Samsung SoCs is selected by the
generic CONFIG_S5P define. This makes it hard to re-use that UART
without pulling in the whole of the S5P code. Also the Exynos SoCs
use this driver, which is in fact a generic Samsung UART driver.

So create a new Kconfig symbol CONFIG_SAMSUNG_UART to reflect this and
change the existing boards to use this symbol.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
---
 arch/arm/Kconfig              | 1 +
 arch/arm/mach-s5pc1xx/Kconfig | 2 ++
 drivers/serial/Kconfig        | 6 ++++++
 drivers/serial/Makefile       | 2 +-
 4 files changed, 10 insertions(+), 1 deletion(-)

Comments

Simon Glass Dec. 2, 2017, 3:30 a.m. UTC | #1
On 29 November 2017 at 18:25, Andre Przywara <andre.przywara@arm.com> wrote:
> Currently the UART used by some Samsung SoCs is selected by the
> generic CONFIG_S5P define. This makes it hard to re-use that UART
> without pulling in the whole of the S5P code. Also the Exynos SoCs
> use this driver, which is in fact a generic Samsung UART driver.
>
> So create a new Kconfig symbol CONFIG_SAMSUNG_UART to reflect this and
> change the existing boards to use this symbol.
>
> Signed-off-by: Andre Przywara <andre.przywara@arm.com>
> ---
>  arch/arm/Kconfig              | 1 +
>  arch/arm/mach-s5pc1xx/Kconfig | 2 ++
>  drivers/serial/Kconfig        | 6 ++++++
>  drivers/serial/Makefile       | 2 +-
>  4 files changed, 10 insertions(+), 1 deletion(-)

Reviewed-by: Simon Glass <sjg@chromium.org>
diff mbox series

Patch

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index e50ba930a1..88c8417120 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -557,6 +557,7 @@  config ARCH_EXYNOS
 	select DM_I2C
 	select DM_SPI_FLASH
 	select DM_SERIAL
+	select SAMSUNG_UART
 	select DM_SPI
 	select DM_GPIO
 	select DM_KEYBOARD
diff --git a/arch/arm/mach-s5pc1xx/Kconfig b/arch/arm/mach-s5pc1xx/Kconfig
index 04acdaad79..ab6628736c 100644
--- a/arch/arm/mach-s5pc1xx/Kconfig
+++ b/arch/arm/mach-s5pc1xx/Kconfig
@@ -7,10 +7,12 @@  choice
 config TARGET_S5P_GONI
 	bool "S5P Goni board"
 	select OF_CONTROL
+	select SAMSUNG_UART
 
 config TARGET_SMDKC100
 	bool "Support smdkc100 board"
 	select OF_CONTROL
+	select SAMSUNG_UART
 
 endchoice
 
diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
index 122b8e786a..a35100e7e7 100644
--- a/drivers/serial/Kconfig
+++ b/drivers/serial/Kconfig
@@ -428,6 +428,12 @@  config PIC32_SERIAL
 	help
 	  Support for the UART found on Microchip PIC32 SoC's.
 
+config SAMSUNG_UART
+	bool "Samsung S5P/Nexell UART support"
+	help
+	  Support for the UART found on various Samsung SoCs, for instance
+	  in the Exynos series or the S5P chips.
+
 config SYS_NS16550
 	bool "NS16550 UART or compatible"
 	help
diff --git a/drivers/serial/Makefile b/drivers/serial/Makefile
index 7adcee3e10..d7f6e6598f 100644
--- a/drivers/serial/Makefile
+++ b/drivers/serial/Makefile
@@ -25,7 +25,7 @@  obj-$(CONFIG_EFI_APP) += serial_efi.o
 obj-$(CONFIG_LPC32XX_HSUART) += lpc32xx_hsuart.o
 obj-$(CONFIG_MCFUART) += mcfuart.o
 obj-$(CONFIG_SYS_NS16550) += ns16550.o
-obj-$(CONFIG_S5P) += serial_s5p.o
+obj-$(CONFIG_SAMSUNG_UART) += serial_s5p.o
 obj-$(CONFIG_MXC_UART) += serial_mxc.o
 obj-$(CONFIG_PXA_SERIAL) += serial_pxa.o
 obj-$(CONFIG_MESON_SERIAL) += serial_meson.o