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 <david.a.cohen@xxxxxxxxxxxxxxx> > > --- > > 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