lan743x: Expand phy search for LAN7431
authorBryan Whitehead <Bryan.Whitehead@microchip.com>
Mon, 17 Dec 2018 21:44:50 +0000 (16:44 -0500)
committerDavid S. Miller <davem@davemloft.net>
Wed, 19 Dec 2018 05:35:56 +0000 (21:35 -0800)
The LAN7431 uses an external phy, and it can be found anywhere in
the phy address space. This patch uses phy address 1 for LAN7430
only. And searches all addresses otherwise.

Signed-off-by: Bryan Whitehead <Bryan.Whitehead@microchip.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/microchip/lan743x_main.c

index e8ca98c070f68443c6460ecb10d3eb4b3ee9a2f2..1ba8ea07dc4fbb48303f6baea1f22b65366bac1d 100644 (file)
@@ -2719,8 +2719,9 @@ static int lan743x_mdiobus_init(struct lan743x_adapter *adapter)
        snprintf(adapter->mdiobus->id, MII_BUS_ID_SIZE,
                 "pci-%s", pci_name(adapter->pdev));
 
-       /* set to internal PHY id */
-       adapter->mdiobus->phy_mask = ~(u32)BIT(1);
+       if ((adapter->csr.id_rev & ID_REV_ID_MASK_) == ID_REV_ID_LAN7430_)
+               /* LAN7430 uses internal phy at address 1 */
+               adapter->mdiobus->phy_mask = ~(u32)BIT(1);
 
        /* register mdiobus */
        ret = mdiobus_register(adapter->mdiobus);