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...@freescale.com> wrote:
> 
> > From: Macpaul Lin <macp...@gmail.com>
> > 
> > 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 <macp...@gmail.com>
> > Signed-off-by: Li Jun <jun...@freescale.com>
> > ---
> >  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 linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to