On Thu, 17 Mar 2016 17:21:23 +0100
Boris Brezillon <boris.brezil...@free-electrons.com> wrote:

> From: Rob Herring <rob.herr...@linaro.org>
> 
> Some boards need to expose device specific variable through fastboot
> (to adpat the flashing script depending on hardware revision for
> example).
> 
> Provide a way to expose custom fastboot variables. Note that all
> variables meant to be exposed through fastboot should be be prefixed
> with 'fastboot.', the variable should not exceed 32 bytes (including
> the prefix and the trailing '\0') and the variable content should
> fit in the response buffer (60 bytes excluding the 'OKAY' prefix and
> the trailing '\0').
> 
> Signed-off-by: Rob Herring <rob.herr...@linaro.org>
> [Boris Brezillon: add a commit message]
> Signed-off-by: Boris Brezillon <boris.brezil...@free-electrons.com>
> 
> Signed-off-by: Boris Brezillon <boris.brezil...@free-electrons.com>

Sorry for the duplicated SoB.

> ---
>  drivers/usb/gadget/f_fastboot.c | 12 ++++++++++--
>  1 file changed, 10 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/usb/gadget/f_fastboot.c b/drivers/usb/gadget/f_fastboot.c
> index a54b4ee..2e87fee 100644
> --- a/drivers/usb/gadget/f_fastboot.c
> +++ b/drivers/usb/gadget/f_fastboot.c
> @@ -413,8 +413,16 @@ static void cb_getvar(struct usb_ep *ep, struct 
> usb_request *req)
>               else
>                       strcpy(response, "FAILValue not set");
>       } else {
> -             printf("WARNING: unknown variable: %s\n", cmd);
> -             strcpy(response, "FAILVariable not implemented");
> +             char envstr[32];
> +
> +             snprintf(envstr, sizeof(envstr) - 1, "fastboot.%s", cmd);
> +             s = getenv(envstr);
> +             if (s) {
> +                     strncat(response, s, chars_left);
> +             } else {
> +                     printf("WARNING: unknown variable: %s\n", cmd);
> +                     strcpy(response, "FAILVariable not implemented");
> +             }
>       }
>       fastboot_tx_write_str(response);
>  }



-- 
Boris Brezillon, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to