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 <a.fatoum@xxxxxxxxxxxxxx> --- common/usbgadget.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/common/usbgadget.c b/common/usbgadget.c index b4f4ba04ca8c..be2bcc467d72 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); -- 2.28.0 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox