Re: [PATCH v2 01/22] usb: add OTG version number in usb_otg_descriptor
From: Roger Quadros <hidden>
Date: 2015-06-09 15:15:04
On Tue, 9 Jun 2015 10:16:23 -0400 Alan Stern [off-list ref] wrote:
On Tue, 9 Jun 2015, Li Jun wrote:quoted
quoted
quoted
-/* USB_DT_OTG (from OTG 1.0a supplement) */ +/* USB_DT_OTG */ struct usb_otg_descriptor { __u8 bLength; __u8 bDescriptorType; __u8 bmAttributes; /* support for HNP, SRP, etc */ + struct bcdOTG otg_rev[0];why not just __le16 bcdOTG here ?usb_otg_descriptor of OTG 1.0 and 2.0 have different size, if directly add __le16 bcdOTG here, then it cannot used for OTG 1.0. I use a zero length array as Peter suggested here for bcdOTG, then the size of usb_otg_descriptor is still 3(not 5), which is compliant with OTG 1.x, if OTG
where does the memory for the zero length array pointer get allocated then?
quoted
2.0 or later, we can use member of otg_rev to add bcdOTG, then the size of usb_otg_descriptor + bcdOTG will be 5, in one word, I want to use existing usb_otg_descriptor struct to cover both OTG 1.x and 2.0In the end, you may find it is simpler to use two different structures: usb_otg_descriptor and usb_otg_20_descriptor. Try it and see.
cheers, -roger -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html