public inbox for netdev@vger.kernel.org 
 help / color / mirror / Atom feed
From: Andrew Lunn <andrew@lunn•ch>
To: Brad Mouring <brad.mouring@ni•com>
Cc: Nicolas Ferre <nicolas.ferre@microchip•com>,
	Rob Herring <robh+dt@kernel•org>,
	"David S . Miller" <davem@davemloft•net>,
	Michael Grzeschik <m.grzeschik@pengutronix•de>,
	Mark Rutland <mark.rutland@arm•com>,
	netdev@vger•kernel.org, Julia Cartwright <julia@ni•com>,
	devicetree@vger•kernel.org, linux-kernel@vger•kernel.org
Subject: Re: [1/2] net: macb: Add phy-handle DT support
Date: Thu, 8 Mar 2018 18:32:47 +0100	[thread overview]
Message-ID: <20180308173247.GA22340@lunn.ch> (raw)
In-Reply-To: <20180307224257.1959-1-brad.mouring@ni.com>

On Wed, Mar 07, 2018 at 04:42:56PM -0600, Brad Mouring wrote:
> This optional binding (as described in the ethernet DT bindings doc)
> directs the netdev to the phydev to use. This is useful for a phy
> chip that has >1 phy in it, and two netdevs are using the same phy
> chip (i.e. the second mac's phy lives on the first mac's MDIO bus)
> 
> The devicetree snippet would look something like this:
> 
> ethernet@feedf00d {
> 	...
> 	phy-handle = <&phy0> // the first netdev is physically wired to phy0
> 	...
> 	phy0: phy@0 {
> 		...
> 		reg = <0x0> // MDIO address 0
> 		...
> 	}
> 	phy1: phy@1 {
> 		...
> 		reg = <0x1> // MDIO address 1
> 		...
> 	}
> ...
> }
> 
> ethernet@deadbeef {
> 	...
> 	phy-handle = <&phy1> // tells the driver to use phy1 on the
> 						 // first mac's mdio bus (it's wired thusly)
> 	...
> }
> 
> The work done to add the phy_node in the first place (dacdbb4dfc1a1:
> "net: macb: add fixed-link node support") will consume the
> device_node (if found).
> 
> Signed-off-by: Brad Mouring <brad.mouring@ni•com>
> ---
>  drivers/net/ethernet/cadence/macb_main.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c
> index e84afcf1ecb5..cc5b9e6e3526 100644
> --- a/drivers/net/ethernet/cadence/macb_main.c
> +++ b/drivers/net/ethernet/cadence/macb_main.c
> @@ -567,6 +567,9 @@ static int macb_mii_init(struct macb *bp)
>  
>  			err = mdiobus_register(bp->mii_bus);
>  		} else {
> +			/* attempt to find a phy-handle */
> +			bp->phy_node = of_parse_phandle(np, "phy-handle", 0);
> +
>  			/* try dt phy registration */
>  			err = of_mdiobus_register(bp->mii_bus, np);
>  

Hi Brad

I think it is more logical to do this in macb_mii_probe().

I would probably also move the fixed_link code from macb_mii_init() to
macb_mii_probe(). I would probably also move the fallback to standard
phy registration. Make macb_mii_init() about registering the MDIO bus,
and macb_mii_probe() about probing the MDIO bus to find the PHY to
use. At the moment, it is all rather mixed up.

     Andrew

  parent reply	other threads:[~2018-03-08 17:32 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-07 22:42 [PATCH 1/2] net: macb: Add phy-handle DT support Brad Mouring
2018-03-07 22:42 ` [PATCH 2/2] Documentation: macb: Document phy-handle optional binding Brad Mouring
2018-03-08 17:32 ` Andrew Lunn [this message]
2018-03-08 22:00   ` [1/2] net: macb: Add phy-handle DT support Brad Mouring
2018-03-09 22:12   ` [PATCH v2 net-next 1/3] net: macb: Reorganize macb_mii bringup Brad Mouring
2018-03-09 22:12     ` [PATCH v2 net-next 2/3] net: macb: Add phy-handle DT support Brad Mouring
2018-03-09 22:12     ` [PATCH v2 net-next 3/3] Documentation: macb: Document phy-handle optional binding Brad Mouring
2018-03-10 16:18       ` Andrew Lunn
2018-03-10 16:17     ` [PATCH v2 net-next 1/3] net: macb: Reorganize macb_mii bringup Andrew Lunn
2018-03-10 22:19       ` Brad Mouring
2018-03-12 17:09       ` [PATCH v3 net-next 0/4] macb: Introduce phy-handle DT functionality Brad Mouring
2018-03-12 17:09         ` [PATCH v3 net-next 1/4] net: macb: Reorganize macb_mii bringup Brad Mouring
2018-03-12 17:17           ` Florian Fainelli
2018-03-13  4:25           ` kbuild test robot
2018-03-12 17:09         ` [PATCH v3 net-next 2/4] net: macb: Remove redundant poll irq assignment Brad Mouring
2018-03-12 17:17           ` Florian Fainelli
2018-03-12 17:10         ` [PATCH v3 net-next 3/4] net: macb: Add phy-handle DT support Brad Mouring
2018-03-12 17:59           ` Andrew Lunn
2018-03-12 21:34             ` [PATCH v4 net-next 0/4] Brad Mouring
2018-03-12 21:34               ` [PATCH v4 net-next 1/4] net: macb: Reorganize macb_mii bringup Brad Mouring
2018-03-12 21:34               ` [PATCH v4 net-next 2/4] net: macb: Remove redundant poll irq assignment Brad Mouring
2018-03-12 21:34               ` [PATCH v4 net-next 3/4] net: macb: Add phy-handle DT support Brad Mouring
2018-03-12 21:57                 ` Andrew Lunn
2018-03-12 22:30                   ` Florian Fainelli
2018-03-13 13:49                     ` Brad Mouring
2018-03-13 21:32                     ` [PATCH v5 net-next 0/4] net: macb: Introduce phy-handle DT functionality Brad Mouring
2018-03-13 21:32                       ` [PATCH v5 net-next 1/4] net: macb: Reorganize macb_mii bringup Brad Mouring
2018-03-13 21:32                       ` [PATCH v5 net-next 2/4] net: macb: Remove redundant poll irq assignment Brad Mouring
2018-03-13 21:32                       ` [PATCH v5 net-next 3/4] net: macb: Add phy-handle DT support Brad Mouring
2018-03-13 21:32                       ` [PATCH v5 net-next 4/4] Documentation: macb: Document phy-handle binding Brad Mouring
2018-03-16 15:15                       ` [PATCH v5 net-next 0/4] net: macb: Introduce phy-handle DT functionality David Miller
2018-03-12 21:34               ` [PATCH v4 net-next 4/4] Documentation: macb: Document phy-handle binding Brad Mouring
2018-03-12 17:10         ` [PATCH v3 " Brad Mouring
2018-03-12 17:18           ` Florian Fainelli
2018-03-11  7:02     ` [PATCH v2 net-next 1/3] net: macb: Reorganize macb_mii bringup kbuild test robot

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=20180308173247.GA22340@lunn.ch \
    --to=andrew@lunn$(echo .)ch \
    --cc=brad.mouring@ni$(echo .)com \
    --cc=davem@davemloft$(echo .)net \
    --cc=devicetree@vger$(echo .)kernel.org \
    --cc=julia@ni$(echo .)com \
    --cc=linux-kernel@vger$(echo .)kernel.org \
    --cc=m.grzeschik@pengutronix$(echo .)de \
    --cc=mark.rutland@arm$(echo .)com \
    --cc=netdev@vger$(echo .)kernel.org \
    --cc=nicolas.ferre@microchip$(echo .)com \
    --cc=robh+dt@kernel$(echo .)org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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