[RFC 2/9] WIP: fix drivers/usb/core/usb.c

Antony Pavlov antonynpavlov at gmail.com
Thu Aug 27 15:24:03 PDT 2015

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'
scripts/Makefile.build:249: recipe for target 'drivers/usb/core/usb.o'
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 at pengutronix.de>
Date:   Thu Jul 10 11:36:12 2014 +0200

    USB: introduce usb_interface/usb_configuration structs

    Currently we have two conflicting definitions of struct
    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
    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 at gmail.com>
 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;
 	index = dev->config.desc.bLength;

More information about the barebox mailing list