[U-Boot] [PATCH] fastboot: allow retrieving fastboot variables from env
Boris Brezillon
boris.brezillon at free-electrons.com
Thu Mar 17 17:44:45 CET 2016
On Thu, 17 Mar 2016 17:21:23 +0100
Boris Brezillon <boris.brezillon at free-electrons.com> wrote:
> From: Rob Herring <rob.herring at 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.herring at linaro.org>
> [Boris Brezillon: add a commit message]
> Signed-off-by: Boris Brezillon <boris.brezillon at free-electrons.com>
>
> Signed-off-by: Boris Brezillon <boris.brezillon at 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
More information about the U-Boot
mailing list