diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2017-04-07 09:59:35 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2017-04-07 09:59:35 +0200 |
commit | 4cd023c77942f48efded3e9e47c2be823d5c8d82 (patch) | |
tree | b6790388da4c11d50cc7b22ee915fc6133b051c0 /commands/usbgadget.c | |
parent | 011aec6558e93b01c64202929a6ae90a334a3742 (diff) | |
parent | e4f81050e098074792730b61563538d9e394e3d6 (diff) | |
download | barebox-4cd023c77942f48efded3e9e47c2be823d5c8d82.tar.gz barebox-4cd023c77942f48efded3e9e47c2be823d5c8d82.tar.xz |
Merge branch 'for-next/misc'
Diffstat (limited to 'commands/usbgadget.c')
-rw-r--r-- | commands/usbgadget.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/commands/usbgadget.c b/commands/usbgadget.c index 314884aee8..02c2c96b02 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, ret; - int acm = 1, create_serial = 0; - char *fastboot_opts = NULL, *dfu_opts = NULL; + int acm = 1, create_serial = 0, fastboot_set = 0; + const 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; |