Message ID | 1458231683-9886-1-git-send-email-boris.brezillon@free-electrons.com |
---|---|
State | Accepted |
Commit | 74322201dde4593dc3194c702e95e5760e6b497a |
Delegated to: | Tom Rini |
Headers | show |
On Thu, 17 Mar 2016 17:21:23 +0100 Boris Brezillon <boris.brezillon@free-electrons.com> wrote: > From: Rob Herring <rob.herring@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@linaro.org> > [Boris Brezillon: add a commit message] > Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com> > > Signed-off-by: Boris Brezillon <boris.brezillon@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); > }
On Thu, Mar 17, 2016 at 9:44 AM, Boris Brezillon < boris.brezillon@free-electrons.com> wrote: > On Thu, 17 Mar 2016 17:21:23 +0100 > Boris Brezillon <boris.brezillon@free-electrons.com> wrote: > > > From: Rob Herring <rob.herring@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@linaro.org> > > [Boris Brezillon: add a commit message] > > Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com> > > > > Signed-off-by: Boris Brezillon <boris.brezillon@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 >
On Thu, Mar 17, 2016 at 9:44 AM, Boris Brezillon < boris.brezillon@free-electrons.com> wrote: > On Thu, 17 Mar 2016 17:21:23 +0100 > Boris Brezillon <boris.brezillon@free-electrons.com> wrote: > > > From: Rob Herring <rob.herring@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@linaro.org> > > [Boris Brezillon: add a commit message] > > Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com> > > > > Signed-off-by: Boris Brezillon <boris.brezillon@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@broadcom.com> > > > -- > 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 >
On 03/17/2016 05:44 PM, Boris Brezillon wrote: > On Thu, 17 Mar 2016 17:21:23 +0100 > Boris Brezillon <boris.brezillon@free-electrons.com> wrote: > >> From: Rob Herring <rob.herring@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@linaro.org> >> [Boris Brezillon: add a commit message] >> Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com> >> >> Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com> > > Sorry for the duplicated SoB. Dropped the double-SoB and applied, thanks! Best regards, Marek Vasut
On Thu, Mar 17, 2016 at 05:21:23PM +0100, Boris BREZILLON wrote: > From: Rob Herring <rob.herring@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@linaro.org> > [Boris Brezillon: add a commit message] > Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com> > > Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com> > Acked-by: Steve Rae <srae@broadcom.com> Applied to u-boot/master, thanks!
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); }