|
@@ -572,6 +572,7 @@ struct usb_gadget {
|
|
|
unsigned a_hnp_support:1;
|
|
|
unsigned a_alt_hnp_support:1;
|
|
|
unsigned quirk_ep_out_aligned_size:1;
|
|
|
+ unsigned quirk_altset_not_supp:1;
|
|
|
unsigned is_selfpowered:1;
|
|
|
unsigned deactivated:1;
|
|
|
unsigned connected:1;
|
|
@@ -609,6 +610,16 @@ usb_ep_align_maybe(struct usb_gadget *g, struct usb_ep *ep, size_t len)
|
|
|
round_up(len, (size_t)ep->desc->wMaxPacketSize);
|
|
|
}
|
|
|
|
|
|
+/**
|
|
|
+ * gadget_is_altset_supported - return true iff the hardware supports
|
|
|
+ * altsettings
|
|
|
+ * @g: controller to check for quirk
|
|
|
+ */
|
|
|
+static inline int gadget_is_altset_supported(struct usb_gadget *g)
|
|
|
+{
|
|
|
+ return !g->quirk_altset_not_supp;
|
|
|
+}
|
|
|
+
|
|
|
/**
|
|
|
* gadget_is_dualspeed - return true iff the hardware handles high speed
|
|
|
* @g: controller that might support both high and full speeds
|