[U-Boot] [PATCH] fastboot: allow retrieving fastboot variables from env
Steve Rae
steve.rae at broadcom.com
Tue Mar 22 23:25:12 CET 2016
On Thu, Mar 17, 2016 at 9:44 AM, Boris Brezillon <
boris.brezillon at free-electrons.com> wrote:
> 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);
> > }
>
>
Acked-by: Steve Rae <srae at broadcom.com>
>
>
> --
> Boris Brezillon, Free Electrons
> Embedded Linux and Kernel engineering
> http://free-electrons.com
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
>
More information about the U-Boot
mailing list