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 'quirks' field to struct usb_gadget and the first quirk called USB_GADGET_QUIRK_EP_OUT_ALIGNED_SIZE necessary 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 | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/include/linux/usb/gadget.h b/include/linux/usb/gadget.h index 942ef5e..7014ad9 100644 --- a/include/linux/usb/gadget.h +++ b/include/linux/usb/gadget.h @@ -540,6 +540,11 @@ struct usb_gadget { struct device dev; unsigned out_epnum; unsigned in_epnum; + + u32 quirks; +/* epout requires buffer size to be aligned to MaxPacketSize */ +#define USB_GADGET_QUIRK_EP_OUT_ALIGNED_SIZE (1 << 0) + }; #define work_to_gadget(w) (container_of((w), struct usb_gadget, work)) -- 1.8.4.rc3 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html