]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
net: phy: realtek: use genphy_read_abilities
authorHeiner Kallweit <hkallweit1@gmail.com>
Wed, 27 Mar 2019 21:00:32 +0000 (22:00 +0100)
committerDavid S. Miller <davem@davemloft.net>
Tue, 2 Apr 2019 20:09:56 +0000 (13:09 -0700)
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>
drivers/net/phy/realtek.c

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