[RFC PATCH 2/2] commands: usbgadget: provide fall back to global variables

Oleksij Rempel o.rempel at pengutronix.de
Fri Mar 24 02:07:25 PDT 2017


usbgadget autostarter is providing now a global variable to
configure fastboot. We can use is as fallback for the
cmd_usbgadget as well.

Signed-off-by: Oleksij Rempel <o.rempel at pengutronix.de>
---
 commands/usbgadget.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/commands/usbgadget.c b/commands/usbgadget.c
index a7e8d6c0c..9f250633d 100644
--- a/commands/usbgadget.c
+++ b/commands/usbgadget.c
@@ -20,6 +20,7 @@
  */
 #include <common.h>
 #include <command.h>
+#include <environment.h>
 #include <errno.h>
 #include <malloc.h>
 #include <getopt.h>
@@ -32,11 +33,11 @@
 static int do_usbgadget(int argc, char *argv[])
 {
 	int opt;
-	int acm = 1, create_serial = 0;
+	int acm = 1, create_serial = 0, fastboot_set = 0;
 	char *fastboot_opts = NULL, *dfu_opts = NULL;
 	struct f_multi_opts opts = {};
 
-	while ((opt = getopt(argc, argv, "asdA:D:")) > 0) {
+	while ((opt = getopt(argc, argv, "asdA::D:")) > 0) {
 		switch (opt) {
 		case 'a':
 			acm = 1;
@@ -51,6 +52,7 @@ static int do_usbgadget(int argc, char *argv[])
 			break;
 		case 'A':
 			fastboot_opts = optarg;
+			fastboot_set = 1;
 			break;
 		case 'd':
 			usb_multi_unregister();
@@ -60,6 +62,9 @@ static int do_usbgadget(int argc, char *argv[])
 		}
 	}
 
+	if (fastboot_set && !fastboot_opts)
+		fastboot_opts = getenv("global.usbgadget.fastboot_function");
+
 	if (!dfu_opts && !fastboot_opts && !create_serial)
 		return COMMAND_ERROR_USAGE;
 
-- 
2.11.0




More information about the barebox mailing list