net: phy: teranetics: Utilize generic functions
Update teranetics_aneg_done() to use genphy_c45_aneg_done() instead of duplicating that code, and switch to gen10g_* functions where appropriate instead of maintaining identical copies doing nothing. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
This commit is contained in:
parent
e8a714e086
commit
aebc78a40b
@ -34,39 +34,17 @@ MODULE_LICENSE("GPL v2");
|
||||
MDIO_PHYXS_LNSTAT_SYNC3 | \
|
||||
MDIO_PHYXS_LNSTAT_ALIGN)
|
||||
|
||||
static int teranetics_config_init(struct phy_device *phydev)
|
||||
{
|
||||
phydev->supported = SUPPORTED_10000baseT_Full;
|
||||
phydev->advertising = SUPPORTED_10000baseT_Full;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int teranetics_soft_reset(struct phy_device *phydev)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int teranetics_aneg_done(struct phy_device *phydev)
|
||||
{
|
||||
int reg;
|
||||
|
||||
/* auto negotiation state can only be checked when using copper
|
||||
* port, if using fiber port, just lie it's done.
|
||||
*/
|
||||
if (!phy_read_mmd(phydev, MDIO_MMD_VEND1, 93)) {
|
||||
reg = phy_read_mmd(phydev, MDIO_MMD_AN, MDIO_STAT1);
|
||||
return (reg < 0) ? reg : (reg & BMSR_ANEGCOMPLETE);
|
||||
}
|
||||
if (!phy_read_mmd(phydev, MDIO_MMD_VEND1, 93))
|
||||
return genphy_c45_aneg_done(phydev);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int teranetics_config_aneg(struct phy_device *phydev)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int teranetics_read_status(struct phy_device *phydev)
|
||||
{
|
||||
int reg;
|
||||
@ -102,10 +80,10 @@ static struct phy_driver teranetics_driver[] = {
|
||||
.phy_id = PHY_ID_TN2020,
|
||||
.phy_id_mask = 0xffffffff,
|
||||
.name = "Teranetics TN2020",
|
||||
.soft_reset = teranetics_soft_reset,
|
||||
.soft_reset = gen10g_no_soft_reset,
|
||||
.aneg_done = teranetics_aneg_done,
|
||||
.config_init = teranetics_config_init,
|
||||
.config_aneg = teranetics_config_aneg,
|
||||
.config_init = gen10g_config_init,
|
||||
.config_aneg = gen10g_config_aneg,
|
||||
.read_status = teranetics_read_status,
|
||||
.match_phy_device = teranetics_match_phy_device,
|
||||
},
|
||||
|
Loading…
Reference in New Issue
Block a user