]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
net: phy: realtek: add generic Realtek PHY driver
authorHeiner Kallweit <hkallweit1@gmail.com>
Sun, 3 Feb 2019 15:07:33 +0000 (16:07 +0100)
committerDavid S. Miller <davem@davemloft.net>
Sun, 3 Feb 2019 17:37:08 +0000 (09:37 -0800)
The integrated PHY's of later RTL8168 network chips report the generic
PHYID 0x001cc800 (Realtek OUI, model and revision number both set to
zero) and therefore currently the genphy driver is used.

To be able to use the paged version of e.g. phy_write() we need a
PHY driver with the read_page and write_page callbacks implemented.
So basically make a copy of the genphy driver, just with the
read_page and write_page callbacks being set.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/realtek.c

index 75543f9370f3474d5d7a83415b30a197211c6e58..d8c4b9ae0fa4bf97cb37a116ac09aa9e5e894f32 100644 (file)
@@ -272,6 +272,15 @@ static struct phy_driver realtek_drvs[] = {
                .resume         = genphy_resume,
                .read_page      = rtl821x_read_page,
                .write_page     = rtl821x_write_page,
+       }, {
+               PHY_ID_MATCH_EXACT(0x001cc800),
+               .name           = "Generic Realtek PHY",
+               .features       = PHY_GBIT_FEATURES,
+               .config_init    = genphy_config_init,
+               .suspend        = genphy_suspend,
+               .resume         = genphy_resume,
+               .read_page      = rtl821x_read_page,
+               .write_page     = rtl821x_write_page,
        }, {
                PHY_ID_MATCH_EXACT(0x001cc961),
                .name           = "RTL8366RB Gigabit Ethernet",