Hi, Jun Li writes: >> -----Original Message----- >> From: linux-usb-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org [mailto:linux-usb- >> owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org] On Behalf Of Baolin Wang >> Sent: Wednesday, April 06, 2016 6:47 PM >> To: Peter Chen >> Cc: Felipe Balbi ; Greg KH ; >> Sebastian Reichel ; Dmitry Eremin-Solenikov >> ; David Woodhouse ; Peter Chen >> ; Alan Stern ; >> r.baldyga-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org; Yoshihiro Shimoda >> ; Lee Jones ; Mark >> Brown ; Charles Keepax >> ; patches-yzvPICuk2AATkU/dhu1WVueM+bqZidxxxddQ6fo/n9Y@public.gmane.orgom; >> Linux PM list ; USB ; >> device-mainlining-cunTk1MwBs98uUxBSJOaYoYkZiVZrdSR2LY78lusg7I@public.gmane.org; LKML > kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org> >> Subject: Re: [PATCH v9 2/4] gadget: Support for the usb charger framework >> >> On 6 April 2016 at 15:19, Peter Chen wrote: >> > On Fri, Apr 01, 2016 at 03:21:50PM +0800, Baolin Wang wrote: >> >> >> >> @@ -563,6 +564,8 @@ struct usb_gadget_ops { >> >> struct usb_ep *(*match_ep)(struct usb_gadget *, >> >> struct usb_endpoint_descriptor *, >> >> struct usb_ss_ep_comp_descriptor *); >> >> + /* get the charger type */ >> >> + enum usb_charger_type (*get_charger_type)(struct usb_gadget *); >> >> }; >> > >> > Since we already have get_charger_type callback at usb_charger >> > structure, why we still need this API at usb_gadget_ops? >> >> In case some users want to get charger type at gadget level. >> > Why gadget needs to know charger type? I also don't catch the intent of because some gadgets need to call usb_gadget_vbus_draw(), although for that they need power in mA rather. > This api, as my understanding, gadget only need report gadget state changes. > All information required for usb charger is charger type and gadget state. you're making an assumption about how the HW is laid out which might not be true. -- balbi