On 1/22/2021 8:24 AM, Alan Stern wrote: > 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@xxxxxxxxxxxxxx> > > >> --- 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 > Hi Alan, Thanks for pointing that out. I missed that, and will add it to the next rev. Thanks Wesley Cheng -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project