]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
net: usb: lan78xx: remove PHY register access from ethtool get_regs
authorOleksij Rempel <o.rempel@pengutronix.de>
Mon, 16 Dec 2024 12:09:40 +0000 (13:09 +0100)
committerJakub Kicinski <kuba@kernel.org>
Wed, 18 Dec 2024 03:51:55 +0000 (19:51 -0800)
Remove PHY register handling from `lan78xx_get_regs` and
`lan78xx_get_regs_len`. Since the controller can have different PHYs
attached, the first 32 registers are not universally relevant or the
most interesting. Simplify the implementation to focus on MAC and device
registers.

Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Link: https://patch.msgid.link/20241216120941.1690908-6-o.rempel@pengutronix.de
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/usb/lan78xx.c

index 78c75599b8f17730266ee2a2f3f9b4d078a9f59b..6c9dab290f3f9a6e1d5eef93f344490a73071b7d 100644 (file)
@@ -2096,10 +2096,7 @@ exit:
 
 static int lan78xx_get_regs_len(struct net_device *netdev)
 {
-       if (!netdev->phydev)
-               return (sizeof(lan78xx_regs));
-       else
-               return (sizeof(lan78xx_regs) + PHY_REG_SIZE);
+       return sizeof(lan78xx_regs);
 }
 
 static void
@@ -2109,7 +2106,7 @@ lan78xx_get_regs(struct net_device *netdev, struct ethtool_regs *regs,
        struct lan78xx_net *dev = netdev_priv(netdev);
        unsigned int data_count = 0;
        u32 *data = buf;
-       int i, j, ret;
+       int i, ret;
 
        /* Read Device/MAC registers */
        for (i = 0; i < ARRAY_SIZE(lan78xx_regs); i++) {
@@ -2124,22 +2121,6 @@ lan78xx_get_regs(struct net_device *netdev, struct ethtool_regs *regs,
                data_count++;
        }
 
-       if (!netdev->phydev)
-               return;
-
-       /* Read PHY registers */
-       for (j = 0; j < 32; i++, j++) {
-               ret = phy_read(netdev->phydev, j);
-               if (ret < 0) {
-                       netdev_warn(dev->net,
-                                   "failed to read PHY register 0x%02x\n", j);
-                       goto clean_data;
-               }
-
-               data[i] = ret;
-               data_count++;
-       }
-
        return;
 
 clean_data: