OSDN Git Service

phy: mscc: Use PHY_ID_MATCH_VENDOR to minimize PHY ID table
authorHarini Katakam <harini.katakam@amd.com>
Mon, 29 May 2023 12:20:16 +0000 (17:50 +0530)
committerJakub Kicinski <kuba@kernel.org>
Thu, 1 Jun 2023 05:33:45 +0000 (22:33 -0700)
All the PHY devices variants specified have the same mask and
hence can be simplified to one vendor look up for 0x00070400.
Any individual config can be identified by PHY_ID_MATCH_EXACT
in the respective structure.

Signed-off-by: Harini Katakam <harini.katakam@amd.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/phy/mscc/mscc.h
drivers/net/phy/mscc/mscc_main.c

index defe5cc..7a96205 100644 (file)
@@ -292,6 +292,7 @@ enum rgmii_clock_delay {
 #define PHY_ID_VSC8575                   0x000707d0
 #define PHY_ID_VSC8582                   0x000707b0
 #define PHY_ID_VSC8584                   0x000707c0
+#define PHY_VENDOR_MSCC                        0x00070400
 
 #define MSCC_VDDMAC_1500                 1500
 #define MSCC_VDDMAC_1800                 1800
index 28df8a2..fc074bc 100644 (file)
@@ -2678,21 +2678,7 @@ static struct phy_driver vsc85xx_driver[] = {
 module_phy_driver(vsc85xx_driver);
 
 static struct mdio_device_id __maybe_unused vsc85xx_tbl[] = {
-       { PHY_ID_VSC8501, 0xfffffff0, },
-       { PHY_ID_VSC8502, 0xfffffff0, },
-       { PHY_ID_VSC8504, 0xfffffff0, },
-       { PHY_ID_VSC8514, 0xfffffff0, },
-       { PHY_ID_VSC8530, 0xfffffff0, },
-       { PHY_ID_VSC8531, 0xfffffff0, },
-       { PHY_ID_VSC8540, 0xfffffff0, },
-       { PHY_ID_VSC8541, 0xfffffff0, },
-       { PHY_ID_VSC8552, 0xfffffff0, },
-       { PHY_ID_VSC856X, 0xfffffff0, },
-       { PHY_ID_VSC8572, 0xfffffff0, },
-       { PHY_ID_VSC8574, 0xfffffff0, },
-       { PHY_ID_VSC8575, 0xfffffff0, },
-       { PHY_ID_VSC8582, 0xfffffff0, },
-       { PHY_ID_VSC8584, 0xfffffff0, },
+       { PHY_ID_MATCH_VENDOR(PHY_VENDOR_MSCC) },
        { }
 };