devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andrew Lunn <andrew@lunn.ch>
To: Jamie Lentin <jm@lentin.co.uk>
Cc: Jason Cooper <jason@lakedaemon.net>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Gregory Clement <gregory.clement@free-electrons.com>,
	Imre Kaloz <kaloz@openwrt.org>,
	Florian Fainelli <f.fainelli@gmail.com>,
	devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	netdev@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v0 08/10] net: phy: Try looking for a phy-handle property to find the OF node
Date: Sat, 16 Jul 2016 18:44:13 +0200	[thread overview]
Message-ID: <20160716164413.GJ1777@lunn.ch> (raw)
In-Reply-To: <1468679348-10522-9-git-send-email-jm@lentin.co.uk>

On Sat, Jul 16, 2016 at 03:29:06PM +0100, Jamie Lentin wrote:
> If PHY is registered via. a DSA switch, the MDIO bus the phy is on does
> not exist in devicetree, but there may be a reference to the PHY node
> on the physical MDIO bus to use.

O.K, i see what you are trying to achieve, it makes sense, but sorry,
NACK.

There is however a nice solution :-)

If you look in net-next, you will notice a big change to DSA. There is
a new binding, and the mv88e6xxx driver now exports the switch
internal MDIO bus just like any other MDIO bus. So you can have a phy
on the MDIO bus, and that phy can have "marvell,reg-init" properties.

     Andrew

