diff mbox

[1/1] net: stmmac: Don't search for phys if mdio node is defined.

Message ID 1458027273-127737-2-git-send-email-preid@electromag.com.au
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

Phil Reid March 15, 2016, 7:34 a.m. UTC
If a dt mdio entry has been added least assume that we wont
search for phys attached. The DT and of_mdiobus_register already do
this. This stops DSA phys being found and phys created for them, as
this is handled by the DSA driver.

Signed-off-by: Phil Reid <preid@electromag.com.au>
---
 drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Giuseppe CAVALLARO March 16, 2016, 9:36 a.m. UTC | #1
On 3/15/2016 8:34 AM, Phil Reid wrote:
> If a dt mdio entry has been added least assume that we wont
> search for phys attached. The DT and of_mdiobus_register already do
> this. This stops DSA phys being found and phys created for them, as
> this is handled by the DSA driver.

iiuc, this doesn't conflict with the recent rework we are doing
for the mdio/phy platform management.

> Signed-off-by: Phil Reid <preid@electromag.com.au>

Acked-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>

> ---
>   drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c | 4 ++++
>   1 file changed, 4 insertions(+)
>
> diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c
> index 3f5512f..06704ca 100644
> --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c
> +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c
> @@ -235,6 +235,9 @@ int stmmac_mdio_register(struct net_device *ndev)
>   		goto bus_register_fail;
>   	}
>
> +	if (priv->plat->phy_node || mdio_node)
> +		goto bus_register_done;
> +
>   	found = 0;
>   	for (addr = 0; addr < PHY_MAX_ADDR; addr++) {
>   		struct phy_device *phydev = mdiobus_get_phy(new_bus, addr);
> @@ -290,6 +293,7 @@ int stmmac_mdio_register(struct net_device *ndev)
>   		return -ENODEV;
>   	}
>
> +bus_register_done:
>   	priv->mii = new_bus;
>
>   	return 0;
>
Phil Reid March 16, 2016, 1:18 p.m. UTC | #2
On 16/03/2016 5:36 PM, Giuseppe CAVALLARO wrote:
> On 3/15/2016 8:34 AM, Phil Reid wrote:
>> If a dt mdio entry has been added least assume that we wont
>> search for phys attached. The DT and of_mdiobus_register already do
>> this. This stops DSA phys being found and phys created for them, as
>> this is handled by the DSA driver.
>
> iiuc, this doesn't conflict with the recent rework we are doing
> for the mdio/phy platform management.

It should apply equally well before or after the rework.


>
>> Signed-off-by: Phil Reid <preid@electromag.com.au>
>
> Acked-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>
>
>> ---
>>   drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c | 4 ++++
>>   1 file changed, 4 insertions(+)
>>
>> diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c
>> index 3f5512f..06704ca 100644
>> --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c
>> +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c
>> @@ -235,6 +235,9 @@ int stmmac_mdio_register(struct net_device *ndev)
>>           goto bus_register_fail;
>>       }
>>
>> +    if (priv->plat->phy_node || mdio_node)
>> +        goto bus_register_done;
>> +
>>       found = 0;
>>       for (addr = 0; addr < PHY_MAX_ADDR; addr++) {
>>           struct phy_device *phydev = mdiobus_get_phy(new_bus, addr);
>> @@ -290,6 +293,7 @@ int stmmac_mdio_register(struct net_device *ndev)
>>           return -ENODEV;
>>       }
>>
>> +bus_register_done:
>>       priv->mii = new_bus;
>>
>>       return 0;
>>
>
>
>
David Miller March 18, 2016, 10:31 p.m. UTC | #3
From: Phil Reid <preid@electromag.com.au>
Date: Tue, 15 Mar 2016 15:34:33 +0800

> If a dt mdio entry has been added least assume that we wont
> search for phys attached. The DT and of_mdiobus_register already do
> this. This stops DSA phys being found and phys created for them, as
> this is handled by the DSA driver.
> 
> Signed-off-by: Phil Reid <preid@electromag.com.au>

Applied.
diff mbox

Patch

diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c
index 3f5512f..06704ca 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c
@@ -235,6 +235,9 @@  int stmmac_mdio_register(struct net_device *ndev)
 		goto bus_register_fail;
 	}
 
+	if (priv->plat->phy_node || mdio_node)
+		goto bus_register_done;
+
 	found = 0;
 	for (addr = 0; addr < PHY_MAX_ADDR; addr++) {
 		struct phy_device *phydev = mdiobus_get_phy(new_bus, addr);
@@ -290,6 +293,7 @@  int stmmac_mdio_register(struct net_device *ndev)
 		return -ENODEV;
 	}
 
+bus_register_done:
 	priv->mii = new_bus;
 
 	return 0;