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, Jun 09, 2015 at 03:56:44PM +0300, Roger Quadros wrote:
> 
> 
> On Mon, 8 Jun 2015 23:01:56 +0800
> Li Jun <jun.li@xxxxxxxxxxxxx> wrote:
> 
> > From: Macpaul Lin <macpaul@xxxxxxxxx>
> > 
> > OTG 2.0 introduces bcdOTG to identify the OTG and EH supplement release
> > number with which the OTG device is compliant, so adds it for
> > usb_otg_descriptor.
> > 
> > Signed-off-by: Macpaul Lin <macpaul@xxxxxxxxx>
> > Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx>
> > ---
> >  include/uapi/linux/usb/ch9.h | 6 +++++-
> >  1 file changed, 5 insertions(+), 1 deletion(-)
> > 
> > diff --git a/include/uapi/linux/usb/ch9.h b/include/uapi/linux/usb/ch9.h
> > index aa33fd1..ce405fb 100644
> > --- a/include/uapi/linux/usb/ch9.h
> > +++ b/include/uapi/linux/usb/ch9.h
> > @@ -665,13 +665,17 @@ struct usb_qualifier_descriptor {
> >  
> >  
> >  /*-------------------------------------------------------------------------*/
> > +struct bcdOTG {
> > +	__le16 bcdOTG;
> > +};
> >  
> > -/* 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

Li Jun
> 
> >  } __attribute__ ((packed));
> >  
> >  /* from usb_otg_descriptor.bmAttributes */
> 
> cheers,
> -roger
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux