[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4c286a61-6da9-392f-7a06-bace7f04700d@gmail.com>
Date: Thu, 23 Jul 2020 15:33:55 -0700
From: Florian Fainelli <f.fainelli@...il.com>
To: Codrin.Ciubotariu@...rochip.com, netdev@...r.kernel.org,
devicetree@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-kernel@...r.kernel.org
Cc: Nicolas.Ferre@...rochip.com, Claudiu.Beznea@...rochip.com,
davem@...emloft.net, kuba@...nel.org, andrew@...n.ch,
robh+dt@...nel.org, alexandre.belloni@...tlin.com,
Ludovic.Desroches@...rochip.com
Subject: Re: [PATCH net-next v2 3/7] net: macb: parse PHY nodes found under an
MDIO node
On 7/23/20 3:08 PM, Codrin.Ciubotariu@...rochip.com wrote:
> On 23.07.2020 21:59, Florian Fainelli wrote:
>> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>>
>> On 7/21/20 10:13 AM, Codrin Ciubotariu wrote:
>>> The MACB embeds an MDIO bus controller. For this reason, the PHY nodes
>>> were represented as sub-nodes in the MACB node. Generally, the
>>> Ethernet controller is different than the MDIO controller, so the PHYs
>>> are probed by a separate MDIO driver. Since adding the PHY nodes directly
>>> under the ETH node became deprecated, we adjust the MACB driver to look
>>> for an MDIO node and register the subnode MDIO devices.
>>>
>>> Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@...rochip.com>
>>> ---
>>>
>>> Changes in v2:
>>> - readded newline removed by mistake;
>>>
>>> drivers/net/ethernet/cadence/macb_main.c | 10 ++++++++++
>>> 1 file changed, 10 insertions(+)
>>>
>>> diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c
>>> index 89fe7af5e408..b25c64b45148 100644
>>> --- a/drivers/net/ethernet/cadence/macb_main.c
>>> +++ b/drivers/net/ethernet/cadence/macb_main.c
>>> @@ -740,10 +740,20 @@ static int macb_mii_probe(struct net_device *dev)
>>> static int macb_mdiobus_register(struct macb *bp)
>>> {
>>> struct device_node *child, *np = bp->pdev->dev.of_node;
>>> + struct device_node *mdio_node;
>>> + int ret;
>>>
>>> if (of_phy_is_fixed_link(np))
>>> return mdiobus_register(bp->mii_bus);
>>
>> Does not this need changing as well? Consider the use case of having
>> your MACB Ethernet node have a fixed-link property to describe how it
>> connects to a switch, and your MACB MDIO controller, expressed as a
>> sub-node, describing the MDIO attached switch it connects to.
>
> Right, this is what I was discussing with Claudiu on the other thread. I
> am thinking to just move the look for mdio before checking for
> fixed-link. This will probe the MDIO devices and simple mdiobus_register
> will be called only if the mdio node is missing.
Found it after I had sent this email. What you propose sounds
reasonable, looking forward to v3.
>
> Thank you for your review(s)!
Of course.
--
Florian
Powered by blists - more mailing lists