On Fri, 28 Aug 2015 08:11:59 +0200 Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> wrote: > On Fri, Aug 28, 2015 at 01:24:03AM +0300, Antony Pavlov wrote: > > drivers/usb/core/usb.c: In function 'usb_parse_config': > > drivers/usb/core/usb.c:194:28: error: 'struct usb_configuration' has no > > member named 'wTotalLength' > > le16_to_cpus(&(dev->config.wTotalLength)); > > ^ > > ... > > scripts/Makefile.build:249: recipe for target 'drivers/usb/core/usb.o' > > failed > > make[3]: *** [drivers/usb/core/usb.o] Error 1 > > scripts/Makefile.build:387: recipe for target 'drivers/usb/core' failed > > make[2]: *** [drivers/usb/core] Error 2 > > scripts/Makefile.build:387: recipe for target 'drivers/usb' failed > > make[1]: *** [drivers/usb] Error 2 > > Makefile:770: recipe for target 'drivers' failed > > make: *** [drivers] Error 2 > > > > see also > > > > commit 245069bcef15ecc19db616a967501349b76c84d0 > > Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> > > Date: Thu Jul 10 11:36:12 2014 +0200 > > > > USB: introduce usb_interface/usb_configuration structs > > > > Currently we have two conflicting definitions of struct > > usb_config_descriptor > > and struct usb_interface_descriptor in the tree. This is because the > > USB code > > uses additional fields in the structs for internal housekeeping. Add > > struct usb_interface and struct struct usb_configuration with the > > housekeeping > > data and embed the corresponding hardware structs into them. This > > frees the > > way to use the definitions from ch9.h in the next step. > > > > Signed-off-by: Antony Pavlov <antonynpavlov@xxxxxxxxx> > > --- > > drivers/usb/core/usb.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/usb/core/usb.c b/drivers/usb/core/usb.c > > index 9073fff..f8d6014 100644 > > --- a/drivers/usb/core/usb.c > > +++ b/drivers/usb/core/usb.c > > @@ -191,7 +191,7 @@ static int usb_parse_config(struct usb_device *dev, unsigned char *buffer, int c > > return -1; > > } > > memcpy(&dev->config, buffer, buffer[0]); > > - le16_to_cpus(&(dev->config.wTotalLength)); > > + le16_to_cpus(&(dev->config.desc.wTotalLength)); > > dev->config.no_of_if = 0; > > > What's WIP in this patch? It looks 100% correct. WIP means that I don't understand why nobody but me detected this build problem. Have you any idea? -- Best regards, Antony Pavlov _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox