From 5a5c5178e7dc6a58a059fe4a1f4167a31809ccaf Mon Sep 17 00:00:00 2001 From: Ahmad Fatoum Date: Mon, 28 Sep 2020 16:45:05 +0200 Subject: usbgadget: autostart: support delayed usbgadget.autostart=1 So far, global.usbgadget.autostart=1 from the shell was without effect, because the variable is only evaluated once at postenvironment_initcall. Use the new globalvar_add_bool() to allow acting on the variable being true at any time. This is necessary for scripts that want to enable the usbgadget autostart functionality selectively without themselves hardcoding the particularities of what is exported. Signed-off-by: Ahmad Fatoum Signed-off-by: Sascha Hauer --- common/usbgadget.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/common/usbgadget.c b/common/usbgadget.c index b4f4ba04ca..be2bcc467d 100644 --- a/common/usbgadget.c +++ b/common/usbgadget.c @@ -101,7 +101,7 @@ int usbgadget_register(bool dfu, const char *dfu_opts, return ret; } -static int usbgadget_autostart(void) +static int usbgadget_autostart_set(struct param_d *param, void *ctx) { bool fastboot_bbu = get_fastboot_bbu(); @@ -110,12 +110,12 @@ static int usbgadget_autostart(void) return usbgadget_register(true, NULL, true, NULL, acm, fastboot_bbu); } -postenvironment_initcall(usbgadget_autostart); static int usbgadget_globalvars_init(void) { if (IS_ENABLED(CONFIG_USB_GADGET_AUTOSTART)) { - globalvar_add_simple_bool("usbgadget.autostart", &autostart); + globalvar_add_bool("usbgadget.autostart", usbgadget_autostart_set, + &autostart, NULL); globalvar_add_simple_bool("usbgadget.acm", &acm); } globalvar_add_simple_string("usbgadget.dfu_function", &dfu_function); -- cgit v1.2.3