> -----Original Message----- > From: Felipe Balbi [mailto:ba...@kernel.org] > Sent: Wednesday, April 06, 2016 8:22 PM > To: Jun Li <jun...@nxp.com>; Baolin Wang <baolin.w...@linaro.org>; Peter > Chen <hzpeterc...@gmail.com> > Cc: Greg KH <gre...@linuxfoundation.org>; Sebastian Reichel > <s...@kernel.org>; Dmitry Eremin-Solenikov <dbarysh...@gmail.com>; David > Woodhouse <dw...@infradead.org>; Peter Chen <peter.c...@freescale.com>; > Alan Stern <st...@rowland.harvard.edu>; r.bald...@samsung.com; Yoshihiro > Shimoda <yoshihiro.shimoda...@renesas.com>; Lee Jones > <lee.jo...@linaro.org>; Mark Brown <broo...@kernel.org>; Charles Keepax > <ckee...@opensource.wolfsonmicro.com>; patc...@opensource.wolfsonmicro.com; > Linux PM list <linux...@vger.kernel.org>; USB <linux-usb@vger.kernel.org>; > device-mainlin...@lists.linuxfoundation.org; LKML <linux- > ker...@vger.kernel.org> > Subject: RE: [PATCH v9 2/4] gadget: Support for the usb charger framework > > > Hi, > > Jun Li <jun...@nxp.com> writes: > >> -----Original Message----- > >> From: linux-usb-ow...@vger.kernel.org [mailto:linux-usb- > >> ow...@vger.kernel.org] On Behalf Of Baolin Wang > >> Sent: Wednesday, April 06, 2016 6:47 PM > >> To: Peter Chen <hzpeterc...@gmail.com> > >> Cc: Felipe Balbi <ba...@kernel.org>; Greg KH > >> <gre...@linuxfoundation.org>; Sebastian Reichel <s...@kernel.org>; > >> Dmitry Eremin-Solenikov <dbarysh...@gmail.com>; David Woodhouse > >> <dw...@infradead.org>; Peter Chen <peter.c...@freescale.com>; Alan > >> Stern <st...@rowland.harvard.edu>; r.bald...@samsung.com; Yoshihiro > >> Shimoda <yoshihiro.shimoda...@renesas.com>; Lee Jones > >> <lee.jo...@linaro.org>; Mark Brown <broo...@kernel.org>; Charles > >> Keepax <ckee...@opensource.wolfsonmicro.com>; > >> patc...@opensource.wolfsonmicro.com; > >> Linux PM list <linux...@vger.kernel.org>; USB > >> <linux-usb@vger.kernel.org>; > >> device-mainlin...@lists.linuxfoundation.org; LKML <linux- > >> ker...@vger.kernel.org> > >> Subject: Re: [PATCH v9 2/4] gadget: Support for the usb charger > >> framework > >> > >> On 6 April 2016 at 15:19, Peter Chen <hzpeterc...@gmail.com> 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.
In below change of usb_gadget_vbus_draw(), already can get charger type via usb_charger_get_type(). static inline int usb_gadget_vbus_draw(struct usb_gadget *gadget, unsigned mA) { + enum usb_charger_type type; + + if (gadget->charger) { + type = usb_charger_get_type(gadget->charger); + usb_charger_set_cur_limit_by_type(gadget->charger, type, mA); + } + if (!gadget->ops->vbus_draw) return -EOPNOTSUPP; return gadget->ops->vbus_draw(gadget, mA); Could you detail in what situation gadget->ops-> get_charger_type() is used? > > > 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. > What other information you refer to here? Or what I am not aware of? Thanks. Li Jun > -- > balbi -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html