From f7848d90dde918423e6dfa462ec82bcdbba9defe Mon Sep 17 00:00:00 2001
From: Joe Hershberger <joe.hershberger@ni.com>
Date: Mon, 22 Jun 2015 17:57:36 -0500
Subject: [PATCH] Allow CONFIG_REGEX to be disabled when CONFIG_NET

Instead of selecting REGEX when NET is enabled, make it the default, but
allow boards that are tiny to disable it and lose functionality on all
but the first Ethernet adapter.

cm-bf548, bf538f-ezkit, and bf533-stamp need this. None appear to have
more than one Ethernet interface.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
---
 include/env_callback.h | 4 +++-
 lib/Kconfig            | 1 +
 net/Kconfig            | 1 -
 3 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/include/env_callback.h b/include/env_callback.h
index ab5d42dd81..90b95b5e66 100644
--- a/include/env_callback.h
+++ b/include/env_callback.h
@@ -33,8 +33,10 @@
 
 #ifdef CONFIG_REGEX
 #define ENV_DOT_ESCAPE "\\"
+#define ETHADDR_WILDCARD "\\d?"
 #else
 #define ENV_DOT_ESCAPE
+#define ETHADDR_WILDCARD
 #endif
 
 #ifdef CONFIG_CMD_DNS
@@ -53,7 +55,7 @@
 	"nvlan:nvlan," \
 	"vlan:vlan," \
 	DNS_CALLBACK \
-	"eth\\d?addr:ethaddr,"
+	"eth" ETHADDR_WILDCARD "addr:ethaddr,"
 #else
 #define NET_CALLBACKS
 #endif
diff --git a/lib/Kconfig b/lib/Kconfig
index 7ec8c98da2..c98d3997b7 100644
--- a/lib/Kconfig
+++ b/lib/Kconfig
@@ -38,6 +38,7 @@ config SYS_VSNPRINTF
 
 config REGEX
 	bool "Enable regular expression support"
+	default y if NET
 	help
 	  If this variable is defined, U-Boot is linked against the
 	  SLRE (Super Light Regular Expression) library, which adds
diff --git a/net/Kconfig b/net/Kconfig
index 9a9846e187..915371df91 100644
--- a/net/Kconfig
+++ b/net/Kconfig
@@ -4,7 +4,6 @@
 
 menuconfig NET
 	bool "Networking support"
-	select REGEX
 
 if NET
 
-- 
2.39.5