summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJoe Hershberger <joe.hershberger@ni.com>2015-05-20 14:27:23 -0500
committerTom Rini <trini@konsulko.com>2015-05-21 09:13:20 -0400
commitfd3056337e6fcc140f400e11edd33f6f1cb37de1 (patch)
treed6c39687cff48c4f4600d63468814a4cf51fef37 /include
parent73c2bbeea3d09bb8c81adc8769fc53493b6c0351 (diff)
downloadtalos-obmc-uboot-fd3056337e6fcc140f400e11edd33f6f1cb37de1.tar.gz
talos-obmc-uboot-fd3056337e6fcc140f400e11edd33f6f1cb37de1.zip
net: Use env callbacks for net variables
Instead of checking for changes to the env each time we enter the net_loop, use the env callbacks to update the values of the variables. Don't update the variables when the source was programmatic, since the variables were the source of the new value. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'include')
-rw-r--r--include/env_callback.h22
1 files changed, 21 insertions, 1 deletions
diff --git a/include/env_callback.h b/include/env_callback.h
index 3de1093ff1..91f3cc013c 100644
--- a/include/env_callback.h
+++ b/include/env_callback.h
@@ -37,6 +37,26 @@
#define ENV_DOT_ESCAPE
#endif
+#ifdef CONFIG_CMD_DNS
+#define DNS_CALLBACK "dnsip:dnsip,"
+#else
+#define DNS_CALLBACK
+#endif
+
+#ifdef CONFIG_NET
+#define NET_CALLBACKS \
+ "bootfile:bootfile," \
+ "ipaddr:ipaddr," \
+ "gatewayip:gatewayip," \
+ "netmask:netmask," \
+ "serverip:serverip," \
+ "nvlan:nvlan," \
+ "vlan:vlan," \
+ DNS_CALLBACK
+#else
+#define NET_CALLBACKS
+#endif
+
/*
* This list of callback bindings is static, but may be overridden by defining
* a new association in the ".callbacks" environment variable.
@@ -44,7 +64,7 @@
#define ENV_CALLBACK_LIST_STATIC ENV_DOT_ESCAPE ENV_CALLBACK_VAR ":callbacks," \
ENV_DOT_ESCAPE ENV_FLAGS_VAR ":flags," \
"baudrate:baudrate," \
- "bootfile:bootfile," \
+ NET_CALLBACKS \
"loadaddr:loadaddr," \
SILENT_CALLBACK \
SPLASHIMAGE_CALLBACK \
OpenPOWER on IntegriCloud