All of lore.kernel.org
 help / color / mirror / Atom feed
From: Antoine Tenart <antoine.tenart@free-electrons.com>
To: Peter Chen <peter.chen@freescale.com>
Cc: Antoine Tenart <antoine.tenart@free-electrons.com>,
	balbi@ti.com, gregkh@linuxfoundation.org, kishon@ti.com,
	stern@rowland.harvard.edu, sergei.shtylyov@cogentembedded.com,
	yoshihiro.shimoda.uh@renesas.com,
	alexandre.belloni@free-electrons.com,
	thomas.petazzoni@free-electrons.com, zmxu@marvell.com,
	jszhang@marvell.com, linux-usb@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v4 9/9] usb: chipidea: add support to the generic PHY framework in ChipIdea
Date: Thu, 11 Sep 2014 17:42:22 +0200	[thread overview]
Message-ID: <20140911154222.GB11275@kwain> (raw)
In-Reply-To: <20140911005446.GD3609@peterchendt>

Peter,

On Thu, Sep 11, 2014 at 08:54:47AM +0800, Peter Chen wrote:
> On Wed, Sep 03, 2014 at 09:40:40AM +0200, Antoine Tenart wrote:
> > @@ -595,23 +639,27 @@ static int ci_hdrc_probe(struct platform_device *pdev)
> >  		return -ENODEV;
> >  	}
> >  
> > -	if (ci->platdata->usb_phy)
> > +	if (ci->platdata->phy)
> > +		ci->phy = ci->platdata->phy;
> > +	else if (ci->platdata->usb_phy)
> >  		ci->usb_phy = ci->platdata->usb_phy;
> >  	else
> > -		ci->usb_phy = devm_usb_get_phy(dev, USB_PHY_TYPE_USB2);
> > +		ci->phy = devm_phy_get(dev, "usb-phy");
> >  
> > -	if (IS_ERR(ci->usb_phy)) {
> > -		ret = PTR_ERR(ci->usb_phy);
> > +	if (IS_ERR(ci->phy) || (ci->phy == NULL && ci->usb_phy == NULL)) {
> >  		/*
> >  		 * if -ENXIO is returned, it means PHY layer wasn't
> >  		 * enabled, so it makes no sense to return -EPROBE_DEFER
> >  		 * in that case, since no PHY driver will ever probe.
> >  		 */
> > -		if (ret == -ENXIO)
> > -			return ret;
> > +		if (PTR_ERR(ci->phy) == -ENXIO)
> > +			return -ENXIO;
> >  
> > -		dev_err(dev, "no usb2 phy configured\n");
> > -		return -EPROBE_DEFER;
> > +		ci->usb_phy = devm_usb_get_phy(dev, USB_PHY_TYPE_USB2);
> > +		if (IS_ERR(ci->usb_phy)) {
> > +			dev_err(dev, "no usb2 phy configured\n");
> > +			return -EPROBE_DEFER;
> > +		}
> >  	}
> 
> Sorry, I can't accept this change, why devm_usb_get_phy(dev, USB_PHY_TYPE_USB2)
> is put at error path? Since current get PHY operation is a little complicated,
> we may have a dedicate function to do it, dwc3 driver is a good example.

It's not the error path, it's the case when there is no PHY from the
generic PHY framework available. Getting an USB PHY is a fallback
solution.

I agree we can move this to a dedicated function. But even if doing so,
we'll have to test ci->phy first.

Or do you have something else in mind?

> > diff --git a/drivers/usb/chipidea/debug.c b/drivers/usb/chipidea/debug.c
> > index 5a7ea93011dd..999e9d683d7a 100644
> > --- a/drivers/usb/chipidea/debug.c
> > +++ b/drivers/usb/chipidea/debug.c
> > @@ -219,7 +219,8 @@ static int ci_otg_show(struct seq_file *s, void *unused)
> >  	fsm = &ci->fsm;
> >  
> >  	/* ------ State ----- */
> > -		usb_otg_state_string(ci->usb_phy->otg.state));
> > +	seq_printf(s, "OTG state: %s\n\n",
> > +		   usb_otg_state_string(ci->otg.state));
> 
> Again, rebase error?

Yes, sorry about that. This will be fixed in the next version of this
series.

Antoine

-- 
Antoine Ténart, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

  reply	other threads:[~2014-09-11 15:42 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-03  7:40 [PATCH v4 0/9] usb: add support for the generic PHY framework Antoine Tenart
2014-09-03  7:40 ` [PATCH v4 1/9] usb: move the OTG state from the USB PHY to the OTG structure Antoine Tenart
2014-09-03  7:40 ` [PATCH v4 2/9] usb: rename phy to usb_phy in OTG Antoine Tenart
2014-09-03  7:40 ` [PATCH v4 3/9] usb: add support to the generic PHY framework " Antoine Tenart
2014-09-03  7:40 ` [PATCH v4 4/9] usb: rename phy to usb_phy in HCD Antoine Tenart
2014-09-03 21:44   ` Sergei Shtylyov
2014-09-03 22:06   ` Sergei Shtylyov
2014-09-03  7:40 ` [PATCH v4 5/9] usb: rename gen_phy to phy " Antoine Tenart
2014-09-03  7:40 ` [PATCH v4 6/9] usb: allow to supply the PHY in the drivers when using HCD Antoine Tenart
2014-09-03  7:40 ` [PATCH v4 7/9] usb: rename transceiver and phy to usb_phy in ChipIdea Antoine Tenart
2014-09-11  0:28   ` Peter Chen
2014-09-12 13:53     ` Antoine Tenart
2014-09-13  6:27       ` Peter Chen
2014-09-15 10:00         ` Antoine Tenart
2014-09-03  7:40 ` [PATCH v4 8/9] usb: chipidea: move usb_otg into struct ci_hdrc Antoine Tenart
2014-09-11  0:26   ` Peter Chen
2014-09-03  7:40 ` [PATCH v4 9/9] usb: chipidea: add support to the generic PHY framework in ChipIdea Antoine Tenart
2014-09-04  6:20   ` B47624
2014-09-11  0:54   ` Peter Chen
2014-09-11 15:42     ` Antoine Tenart [this message]
2014-09-12  1:10       ` Peter Chen
2014-09-12  8:21         ` Antoine Tenart
2014-09-12  9:27           ` Peter Chen
2014-09-12  9:35             ` Antoine Tenart
2014-09-12 10:28               ` Peter Chen
2014-09-12 12:03                 ` Antoine Tenart
2014-09-13  0:59                   ` Peter Chen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140911154222.GB11275@kwain \
    --to=antoine.tenart@free-electrons.com \
    --cc=alexandre.belloni@free-electrons.com \
    --cc=balbi@ti.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=jszhang@marvell.com \
    --cc=kishon@ti.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=peter.chen@freescale.com \
    --cc=sergei.shtylyov@cogentembedded.com \
    --cc=stern@rowland.harvard.edu \
    --cc=thomas.petazzoni@free-electrons.com \
    --cc=yoshihiro.shimoda.uh@renesas.com \
    --cc=zmxu@marvell.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.