ramips: ignore already handled ethernet phys

The whole logic in fe_phy_connect() is based on the asumption that mdio
address and switch port id are equal. Albeit it is true for most
boards, it doesn't is for all.

It isn't yet clear which subtargets/boards require the devicetree less
ethernet phy handling. Hence change the code in a way that it doesn't
touch ethernet phys which were early attached and are already handled.

Signed-off-by: Mathias Kresin <dev@kresin.me>
This commit is contained in:
Mathias Kresin 2018-04-04 18:26:24 +02:00 committed by Petr Štetiar
parent ab7f8146fd
commit fb423f6e01

View File

@ -127,8 +127,14 @@ static int fe_phy_connect(struct fe_priv *priv)
priv->phy_dev = priv->phy->phy[i];
priv->phy_flags = FE_PHY_FLAG_PORT;
}
} else if (priv->mii_bus && mdiobus_get_phy(priv->mii_bus, i)) {
phy_init(priv, mdiobus_get_phy(priv->mii_bus, i));
} else if (priv->mii_bus) {
struct phy_device *phydev;
phydev = mdiobus_get_phy(priv->mii_bus, i);
if (!phydev || phydev->attached_dev)
continue;
phy_init(priv, phydev);
if (!priv->phy_dev) {
priv->phy_dev = mdiobus_get_phy(priv->mii_bus, i);
priv->phy_flags = FE_PHY_FLAG_ATTACH;