On Wed, Oct 30, 2013 at 01:31:50PM -0400, Alan Stern wrote:
> On Wed, 30 Oct 2013, David Cohen wrote:
> 
> > Due to USB controllers may have different restrictions, usb gadget layer
> > needs to provide a generic way to inform gadget functions to complain
> > with non-standard requirements.
> > 
> > This patch adds 'quirk_ep_out_aligned_size' field to struct usb_gadget
> > to inform when controller's epout requires buffer size to be aligned to
> > MaxPacketSize.
> > 
> > Signed-off-by: David Cohen <[email protected]>
> > ---
> >  include/linux/usb/gadget.h | 3 +++
> >  1 file changed, 3 insertions(+)
> > 
> > diff --git a/include/linux/usb/gadget.h b/include/linux/usb/gadget.h
> > index 942ef5e..9405d0f 100644
> > --- a/include/linux/usb/gadget.h
> > +++ b/include/linux/usb/gadget.h
> > @@ -540,6 +540,9 @@ struct usb_gadget {
> >     struct device                   dev;
> >     unsigned                        out_epnum;
> >     unsigned                        in_epnum;
> > +
> > +   /* epout requires buffer size to be aligned to MaxPacketSize */
> > +   unsigned                        quirk_ep_out_aligned_size:1;
> >  };
> >  #define work_to_gadget(w)  (container_of((w), struct usb_gadget, work))
> 
> Instead of adding this new bitflag to the end of the structure, where 
> it will cause the structure to grow by at least 4 bytes, why not add it 
> in the middle, along with all the other bitflags, where it won't cause 
> any change in the structure's size?
> 
> If you prefer, you can move the name, dev, out_epnum, and in_epnum 
> fields higher up, so that the bitflags come last.

I'd prefer moving the fields and having all bit-fields, last. Thanks

-- 
balbi

Attachment: signature.asc
Description: Digital signature

Reply via email to