Re: [PATCHv7 6/8] usb: dwc2: gadget: Do not fail probe if there isn't a clock node

From: Felipe Balbi
Date: Fri Nov 14 2014 - 16:09:20 EST


On Fri, Nov 14, 2014 at 09:01:49PM +0000, Paul Zimmerman wrote:
> > From: dinguyen@xxxxxxxxxxxxxxxxxxxxx [mailto:dinguyen@xxxxxxxxxxxxxxxxxxxxx]
> > Sent: Tuesday, November 11, 2014 9:14 AM
> >
> > From: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx>
> >
> > Since the dwc2 hcd driver is currently not looking for a clock node during
> > init, we should not completely fail if there isn't a clock provided.
> > By assigning clk = NULL, this allows the driver, when configured for dual-role
> > mode, to be able to continue loading the host portion of the driver when
> > a clock node is not specified.
> >
> > Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx>
> > ---
> > v7: Reworked to use clk=NULL and remove the need to is IS_ERR(clk)
> > v6: none
> > v5: reworked to not access gadget functions from the hcd.
> > ---
> > drivers/usb/dwc2/gadget.c | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/usb/dwc2/gadget.c b/drivers/usb/dwc2/gadget.c
> > index 37c7916..367689b 100644
> > --- a/drivers/usb/dwc2/gadget.c
> > +++ b/drivers/usb/dwc2/gadget.c
> > @@ -3431,6 +3431,7 @@ int dwc2_gadget_init(struct dwc2_hsotg *hsotg, int irq)
> >
> > hsotg->clk = devm_clk_get(dev, "otg");
> > if (IS_ERR(hsotg->clk)) {
> > + hsotg->clk = NULL;
> > dev_err(dev, "cannot get otg clock\n");
> > return PTR_ERR(hsotg->clk);
> > }
>
> Whoops, you just broke the return value, since you NULL out
> hsotg->clk and then call PTR_ERR() on it.

yeah, the idea was to remove the early return too :-)

--
balbi

Attachment: signature.asc
Description: Digital signature