Re: [PATCH v2 01/22] usb: add OTG version number in usb_otg_descriptor

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux