From affb413914b1a7e374a3509e9b3d14338010d676 Mon Sep 17 00:00:00 2001
From: Alessandro Rubini <rubini@gnudd.com>
Date: Wed, 31 Aug 2016 22:08:56 +0200
Subject: [PATCH] Kconfig: fix warnings

The new config tools are more picky. We got:

   Kconfig:22:warning: defaults for choice values not supported

and

  warning: (WR_SWITCH) selects UART which has unmet direct dependencies
             (DEVELOPER && EMBEDDED_NODE)

The latter is fixed adding WR_SWITCH in the dependencies. The former
is worked-around by using "IS_XINT" and friends in "choice", and
then "XINT" replicates the "IS_" choice.  I dislike it, because it's
repetition, but we really need CONFIG_PRINTF_XINT and friends in
pp_printf/

Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
---
 Kconfig | 31 ++++++++++++++++++++++---------
 1 file changed, 22 insertions(+), 9 deletions(-)

diff --git a/Kconfig b/Kconfig
index d43f45811..11d5c2a15 100644
--- a/Kconfig
+++ b/Kconfig
@@ -17,10 +17,6 @@ config PRINT_BUFSIZE
 	int
 	default 128
 
-config PRINTF_XINT
-	boolean
-	default y
-
 config RAMSIZE
 	int
 	default 65536 if WR_SWITCH
@@ -295,7 +291,7 @@ choice
 	prompt "Implementation of pp_printf"
 	depends on DEVELOPER && WR_NODE
 
-config PRINTF_XINT
+config PRINTF_IS_XINT
 	bool "hex-and-int"
 	help
 	  This selects a printf that can only print decimal and hex
@@ -303,7 +299,7 @@ config PRINTF_XINT
 	  supported too, and %p is equivalent to %x.
 	  See pp_printf/README for details.
 
-config PRINTF_FULL
+config PRINTF_IS_FULL
 	bool "full"
 	help
 	  This selects an implementation that supports all standard
@@ -311,7 +307,7 @@ config PRINTF_FULL
 	  around 2k of compiled code more than XINT.
 	  See pp_printf/README for details.
 
-config PRINTF_MINI
+config PRINTF_IS_MINI
 	bool "minimal"
 	help
 	  This selects a printf that prints all integers as hex,
@@ -319,7 +315,7 @@ config PRINTF_MINI
 	  supported too. See pp_printf/README for details.
 	  This is not probably what you want for wrpc-sw.
 
-config PRINTF_NONE
+config PRINTF_IS_NONE
 	bool "empty"
 	help
 	  This selects a printf that prints the format string
@@ -327,6 +323,23 @@ config PRINTF_NONE
 	  but not suited for wrpc-sw. See pp_printf/README for details.
 endchoice
 
+config PRINTF_XINT
+	boolean
+	default PRINTF_IS_XINT if (DEVELOPER && WR_NODE)
+	default y
+
+config PRINTF_FULL
+       boolean
+       default PRINTF_IS_FULL
+
+config PRINTF_MINI
+       boolean
+       default PRINTF_IS_MINI
+
+config PRINTF_NONE
+       boolean
+       default PRINTF_IS_NONE
+
 config PPSI
 	depends on WR_NODE
 	boolean
@@ -348,7 +361,7 @@ config DETERMINISTIC_BINARY
 
 config UART
 	boolean "Use hardware uart (and/or vuart if available)"
-	depends on DEVELOPER && EMBEDDED_NODE
+	depends on (DEVELOPER && EMBEDDED_NODE) || WR_SWITCH
 	help
 	  This option selects the serial driver, connected to either
 	  the USB socket, or "vuart" (software fifo) or both, according
-- 
GitLab