pl011: Convert CONFIG_PL011_SERIAL to Kconfig

We want to use Kconfig logic to depend on whether pl01x devices
are built in, so let's convert their inclusion selection to Kconfig.

This round goes to pl011.

Signed-off-by: Alexander Graf <agraf@suse.de>
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index f159124..b7ca10e 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -400,49 +400,58 @@
 	bool "Support apx4devkit"
 	select CPU_ARM926EJS
 	select SUPPORT_SPL
+	select PL011_SERIAL
 
 config TARGET_XFI3
 	bool "Support xfi3"
 	select CPU_ARM926EJS
 	select SUPPORT_SPL
+	select PL011_SERIAL
 
 config TARGET_M28EVK
 	bool "Support m28evk"
 	select CPU_ARM926EJS
 	select SUPPORT_SPL
+	select PL011_SERIAL
 
 config TARGET_MX23EVK
 	bool "Support mx23evk"
 	select CPU_ARM926EJS
 	select SUPPORT_SPL
 	select BOARD_EARLY_INIT_F
+	select PL011_SERIAL
 
 config TARGET_MX28EVK
 	bool "Support mx28evk"
 	select CPU_ARM926EJS
 	select SUPPORT_SPL
 	select BOARD_EARLY_INIT_F
+	select PL011_SERIAL
 
 config TARGET_MX23_OLINUXINO
 	bool "Support mx23_olinuxino"
 	select CPU_ARM926EJS
 	select SUPPORT_SPL
 	select BOARD_EARLY_INIT_F
+	select PL011_SERIAL
 
 config TARGET_BG0900
 	bool "Support bg0900"
 	select CPU_ARM926EJS
 	select SUPPORT_SPL
+	select PL011_SERIAL
 
 config TARGET_SANSA_FUZE_PLUS
 	bool "Support sansa_fuze_plus"
 	select CPU_ARM926EJS
 	select SUPPORT_SPL
+	select PL011_SERIAL
 
 config TARGET_SC_SPS_1
 	bool "Support sc_sps_1"
 	select CPU_ARM926EJS
 	select SUPPORT_SPL
+	select PL011_SERIAL
 
 config ORION5X
 	bool "Marvell Orion"
@@ -453,24 +462,28 @@
 	select CPU_ARM926EJS
 	select BOARD_EARLY_INIT_F
 	imply CMD_SAVES
+	select PL011_SERIAL
 
 config TARGET_SPEAR310
 	bool "Support spear310"
 	select CPU_ARM926EJS
 	select BOARD_EARLY_INIT_F
 	imply CMD_SAVES
+	select PL011_SERIAL
 
 config TARGET_SPEAR320
 	bool "Support spear320"
 	select CPU_ARM926EJS
 	select BOARD_EARLY_INIT_F
 	imply CMD_SAVES
+	select PL011_SERIAL
 
 config TARGET_SPEAR600
 	bool "Support spear600"
 	select CPU_ARM926EJS
 	select BOARD_EARLY_INIT_F
 	imply CMD_SAVES
+	select PL011_SERIAL
 
 config TARGET_STV0991
 	bool "Support stv0991"
@@ -486,6 +499,7 @@
 	select BOARD_LATE_INIT
 	select CPU_ARM926EJS
 	select SUPPORT_SPL
+	select PL011_SERIAL
 
 config TARGET_IMX31_PHYCORE
 	bool "Support imx31_phycore_eet"
@@ -541,14 +555,17 @@
 	select CPU_V7
 	select CPU_V7_HAS_NONSEC
 	select CPU_V7_HAS_VIRT
+	select PL011_SERIAL
 
 config TARGET_VEXPRESS_CA5X2
 	bool "Support vexpress_ca5x2"
 	select CPU_V7
+	select PL011_SERIAL
 
 config TARGET_VEXPRESS_CA9X4
 	bool "Support vexpress_ca9x4"
 	select CPU_V7
+	select PL011_SERIAL
 
 config TARGET_BCM23550_W1D
 	bool "Support bcm23550_w1d"
@@ -607,6 +624,7 @@
 config ARCH_HIGHBANK
 	bool "Calxeda Highbank"
 	select CPU_V7
+	select PL011_SERIAL
 
 config ARCH_INTEGRATOR
 	bool "ARM Ltd. Integrator family"
@@ -762,6 +780,7 @@
 	bool "Support TS4600"
 	select CPU_ARM926EJS
 	select SUPPORT_SPL
+	select PL011_SERIAL
 
 config ARCH_VF610
 	bool "Freescale Vybrid"
diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
index 2816121..99aa817 100644
--- a/drivers/serial/Kconfig
+++ b/drivers/serial/Kconfig
@@ -453,6 +453,12 @@
 	help
 	  Select this to enable a UART for platforms using PL010.
 
