From fac379e1ea4090471c7fdbc184f83409ae4be942 Mon Sep 17 00:00:00 2001
From: Tuomas Tynkkynen <tuomas@tuxera.com>
Date: Mon, 9 Apr 2018 04:34:34 +0300
Subject: [PATCH] serial: Migrate CONFIG_FSL_LINFLEXUART to Kconfig

Signed-off-by: Tuomas Tynkkynen <tuomas@tuxera.com>
---
 configs/s32v234evb_defconfig        | 1 +
 drivers/serial/Kconfig              | 7 +++++++
 drivers/serial/serial_linflexuart.c | 4 ----
 include/configs/s32v234evb.h        | 1 -
 scripts/config_whitelist.txt        | 1 -
 5 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/configs/s32v234evb_defconfig b/configs/s32v234evb_defconfig
index c59abe1bd8..f64ed8535f 100644
--- a/configs/s32v234evb_defconfig
+++ b/configs/s32v234evb_defconfig
@@ -12,4 +12,5 @@ CONFIG_ENV_IS_IN_MMC=y
 CONFIG_DM=y
 CONFIG_FSL_ESDHC=y
 CONFIG_DM_SERIAL=y
+CONFIG_FSL_LINFLEXUART=y
 CONFIG_OF_LIBFDT=y
diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
index 3d5b2bf15f..4be8868536 100644
--- a/drivers/serial/Kconfig
+++ b/drivers/serial/Kconfig
@@ -454,6 +454,13 @@ config BCM6345_SERIAL
 	help
 	  Select this to enable UART on BCM6345 SoCs.
 
+config FSL_LINFLEXUART
+	bool "Freescale Linflex UART support"
+	depends on DM_SERIAL
+	help
+	  Select this to enable the Linflex serial module found on some
+	  NXP SoCs like S32V234.
+
 config FSL_LPUART
 	bool "Freescale LPUART support"
 	help
diff --git a/drivers/serial/serial_linflexuart.c b/drivers/serial/serial_linflexuart.c
index fbb39592d6..b706fdb398 100644
--- a/drivers/serial/serial_linflexuart.c
+++ b/drivers/serial/serial_linflexuart.c
@@ -35,10 +35,6 @@
 
 DECLARE_GLOBAL_DATA_PTR;
 
-#ifndef CONFIG_DM_SERIAL
-#error "The linflex serial driver does not have non-DM support."
-#endif
-
 static void _linflex_serial_setbrg(struct linflex_fsl *base, int baudrate)
 {
 	u32 clk = mxc_get_clock(MXC_UART_CLK);
diff --git a/include/configs/s32v234evb.h b/include/configs/s32v234evb.h
index 168658e023..127443f882 100644
--- a/include/configs/s32v234evb.h
+++ b/include/configs/s32v234evb.h
@@ -57,7 +57,6 @@
 #define CONFIG_SYS_MALLOC_LEN		(CONFIG_ENV_SIZE + 2 * 1024 * 1024)
 #endif
 
-#define CONFIG_FSL_LINFLEXUART
 #define LINFLEXUART_BASE		LINFLEXD0_BASE_ADDR
 
 #define CONFIG_DEBUG_UART_LINFLEXUART
diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt
index 7940719418..bd264469c2 100644
--- a/scripts/config_whitelist.txt
+++ b/scripts/config_whitelist.txt
@@ -673,7 +673,6 @@ CONFIG_FSL_IIM
 CONFIG_FSL_ISBC_KEY_EXT
 CONFIG_FSL_LAYERSCAPE
 CONFIG_FSL_LBC
-CONFIG_FSL_LINFLEXUART
 CONFIG_FSL_MC9SDZ60
 CONFIG_FSL_MEMAC
 CONFIG_FSL_NGPIXIS
-- 
2.39.5