[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <VI1PR0402MB2800ED1A422B900F63561F9CE0130@VI1PR0402MB2800.eurprd04.prod.outlook.com>
Date: Mon, 10 Jun 2019 20:49:59 +0000
From: Ioana Ciornei <ioana.ciornei@....com>
To: Vladimir Oltean <olteanv@...il.com>,
Florian Fainelli <f.fainelli@...il.com>
CC: netdev <netdev@...r.kernel.org>,
Russell King <rmk+kernel@...linux.org.uk>,
Andrew Lunn <andrew@...n.ch>,
Vivien Didelot <vivien.didelot@...il.com>,
"David S. Miller" <davem@...emloft.net>,
open list <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH net-next] net: dsa: Deal with non-existing PHY/fixed-link
On 6/10/19 10:53 PM, Vladimir Oltean wrote:
> On Mon, 10 Jun 2019 at 22:31, Florian Fainelli <f.fainelli@...il.com> wrote:
>>
>> We need to specifically deal with phylink_of_phy_connect() returning
>> -ENODEV, because this can happen when a CPU/DSA port does connect
>> neither to a PHY, nor has a fixed-link property. This is a valid use
>> case that is permitted by the binding and indicates to the switch:
>> auto-configure port with maximum capabilities.
>>
>> Fixes: 0e27921816ad ("net: dsa: Use PHYLINK for the CPU/DSA ports")
>> Signed-off-by: Florian Fainelli <f.fainelli@...il.com>
>> ---
>> net/dsa/port.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/net/dsa/port.c b/net/dsa/port.c
>> index d74bc9df1359..dde3085ff065 100644
>> --- a/net/dsa/port.c
>> +++ b/net/dsa/port.c
>> @@ -622,7 +622,7 @@ static int dsa_port_phylink_register(struct dsa_port *dp)
>> }
>>
>> err = phylink_of_phy_connect(dp->pl, port_dn, 0);
>> - if (err) {
>> + if (err && err != -ENODEV) {
>> pr_err("could not attach to PHY: %d\n", err);
>> goto err_phy_connect;
>> }
>> --
>> 2.17.1
>>
>
> Hi Florian,
>
> Can you give an example of when this is a valid use case, and why
> fixed-link is not appropriate?
>
> Regards,
> -Vladimir
>
Hi,
This reminds me of a previous discussion on what to do when the DSA CPU
port does not have a device_tree node at all:
https://www.spinics.net/lists/netdev/msg573554.html.
This was the case of the dsa-loop driver that probes as a platform
device. I'm still not clear how the PHYLINK callbacks are supposed to
work in that case though.
--
Ioana
Powered by blists - more mailing lists