On Tue, Jun 09, 2015 at 10:16:23AM -0400, Alan Stern wrote:
> On Tue, 9 Jun 2015, Li Jun wrote:
>
> > > > -/* 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
> > 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.0
>
> In 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.
That should be, I will try your suggested approach, thanks.
Li Jun
>
> Alan Stern
>
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html