• Florian Fainelli's avatar
    net: bcmgenet: Determine PHY type before scanning MDIO bus · c624f891
    Florian Fainelli authored
    Our internal GPHY might be powered off before we attempt scanning the
    MDIO bus and bind a driver to it. The way we are currently determining
    whether a PHY is internal or not is done *after* we have successfully
    matched its driver. If the PHY is powered down, it will not respond to
    the MDIO bus, so we will not be able to bind a driver to it.
    
    Our Device Tree for GENET interfaces specifies a "phy-mode" value:
    "internal" which tells if this internal uses an internal PHY or not.
    
    If of_get_phy_mode() fails to parse the 'phy-mode' property, do an
    additional manual lookup, and if we find "internal" set the
    corresponding internal variable accordingly.
    
    Replace all uses of phy_is_internal() with a check against
    priv->internal_phy to avoid having to rely on whether or not
    priv->phydev is set correctly.
    
    Fixes: 1c1008c7 ("net: bcmgenet: add main driver file")
    Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    c624f891
bcmgenet.h 19.7 KB