> 
> Signed-off-by: Jamie Lentin <jm@lentin.co.uk>
> ---
>  drivers/net/phy/marvell.c | 22 ++++++++++++++++------
>  1 file changed, 16 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c
> index 280e879..c2ca347 100644
> --- a/drivers/net/phy/marvell.c
> +++ b/drivers/net/phy/marvell.c
> @@ -302,14 +302,24 @@ static int marvell_config_aneg(struct phy_device *phydev)
>   */
>  static int marvell_of_reg_init(struct phy_device *phydev)
>  {
> -	const __be32 *paddr;
> +	const __be32 *paddr = NULL;
>  	int len, i, saved_page, current_page, page_changed, ret;
> +	struct device_node *phy_dn;
> +
> +	if (phydev->mdio.dev.of_node)
> +		paddr = of_get_property(phydev->mdio.dev.of_node,
> +					"marvell,reg-init", &len);
> +	else if (phydev->attached_dev->dev.of_node) {
> +		/* A DSA slave-mii-bus has no OF node, but the PHY might */
> +		phy_dn = of_parse_phandle(phydev->attached_dev->dev.of_node,
> +					  "phy-handle", 0);
> +		if (phy_dn) {
> +			paddr = of_get_property(phy_dn,
> +						"marvell,reg-init", &len);
> +			of_node_put(phy_dn);
> +		}
> +	}
>  
> -	if (!phydev->mdio.dev.of_node)
> -		return 0;
> -
> -	paddr = of_get_property(phydev->mdio.dev.of_node,
> -				"marvell,reg-init", &len);
>  	if (!paddr || len < (4 * sizeof(*paddr)))
>  		return 0;
>  
> -- 
> 2.8.1
> 

  reply	other threads:[~2016-07-16 16:44 UTC|newest]

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-16 14:28 [PATCH v0 00/10] Convert Netgear WNR854T to devicetree Jamie Lentin
2016-07-16 14:28 ` [PATCH v0 01/10] arm: orion5x: Add required properties for orion-wdt to DT node Jamie Lentin
2016-07-16 16:03   ` Andrew Lunn
2016-07-16 14:29 ` [PATCH v0 02/10] arm: orion5x: Add documentation for SoC and board bindings Jamie Lentin
     [not found]   ` <1468679348-10522-3-git-send-email-jm-Pj/HzkgeCk7QXOPxS62xeg@public.gmane.org>
2016-07-16 16:05     ` Andrew Lunn
2016-07-17 20:35     ` Rob Herring
2016-07-16 14:29 ` [PATCH v0 03/10] arm: orion5x: Add clk support for mv88f5181 Jamie Lentin
     [not found]   ` <1468679348-10522-4-git-send-email-jm-Pj/HzkgeCk7QXOPxS62xeg@public.gmane.org>
2016-07-16 16:10     ` Andrew Lunn
2016-07-16 17:34     ` Sergei Shtylyov
2016-07-17 20:36     ` Rob Herring
2016-07-16 14:29 ` [PATCH v0 04/10] arm: orion5x: Generalise mv88f5181l pinctrl support for 88f5181 Jamie Lentin
2016-07-16 16:15   ` Andrew Lunn
     [not found]   ` <1468679348-10522-5-git-send-email-jm-Pj/HzkgeCk7QXOPxS62xeg@public.gmane.org>
2016-07-17 20:40     ` Rob Herring
2016-07-16 14:29 ` [PATCH v0 05/10] arm: orion5x: Add DT include for mv88f5181 Jamie Lentin
     [not found]   ` <1468679348-10522-6-git-send-email-jm-Pj/HzkgeCk7QXOPxS62xeg@public.gmane.org>
2016-07-16 16:17     ` Andrew Lunn
2016-07-17 20:41   ` Rob Herring
2016-07-16 14:29 ` [PATCH v0 06/10] arm: orion5x: Add DT-based support for Netgear WNR854T Jamie Lentin
     [not found]   ` <1468679348-10522-7-git-send-email-jm-Pj/HzkgeCk7QXOPxS62xeg@public.gmane.org>
2016-07-16 16:34     ` Andrew Lunn
2016-07-16 16:39   ` Andrew Lunn
2016-07-16 19:10   ` Arnd Bergmann
2016-07-17  9:39     ` Jamie Lentin
2016-07-17 20:41       ` Arnd Bergmann
2016-07-18  9:44         ` Thomas Petazzoni
2016-07-18 10:06           ` Arnd Bergmann
2016-07-19  9:40             ` Jamie Lentin
2016-07-19  9:46               ` Arnd Bergmann
2016-07-17 20:51   ` Rob Herring
2016-07-19  9:46     ` Jamie Lentin
2016-07-16 14:29 ` [PATCH v0 07/10] arm: orion5x: Remove old non-DT-based WNR854T support Jamie Lentin
2016-07-16 16:36   ` Andrew Lunn
2016-07-16 14:29 ` [PATCH v0 08/10] net: phy: Try looking for a phy-handle property to find the OF node Jamie Lentin
2016-07-16 16:44   ` Andrew Lunn [this message]
2016-07-16 14:29 ` [PATCH v0 09/10] net: phy: Re-attempt custom DT configuration after configuration Jamie Lentin
     [not found]   ` <1468679348-10522-10-git-send-email-jm-Pj/HzkgeCk7QXOPxS62xeg@public.gmane.org>
2016-07-16 16:44     ` Andrew Lunn
2016-07-16 14:29 ` [PATCH v0 10/10] arm: orion5x: Configure Netgear WNR854T network port LEDs Jamie Lentin
     [not found] ` <1468679348-10522-1-git-send-email-jm-Pj/HzkgeCk7QXOPxS62xeg@public.gmane.org>
2016-08-26  9:20   ` [PATCH 0/8] Convert Netgear WNR854T to devicetree Jamie Lentin
     [not found]     ` <1472203264-21089-1-git-send-email-jm-Pj/HzkgeCk7QXOPxS62xeg@public.gmane.org>
2016-08-26  9:20       ` [PATCH 1/8] arm: orion5x: Add documentation for SoC and board bindings Jamie Lentin
2016-08-26  9:20       ` [PATCH 2/8] arm: orion5x: Add clk support for mv88f5181 Jamie Lentin
     [not found]         ` <1472203264-21089-3-git-send-email-jm-Pj/HzkgeCk7QXOPxS62xeg@public.gmane.org>
2016-08-26 11:34           ` LABBE Corentin
2016-08-26 12:24             ` Jamie Lentin
2016-08-26 14:24               ` Andrew Lunn
2016-08-26  9:20       ` [PATCH 3/8] arm: orion5x: Generalise mv88f5181l pinctrl support for 88f5181 Jamie Lentin
2016-08-26  9:21       ` [PATCH 4/8] arm: orion5x: Alias uart0 to serial0 for all orion5x Jamie Lentin
     [not found]         ` <1472203264-21089-5-git-send-email-jm-Pj/HzkgeCk7QXOPxS62xeg@public.gmane.org>
2016-08-26 14:54           ` Andrew Lunn
2016-09-12 21:12           ` Arnd Bergmann
2016-08-26  9:21       ` [PATCH 5/8] arm: orion5x: Add DT include for mv88f5181 Jamie Lentin
     [not found]         ` <1472203264-21089-6-git-send-email-jm-Pj/HzkgeCk7QXOPxS62xeg@public.gmane.org>
2016-08-26 14:55           ` Andrew Lunn
2016-08-31 15:15           ` Rob Herring
2016-08-26  9:21       ` [PATCH 6/8] arm: orion5x: Add DT-based support for Netgear WNR854T Jamie Lentin
     [not found]         ` <1472203264-21089-7-git-send-email-jm-Pj/HzkgeCk7QXOPxS62xeg@public.gmane.org>
2016-08-31 15:26           ` Rob Herring
2016-09-05 21:07           ` [PATCH 6/8 v2] " Jamie Lentin
     [not found]             ` <1473109646-23366-1-git-send-email-jm-Pj/HzkgeCk7QXOPxS62xeg@public.gmane.org>
2016-09-08 12:41               ` Gregory CLEMENT
     [not found]                 ` <87d1kebm2o.fsf-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2016-09-08 16:47                   ` Jamie Lentin
2016-09-12 17:06             ` Rob Herring
2016-09-12 21:13               ` Arnd Bergmann
2016-09-12 21:19                 ` Arnd Bergmann
2016-09-12 22:03                 ` Andrew Lunn
     [not found]                   ` <20160912220344.GM11400-g2DYL2Zd6BY@public.gmane.org>
2016-09-13  9:10                     ` Jamie Lentin
     [not found]                       ` <88e40f0c6cafec244dc16af5a03cfb44-SBYVURHw+sBNwP/n92qj9LVCufUGDwFn@public.gmane.org>
2016-09-13 12:36                         ` Andrew Lunn
     [not found]                           ` <20160913123639.GB15332-g2DYL2Zd6BY@public.gmane.org>
2016-09-13 14:15                             ` Jamie Lentin
     [not found]                               ` <b7d442f9d26249976d7698b6a32db2a3-SBYVURHw+sBNwP/n92qj9LVCufUGDwFn@public.gmane.org>
2016-09-13 19:16                                 ` Gregory CLEMENT
     [not found]                                   ` <87r38nehkj.fsf-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2016-09-13 20:39                                     ` Arnd Bergmann
2016-08-26  9:21       ` [PATCH 7/8] arm: orion5x: Remove old non-DT-based WNR854T support Jamie Lentin
     [not found]         ` <1472203264-21089-8-git-send-email-jm-Pj/HzkgeCk7QXOPxS62xeg@public.gmane.org>
2016-08-26 14:59           ` Andrew Lunn
2016-08-26  9:21       ` [PATCH 8/8] arm: orion5x: Configure WNR854T ethernet PHY LEDs Jamie Lentin
     [not found]         ` <1472203264-21089-9-git-send-email-jm-Pj/HzkgeCk7QXOPxS62xeg@public.gmane.org>
2016-08-26 15:05           ` Andrew Lunn
2016-08-26 15:05           ` Andrew Lunn
2016-08-26 12:09     ` [PATCH 0/8] Convert Netgear WNR854T to devicetree Imre Kaloz
2016-08-26 12:56       ` Jamie Lentin
     [not found]         ` <alpine.DEB.2.11.1608261325310.19980-5X291BYdrx55rAo4AelP/Ydd74u8MsAO@public.gmane.org>
2016-08-26 14:33           ` Andrew Lunn
2016-08-26 16:50             ` Jamie Lentin
     [not found]               ` <alpine.DEB.2.11.1608261703460.19980-5X291BYdrx55rAo4AelP/Ydd74u8MsAO@public.gmane.org>
2016-08-26 20:30                 ` Imre Kaloz

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=20160716164413.GJ1777@lunn.ch \
    --to=andrew@lunn.ch \
    --cc=devicetree@vger.kernel.org \
    --cc=f.fainelli@gmail.com \
    --cc=gregory.clement@free-electrons.com \
    --cc=jason@lakedaemon.net \
    --cc=jm@lentin.co.uk \
    --cc=kaloz@openwrt.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=sebastian.hesselbarth@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).