Re: [PATCH v3 1/3] usb: gadget: add quirk_ep_out_aligned_size fieldto struct usb_gadget

From: Alan Stern
Date: Wed Oct 30 2013 - 13:31:54 EST


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.

Alan Stern

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