diff options
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/phy/cortina.c | 3 | ||||
-rw-r--r-- | drivers/net/phy/marvell10g.c | 4 | ||||
-rw-r--r-- | drivers/net/phy/phy-c45.c | 40 | ||||
-rw-r--r-- | drivers/net/phy/phy.c | 12 | ||||
-rw-r--r-- | drivers/net/phy/teranetics.c | 3 |
5 files changed, 10 insertions, 52 deletions
diff --git a/drivers/net/phy/cortina.c b/drivers/net/phy/cortina.c index c291dc014769..856cdc36aacd 100644 --- a/drivers/net/phy/cortina.c +++ b/drivers/net/phy/cortina.c @@ -80,10 +80,9 @@ static struct phy_driver cortina_driver[] = { .phy_id_mask = 0xffffffff, .name = "Cortina CS4340", .features = PHY_10GBIT_FEATURES, - .config_init = gen10g_config_init, .config_aneg = gen10g_config_aneg, .read_status = cortina_read_status, - .soft_reset = gen10g_no_soft_reset, + .soft_reset = genphy_no_soft_reset, .probe = cortina_probe, }, }; diff --git a/drivers/net/phy/marvell10g.c b/drivers/net/phy/marvell10g.c index 79106e70010f..100b401b1f4a 100644 --- a/drivers/net/phy/marvell10g.c +++ b/drivers/net/phy/marvell10g.c @@ -459,7 +459,7 @@ static struct phy_driver mv3310_drivers[] = { .phy_id_mask = MARVELL_PHY_ID_MASK, .name = "mv88x3310", .get_features = mv3310_get_features, - .soft_reset = gen10g_no_soft_reset, + .soft_reset = genphy_no_soft_reset, .config_init = mv3310_config_init, .probe = mv3310_probe, .suspend = mv3310_suspend, @@ -474,7 +474,7 @@ static struct phy_driver mv3310_drivers[] = { .name = "mv88x2110", .get_features = genphy_c45_pma_read_abilities, .probe = mv3310_probe, - .soft_reset = gen10g_no_soft_reset, + .soft_reset = genphy_no_soft_reset, .config_init = mv3310_config_init, .config_aneg = mv3310_config_aneg, .aneg_done = mv3310_aneg_done, diff --git a/drivers/net/phy/phy-c45.c b/drivers/net/phy/phy-c45.c index 49e7cd08b05f..c596eb54e4ac 100644 --- a/drivers/net/phy/phy-c45.c +++ b/drivers/net/phy/phy-c45.c @@ -499,7 +499,7 @@ int gen10g_config_aneg(struct phy_device *phydev) } EXPORT_SYMBOL_GPL(gen10g_config_aneg); -int gen10g_read_status(struct phy_device *phydev) +static int gen10g_read_status(struct phy_device *phydev) { /* For now just lie and say it's 10G all the time */ phydev->speed = SPEED_10000; @@ -507,49 +507,13 @@ int gen10g_read_status(struct phy_device *phydev) return genphy_c45_read_link(phydev); } -EXPORT_SYMBOL_GPL(gen10g_read_status); - -int gen10g_no_soft_reset(struct phy_device *phydev) -{ - /* Do nothing for now */ - return 0; -} -EXPORT_SYMBOL_GPL(gen10g_no_soft_reset); - -int gen10g_config_init(struct phy_device *phydev) -{ - /* Temporarily just say we support everything */ - linkmode_zero(phydev->supported); - - linkmode_set_bit(ETHTOOL_LINK_MODE_10000baseT_Full_BIT, - phydev->supported); - linkmode_copy(phydev->advertising, phydev->supported); - - return 0; -} -EXPORT_SYMBOL_GPL(gen10g_config_init); - -int gen10g_suspend(struct phy_device *phydev) -{ - return 0; -} -EXPORT_SYMBOL_GPL(gen10g_suspend); - -int gen10g_resume(struct phy_device *phydev) -{ - return 0; -} -EXPORT_SYMBOL_GPL(gen10g_resume); struct phy_driver genphy_10g_driver = { .phy_id = 0xffffffff, .phy_id_mask = 0xffffffff, .name = "Generic 10G PHY", - .soft_reset = gen10g_no_soft_reset, - .config_init = gen10g_config_init, + .soft_reset = genphy_no_soft_reset, .features = PHY_10GBIT_FEATURES, .config_aneg = gen10g_config_aneg, .read_status = gen10g_read_status, - .suspend = gen10g_suspend, - .resume = gen10g_resume, }; diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c index 69dc64a4dbf8..3745220c5c98 100644 --- a/drivers/net/phy/phy.c +++ b/drivers/net/phy/phy.c @@ -144,14 +144,10 @@ int phy_aneg_done(struct phy_device *phydev) { if (phydev->drv && phydev->drv->aneg_done) return phydev->drv->aneg_done(phydev); - - /* Avoid genphy_aneg_done() if the Clause 45 PHY does not - * implement Clause 22 registers - */ - if (phydev->is_c45 && !(phydev->c45_ids.devices_in_package & BIT(0))) - return -EINVAL; - - return genphy_aneg_done(phydev); + else if (phydev->is_c45) + return genphy_c45_aneg_done(phydev); + else + return genphy_aneg_done(phydev); } EXPORT_SYMBOL(phy_aneg_done); diff --git a/drivers/net/phy/teranetics.c b/drivers/net/phy/teranetics.c index 145c328b00fa..beb054b931ee 100644 --- a/drivers/net/phy/teranetics.c +++ b/drivers/net/phy/teranetics.c @@ -78,9 +78,8 @@ static struct phy_driver teranetics_driver[] = { .phy_id_mask = 0xffffffff, .name = "Teranetics TN2020", .features = PHY_10GBIT_FEATURES, - .soft_reset = gen10g_no_soft_reset, + .soft_reset = genphy_no_soft_reset, .aneg_done = teranetics_aneg_done, - .config_init = gen10g_config_init, .config_aneg = gen10g_config_aneg, .read_status = teranetics_read_status, .match_phy_device = teranetics_match_phy_device, |