All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Lunn <andrew@lunn.ch>
To: Josh Cartwright <joshc@ni.com>
Cc: Nathan Sullivan <nathan.sullivan@ni.com>,
	Nicolas Ferre <nicolas.ferre@atmel.com>,
	netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	Florian Fainelli <f.fainelli@gmail.com>,
	Alexandre Belloni <alexandre.belloni@free-electrons.com>
Subject: Re: [PATCH v2] net: macb: do not scan PHYs manually
Date: Fri, 29 Apr 2016 14:49:06 +0200	[thread overview]
Message-ID: <20160429124906.GD4053@lunn.ch> (raw)
In-Reply-To: <20160429122501.GD30217@jcartwri.amer.corp.natinst.com>

> diff --git a/drivers/net/ethernet/cadence/macb.c b/drivers/net/ethernet/cadence/macb.c
> index eec3200..d843bc9 100644
> --- a/drivers/net/ethernet/cadence/macb.c
> +++ b/drivers/net/ethernet/cadence/macb.c
> @@ -419,11 +419,62 @@ static int macb_mii_probe(struct net_device *dev)
>  	return 0;
>  }
>  
> +static int macb_mii_of_init(struct macb *bp, struct device_node *np)
> +{
> +	struct device_node *mdio;
> +	int err, i;
> +
> +	mdio = of_get_child_by_name(np, "mdio");
> +	if (mdio)
> +		return of_mdiobus_register(bp->mii_bus, mdio);

We want to encourage driver writers to use an mdio subnode inside
there MAC node. So i wounder if this looking for the child and using
it should go into the core code?

Florian: What do you think?

> +
> +	dev_warn(&bp->pdev->dev,
> +		 "using deprecated PHY probing mechanism.  Please update device tree.");
> +
> +	/* try dt phy registration */
> +	err = of_mdiobus_register(bp->mii_bus, np);
> +	if (err)
> +		return err;
> +
> +	/* fallback to standard phy registration if no phy were
> +	 * found during dt phy registration
> +	 */
> +	if (!phy_find_first(bp->mii_bus)) {

I would also suggest putting a warning here, saying that PHYs should
be listed in the device tree.

> +		for (i = 0; i < PHY_MAX_ADDR; i++) {
> +			struct phy_device *phydev;
> +
> +			phydev = mdiobus_scan(bp->mii_bus, i);
> +			if (IS_ERR(phydev)) {
> +				err = PTR_ERR(phydev);

FYI: There is a change making its way through which will mean
mdiobus_scan() will return -ENODEV where there is nothing on the bus
at that address, rather than the current NULL. You will need to adopt
this here.

     Andrew

      parent reply	other threads:[~2016-04-29 12:49 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-28 14:46 [PATCH v2] net: macb: do not scan PHYs manually Nathan Sullivan
2016-04-28 15:44 ` Nicolas Ferre
2016-04-28 15:55   ` Nathan Sullivan
2016-04-28 16:32     ` Andrew Lunn
2016-04-28 17:56       ` Nathan Sullivan
2016-04-28 18:43         ` Andrew Lunn
2016-04-28 18:55           ` Nathan Sullivan
2016-04-28 18:59             ` Andrew Lunn
2016-04-28 20:03               ` Florian Fainelli
2016-04-28 20:10                 ` Andrew Lunn
2016-04-28 21:03               ` Josh Cartwright
2016-04-28 21:23                 ` Andrew Lunn
2016-04-29  0:34                   ` Josh Cartwright
2016-04-29 12:25                     ` Josh Cartwright
2016-04-29 12:40                       ` Nicolas Ferre
2016-04-29 12:56                         ` Andrew Lunn
2016-05-02 18:36                         ` Josh Cartwright
2016-05-02 19:08                           ` Florian Fainelli
2016-05-02 19:38                             ` Josh Cartwright
2016-04-29 12:49                       ` Andrew Lunn [this message]

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=20160429124906.GD4053@lunn.ch \
    --to=andrew@lunn.ch \
    --cc=alexandre.belloni@free-electrons.com \
    --cc=f.fainelli@gmail.com \
    --cc=joshc@ni.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nathan.sullivan@ni.com \
    --cc=netdev@vger.kernel.org \
    --cc=nicolas.ferre@atmel.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.