Convert CONFIG_KEEP_SERVERADDR to Kconfig
This converts the following to Kconfig:
CONFIG_KEEP_SERVERADDR
Drop the preprocessor usage also.
Signed-off-by: Simon Glass <sjg@chromium.org>
diff --git a/README b/README
index 5549849..560a181 100644
--- a/README
+++ b/README
@@ -1138,11 +1138,6 @@
server to contact when using the "tftboot" command.
(Environment variable "serverip")
- CONFIG_KEEP_SERVERADDR
-
- Keeps the server's MAC address, in the env 'serveraddr'
- for passing to bootargs (like Linux's netconsole option)
-
- Gateway IP address:
CONFIG_GATEWAYIP
diff --git a/include/configs/sandbox.h b/include/configs/sandbox.h
index cd7d99e..1dd21d5 100644
--- a/include/configs/sandbox.h
+++ b/include/configs/sandbox.h
@@ -25,7 +25,6 @@
#define CONFIG_SYS_BAUDRATE_TABLE {4800, 9600, 19200, 38400, 57600,\
115200}
-#define CONFIG_KEEP_SERVERADDR
#define CONFIG_UDP_CHECKSUM
#define CONFIG_TIMESTAMP
#define CONFIG_BOOTP_SERVERIP
diff --git a/net/Kconfig b/net/Kconfig
index cabe93c..8e9579a 100644
--- a/net/Kconfig
+++ b/net/Kconfig
@@ -99,4 +99,13 @@
receiving response from main DHCP server. Has no effect if
SERVERIP_FROM_PROXYDHCP is false.
+config KEEP_SERVERADDR
+ bool "Write the server's MAC address to 'serveraddr'"
+ default y if SANDBOX
+ help
+ Keeps the server's MAC address, in the env 'serveraddr'
+ for passing to bootargs (like Linux's netconsole option). If this is
+ enabled, when an ARP reply is received, the server's IP address is
+ written there.
+
endif # if NET
diff --git a/net/arp.c b/net/arp.c
index 1d06ed2..0b086dc 100644
--- a/net/arp.c
+++ b/net/arp.c
@@ -196,13 +196,12 @@
if (!arp_is_waiting())
break;
-#ifdef CONFIG_KEEP_SERVERADDR
- if (net_server_ip.s_addr == net_arp_wait_packet_ip.s_addr) {
+ if (IS_ENABLED(CONFIG_KEEP_SERVERADDR) &&
+ net_server_ip.s_addr == net_arp_wait_packet_ip.s_addr) {
char buf[20];
sprintf(buf, "%pM", &arp->ar_sha);
env_set("serveraddr", buf);
}
-#endif
reply_ip_addr = net_read_ip(&arp->ar_spa);