[U-Boot] [PATCH v2 01/11] net: Make CMD_NET a menuconfig

Joe Hershberger joe.hershberger at ni.com
Fri Apr 13 20:26:30 UTC 2018


Previously, CMD_NET was an alias for 2 commands (bootp and tftpboot) and
they we not able to be disabled. Separate out those 2 commands and move
CMD_NET up to the menu level, which more accurately represents the code.

Signed-off-by: Joe Hershberger <joe.hershberger at ni.com>

Reviewed-by: Chris Packham <judge.packham at gmail.com>
Reviewed-by: Duncan Hare <dh at synoia.com>
---

Changes in v2: None

 cmd/Kconfig  | 25 +++++++++++++++++--------
 cmd/net.c    |  4 ++++
 net/Kconfig  | 19 +++++++++----------
 net/Makefile |  4 ++--
 4 files changed, 32 insertions(+), 20 deletions(-)

diff --git a/cmd/Kconfig b/cmd/Kconfig
index d440675..fb74227 100644
--- a/cmd/Kconfig
+++ b/cmd/Kconfig
@@ -1021,25 +1021,35 @@ config CMD_SETEXPR
 
 endmenu
 
-menu "Network commands"
-
 if NET
 
-config CMD_NET
-	bool "bootp, tftpboot"
+menuconfig CMD_NET
+	bool "Network commands"
+	default y
+
+if CMD_NET
+
+config CMD_BOOTP
+	bool "bootp"
 	default y
 	help
-	  Network commands.
 	  bootp - boot image via network using BOOTP/TFTP protocol
+
+config CMD_TFTPBOOT
+	bool "tftpboot"
+	default y
+	help
 	  tftpboot - boot image via network using TFTP protocol
 
 config CMD_TFTPPUT
 	bool "tftp put"
+	depends on CMD_TFTPBOOT
 	help
 	  TFTP put command, for uploading files to a server
 
 config CMD_TFTPSRV
 	bool "tftpsrv"
+	depends on CMD_TFTPBOOT
 	help
 	  Act as a TFTP server and boot the first received file
 
@@ -1050,13 +1060,12 @@ config CMD_RARP
 
 config CMD_DHCP
 	bool "dhcp"
-	depends on CMD_NET
+	depends on CMD_BOOTP
 	help
 	  Boot image via network using DHCP/TFTP protocol
 
 config CMD_PXE
 	bool "pxe"
-	depends on CMD_NET
 	select MENU
 	help
 	  Boot image via network using PXE protocol
@@ -1107,7 +1116,7 @@ config CMD_ETHSW
 
 endif
 
-endmenu
+endif
 
 menu "Misc commands"
 
diff --git a/cmd/net.c b/cmd/net.c
index d7c776a..67888d4 100644
--- a/cmd/net.c
+++ b/cmd/net.c
@@ -14,6 +14,7 @@
 
 static int netboot_common(enum proto_t, cmd_tbl_t *, int, char * const []);
 
+#ifdef CONFIG_CMD_BOOTP
 static int do_bootp(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	return netboot_common(BOOTP, cmdtp, argc, argv);
@@ -24,7 +25,9 @@ U_BOOT_CMD(
 	"boot image via network using BOOTP/TFTP protocol",
 	"[loadAddress] [[hostIPaddr:]bootfilename]"
 );
+#endif
 
+#ifdef CONFIG_CMD_TFTPBOOT
 int do_tftpb(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	int ret;
@@ -40,6 +43,7 @@ U_BOOT_CMD(
 	"boot image via network using TFTP protocol",
 	"[loadAddress] [[hostIPaddr:]bootfilename]"
 );
+#endif
 
 #ifdef CONFIG_CMD_TFTPPUT
 static int do_tftpput(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
diff --git a/net/Kconfig b/net/Kconfig
index 143c441..d421a34 100644
--- a/net/Kconfig
+++ b/net/Kconfig
@@ -24,7 +24,7 @@ config NETCONSOLE
 
 config NET_TFTP_VARS
 	bool "Control TFTP timeout and count through environment"
-	depends on CMD_NET
+	depends on CMD_TFTPBOOT
 	default y
 	help
 	  If set, allows controlling the TFTP timeout through the
@@ -35,39 +35,38 @@ config NET_TFTP_VARS
 
 config BOOTP_BOOTPATH
 	bool "Enable BOOTP BOOTPATH"
-	depends on CMD_NET
+	depends on CMD_BOOTP
 
 config BOOTP_DNS
 	bool "Enable bootp DNS"
-	depends on CMD_NET
+	depends on CMD_BOOTP
 
 config BOOTP_GATEWAY
 	bool "Enable BOOTP gateway"
-	depends on CMD_NET
+	depends on CMD_BOOTP
 
 config BOOTP_HOSTNAME
 	bool "Enable BOOTP hostname"
-	depends on CMD_NET
+	depends on CMD_BOOTP
 
 config BOOTP_PXE
 	bool "Enable BOOTP PXE"
-	depends on CMD_NET
+	depends on CMD_BOOTP
 
 config BOOTP_SUBNETMASK
 	bool "Enable BOOTP subnetmask"
-	depends on CMD_NET
-	depends on CMD_NET
+	depends on CMD_BOOTP
 
 config BOOTP_PXE_CLIENTARCH
 	hex
-	depends on CMD_NET
+	depends on CMD_BOOTP
         default 0x16 if ARM64
         default 0x15 if ARM
         default 0 if X86
 
 config BOOTP_VCI_STRING
 	string
-	depends on CMD_NET
+	depends on CMD_BOOTP
 	default "U-Boot.armv7" if CPU_V7 || CPU_V7M
 	default "U-Boot.armv8" if ARM64
 	default "U-Boot.arm" if ARM
diff --git a/net/Makefile b/net/Makefile
index ae54eee..ed102ec 100644
--- a/net/Makefile
+++ b/net/Makefile
@@ -9,7 +9,7 @@
 
 obj-y += checksum.o
 obj-$(CONFIG_CMD_NET)  += arp.o
-obj-$(CONFIG_CMD_NET)  += bootp.o
+obj-$(CONFIG_CMD_BOOTP) += bootp.o
 obj-$(CONFIG_CMD_CDP)  += cdp.o
 obj-$(CONFIG_CMD_DNS)  += dns.o
 ifdef CONFIG_DM_ETH
@@ -24,7 +24,7 @@ obj-$(CONFIG_CMD_NFS)  += nfs.o
 obj-$(CONFIG_CMD_PING) += ping.o
 obj-$(CONFIG_CMD_RARP) += rarp.o
 obj-$(CONFIG_CMD_SNTP) += sntp.o
-obj-$(CONFIG_CMD_NET)  += tftp.o
+obj-$(CONFIG_CMD_TFTPBOOT) += tftp.o
 
 # Disable this warning as it is triggered by:
 # sprintf(buf, index ? "foo%d" : "foo", index)
-- 
1.7.11.5



More information about the U-Boot mailing list