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.

Alan Stern

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

Reply via email to