+config PL011_SERIAL
+	bool "ARM PL011 driver"
+	depends on !DM_SERIAL
+	help
+	  Select this to enable a UART for platforms using PL011.
+
 config ROCKCHIP_SERIAL
 	bool "Rockchip on-chip UART support"
 	depends on DM_SERIAL && SPL_OF_PLATDATA
diff --git a/include/configs/highbank.h b/include/configs/highbank.h
index a5a5240..726ae8a 100644
--- a/include/configs/highbank.h
+++ b/include/configs/highbank.h
@@ -22,7 +22,6 @@
  */
 #define CONFIG_SYS_MALLOC_LEN		(512 * 1024)
 
-#define CONFIG_PL011_SERIAL
 #define CONFIG_PL011_CLOCK		150000000
 #define CONFIG_PL01x_PORTS		{ (void *)(0xFFF36000) }
 #define CONFIG_CONS_INDEX		0
diff --git a/include/configs/mxs.h b/include/configs/mxs.h
index 804b9e1..3a27c15 100644
--- a/include/configs/mxs.h
+++ b/include/configs/mxs.h
@@ -108,7 +108,6 @@
  * DUART Serial Driver.
  * Conflicts with AUART driver which can be set by board.
  */
-#define CONFIG_PL011_SERIAL
 #define CONFIG_PL011_CLOCK		24000000
 #define CONFIG_PL01x_PORTS		{ (void *)MXS_UARTDBG_BASE }
 #define CONFIG_CONS_INDEX		0
diff --git a/include/configs/spear-common.h b/include/configs/spear-common.h
index 349232e..c123e44 100644
--- a/include/configs/spear-common.h
+++ b/include/configs/spear-common.h
@@ -76,7 +76,6 @@
  * Serial Configuration (PL011)
  * CONFIG_PL01x_PORTS is defined in specific files
  */
-#define CONFIG_PL011_SERIAL
 #define CONFIG_PL011_CLOCK			(48 * 1000 * 1000)
 #define CONFIG_CONS_INDEX			0
 #define CONFIG_SYS_BAUDRATE_TABLE		{ 9600, 19200, 38400, \
diff --git a/include/configs/vexpress_aemv8a.h b/include/configs/vexpress_aemv8a.h
index 6203e14..f18e2ee 100644
--- a/include/configs/vexpress_aemv8a.h
+++ b/include/configs/vexpress_aemv8a.h
@@ -111,7 +111,6 @@
 /* PL011 Serial Configuration */
 #define CONFIG_CONS_INDEX		0
 #define CONFIG_PL01X_SERIAL
-#define CONFIG_PL011_SERIAL
 #ifdef CONFIG_TARGET_VEXPRESS64_JUNO
 #define CONFIG_PL011_CLOCK		7273800
 #else
diff --git a/include/configs/vexpress_common.h b/include/configs/vexpress_common.h
index 294ca18..94a352f 100644
--- a/include/configs/vexpress_common.h
+++ b/include/configs/vexpress_common.h
@@ -133,7 +133,6 @@
 #define CONFIG_SYS_TIMER_COUNTS_DOWN
 
 /* PL011 Serial Configuration */
-#define CONFIG_PL011_SERIAL
 #define CONFIG_PL011_CLOCK		24000000
 #define CONFIG_PL01x_PORTS		{(void *)CONFIG_SYS_SERIAL0, \
 					 (void *)CONFIG_SYS_SERIAL1}
diff --git a/include/configs/x600.h b/include/configs/x600.h
index 4aa5a2a..66a8e88 100644
--- a/include/configs/x600.h
+++ b/include/configs/x600.h
@@ -38,7 +38,6 @@
 #define CONFIG_SYS_SERIAL1			0xD0080000
 #define CONFIG_PL01x_PORTS			{ (void *)CONFIG_SYS_SERIAL0, \
 						(void *)CONFIG_SYS_SERIAL1 }
-#define CONFIG_PL011_SERIAL
 #define CONFIG_PL011_CLOCK			(48 * 1000 * 1000)
 #define CONFIG_CONS_INDEX			0
 #define CONFIG_SYS_BAUDRATE_TABLE		{ 9600, 19200, 38400, \
diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt
index 063d03be..520b910 100644
--- a/scripts/config_whitelist.txt
+++ b/scripts/config_whitelist.txt
@@ -1618,7 +1618,6 @@
 CONFIG_PIXIS_BRDCFG1_TDM
 CONFIG_PIXIS_SGMII_CMD
 CONFIG_PL011_CLOCK
-CONFIG_PL011_SERIAL
 CONFIG_PL011_SERIAL_RLCR
 CONFIG_PL01X_SERIAL
 CONFIG_PL01x_PORTS