net: phy: realtek: use genphy_read_abilities

Use new function genphy_read_abilities(). This allows to remove all
calls to genphy_config_init().

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Heiner Kallweit 2019-03-27 22:00:32 +01:00 committed by David S. Miller
parent 2a4d8674b8
commit 48e4adf9af

View File

@ -151,21 +151,14 @@ static int rtl8211_config_aneg(struct phy_device *phydev)
static int rtl8211c_config_init(struct phy_device *phydev) static int rtl8211c_config_init(struct phy_device *phydev)
{ {
/* RTL8211C has an issue when operating in Gigabit slave mode */ /* RTL8211C has an issue when operating in Gigabit slave mode */
phy_set_bits(phydev, MII_CTRL1000, return phy_set_bits(phydev, MII_CTRL1000,
CTL1000_ENABLE_MASTER | CTL1000_AS_MASTER); CTL1000_ENABLE_MASTER | CTL1000_AS_MASTER);
return genphy_config_init(phydev);
} }
static int rtl8211f_config_init(struct phy_device *phydev) static int rtl8211f_config_init(struct phy_device *phydev)
{ {
int ret;
u16 val = 0; u16 val = 0;
ret = genphy_config_init(phydev);
if (ret < 0)
return ret;
/* enable TX-delay for rgmii-id and rgmii-txid, otherwise disable it */ /* enable TX-delay for rgmii-id and rgmii-txid, otherwise disable it */
if (phydev->interface == PHY_INTERFACE_MODE_RGMII_ID || if (phydev->interface == PHY_INTERFACE_MODE_RGMII_ID ||
phydev->interface == PHY_INTERFACE_MODE_RGMII_TXID) phydev->interface == PHY_INTERFACE_MODE_RGMII_TXID)
@ -192,10 +185,6 @@ static int rtl8366rb_config_init(struct phy_device *phydev)
{ {
int ret; int ret;
ret = genphy_config_init(phydev);
if (ret < 0)
return ret;
ret = phy_set_bits(phydev, RTL8366RB_POWER_SAVE, ret = phy_set_bits(phydev, RTL8366RB_POWER_SAVE,
RTL8366RB_POWER_SAVE_ON); RTL8366RB_POWER_SAVE_ON);
if (ret) { if (ret) {
@ -210,11 +199,11 @@ static struct phy_driver realtek_drvs[] = {
{ {
PHY_ID_MATCH_EXACT(0x00008201), PHY_ID_MATCH_EXACT(0x00008201),
.name = "RTL8201CP Ethernet", .name = "RTL8201CP Ethernet",
.features = PHY_BASIC_FEATURES, .get_features = genphy_read_abilities,
}, { }, {
PHY_ID_MATCH_EXACT(0x001cc816), PHY_ID_MATCH_EXACT(0x001cc816),
.name = "RTL8201F Fast Ethernet", .name = "RTL8201F Fast Ethernet",
.features = PHY_BASIC_FEATURES, .get_features = genphy_read_abilities,
.ack_interrupt = &rtl8201_ack_interrupt, .ack_interrupt = &rtl8201_ack_interrupt,
.config_intr = &rtl8201_config_intr, .config_intr = &rtl8201_config_intr,
.suspend = genphy_suspend, .suspend = genphy_suspend,
@ -224,14 +213,14 @@ static struct phy_driver realtek_drvs[] = {
}, { }, {
PHY_ID_MATCH_EXACT(0x001cc910), PHY_ID_MATCH_EXACT(0x001cc910),
.name = "RTL8211 Gigabit Ethernet", .name = "RTL8211 Gigabit Ethernet",
.features = PHY_GBIT_FEATURES, .get_features = genphy_read_abilities,
.config_aneg = rtl8211_config_aneg, .config_aneg = rtl8211_config_aneg,
.read_mmd = &genphy_read_mmd_unsupported, .read_mmd = &genphy_read_mmd_unsupported,
.write_mmd = &genphy_write_mmd_unsupported, .write_mmd = &genphy_write_mmd_unsupported,
}, { }, {
PHY_ID_MATCH_EXACT(0x001cc912), PHY_ID_MATCH_EXACT(0x001cc912),
.name = "RTL8211B Gigabit Ethernet", .name = "RTL8211B Gigabit Ethernet",
.features = PHY_GBIT_FEATURES, .get_features = genphy_read_abilities,
.ack_interrupt = &rtl821x_ack_interrupt, .ack_interrupt = &rtl821x_ack_interrupt,
.config_intr = &rtl8211b_config_intr, .config_intr = &rtl8211b_config_intr,
.read_mmd = &genphy_read_mmd_unsupported, .read_mmd = &genphy_read_mmd_unsupported,
@ -241,14 +230,14 @@ static struct phy_driver realtek_drvs[] = {
}, { }, {
PHY_ID_MATCH_EXACT(0x001cc913), PHY_ID_MATCH_EXACT(0x001cc913),
.name = "RTL8211C Gigabit Ethernet", .name = "RTL8211C Gigabit Ethernet",
.features = PHY_GBIT_FEATURES, .get_features = genphy_read_abilities,
.config_init = rtl8211c_config_init, .config_init = rtl8211c_config_init,
.read_mmd = &genphy_read_mmd_unsupported, .read_mmd = &genphy_read_mmd_unsupported,
.write_mmd = &genphy_write_mmd_unsupported, .write_mmd = &genphy_write_mmd_unsupported,
}, { }, {
PHY_ID_MATCH_EXACT(0x001cc914), PHY_ID_MATCH_EXACT(0x001cc914),
.name = "RTL8211DN Gigabit Ethernet", .name = "RTL8211DN Gigabit Ethernet",
.features = PHY_GBIT_FEATURES, .get_features = genphy_read_abilities,
.ack_interrupt = rtl821x_ack_interrupt, .ack_interrupt = rtl821x_ack_interrupt,
.config_intr = rtl8211e_config_intr, .config_intr = rtl8211e_config_intr,
.suspend = genphy_suspend, .suspend = genphy_suspend,
@ -256,7 +245,7 @@ static struct phy_driver realtek_drvs[] = {
}, { }, {
PHY_ID_MATCH_EXACT(0x001cc915), PHY_ID_MATCH_EXACT(0x001cc915),
.name = "RTL8211E Gigabit Ethernet", .name = "RTL8211E Gigabit Ethernet",
.features = PHY_GBIT_FEATURES, .get_features = genphy_read_abilities,
.ack_interrupt = &rtl821x_ack_interrupt, .ack_interrupt = &rtl821x_ack_interrupt,
.config_intr = &rtl8211e_config_intr, .config_intr = &rtl8211e_config_intr,
.suspend = genphy_suspend, .suspend = genphy_suspend,
@ -264,7 +253,7 @@ static struct phy_driver realtek_drvs[] = {
}, { }, {
PHY_ID_MATCH_EXACT(0x001cc916), PHY_ID_MATCH_EXACT(0x001cc916),
.name = "RTL8211F Gigabit Ethernet", .name = "RTL8211F Gigabit Ethernet",
.features = PHY_GBIT_FEATURES, .get_features = genphy_read_abilities,
.config_init = &rtl8211f_config_init, .config_init = &rtl8211f_config_init,
.ack_interrupt = &rtl8211f_ack_interrupt, .ack_interrupt = &rtl8211f_ack_interrupt,
.config_intr = &rtl8211f_config_intr, .config_intr = &rtl8211f_config_intr,
@ -275,8 +264,7 @@ static struct phy_driver realtek_drvs[] = {
}, { }, {
PHY_ID_MATCH_EXACT(0x001cc800), PHY_ID_MATCH_EXACT(0x001cc800),
.name = "Generic Realtek PHY", .name = "Generic Realtek PHY",
.features = PHY_GBIT_FEATURES, .get_features = genphy_read_abilities,
.config_init = genphy_config_init,
.suspend = genphy_suspend, .suspend = genphy_suspend,
.resume = genphy_resume, .resume = genphy_resume,
.read_page = rtl821x_read_page, .read_page = rtl821x_read_page,
@ -284,7 +272,7 @@ static struct phy_driver realtek_drvs[] = {
}, { }, {
PHY_ID_MATCH_EXACT(0x001cc961), PHY_ID_MATCH_EXACT(0x001cc961),
.name = "RTL8366RB Gigabit Ethernet", .name = "RTL8366RB Gigabit Ethernet",
.features = PHY_GBIT_FEATURES, .get_features = genphy_read_abilities,
.config_init = &rtl8366rb_config_init, .config_init = &rtl8366rb_config_init,
/* These interrupts are handled by the irq controller /* These interrupts are handled by the irq controller
* embedded inside the RTL8366RB, they get unmasked when the * embedded inside the RTL8366RB, they get unmasked when the