Messages in this thread | | | Date | Fri, 22 Jan 2021 11:24:47 -0500 | From | Alan Stern <> | Subject | Re: [PATCH v6 1/4] usb: gadget: udc: core: Introduce check_config to verify USB configuration |
| |
On Thu, Jan 21, 2021 at 08:01:37PM -0800, Wesley Cheng wrote: > Some UDCs may have constraints on how many high bandwidth endpoints it can > support in a certain configuration. This API allows for the composite > driver to pass down the total number of endpoints to the UDC so it can verify > it has the required resources to support the configuration. > > Signed-off-by: Wesley Cheng <wcheng@codeaurora.org>
> --- a/include/linux/usb/gadget.h > +++ b/include/linux/usb/gadget.h > @@ -328,6 +328,7 @@ struct usb_gadget_ops { > struct usb_ep *(*match_ep)(struct usb_gadget *, > struct usb_endpoint_descriptor *, > struct usb_ss_ep_comp_descriptor *); > + int (*check_config)(struct usb_gadget *gadget, unsigned long ep_map); > }; > > /** > @@ -607,6 +608,7 @@ int usb_gadget_connect(struct usb_gadget *gadget); > int usb_gadget_disconnect(struct usb_gadget *gadget); > int usb_gadget_deactivate(struct usb_gadget *gadget); > int usb_gadget_activate(struct usb_gadget *gadget); > +int usb_gadget_check_config(struct usb_gadget *gadget, unsigned long ep_map); > #else > static inline int usb_gadget_frame_number(struct usb_gadget *gadget) > { return 0; }
Don't you also need an entry for the case where CONFIG_USB_GADGET isn't enabled?
Alan Stern
| |