]> git.karo-electronics.de Git - linux-beck.git/blobdiff - drivers/net/ethernet/broadcom/tg3.c
net: tg3: avoid uninitialized variable warning
[linux-beck.git] / drivers / net / ethernet / broadcom / tg3.c
index 79789d8e52da3e7aba39acdb4be1ddcae1baaa9e..49eea8981332d679b31614aa4d284e258abd97d6 100644 (file)
@@ -1406,7 +1406,7 @@ static void tg3_mdio_config_5785(struct tg3 *tp)
        u32 val;
        struct phy_device *phydev;
 
-       phydev = tp->mdio_bus->phy_map[tp->phy_addr];
+       phydev = mdiobus_get_phy(tp->mdio_bus, tp->phy_addr);
        switch (phydev->drv->phy_id & phydev->drv->phy_id_mask) {
        case PHY_ID_BCM50610:
        case PHY_ID_BCM50610M:
@@ -1538,10 +1538,6 @@ static int tg3_mdio_init(struct tg3 *tp)
        tp->mdio_bus->read     = &tg3_mdio_read;
        tp->mdio_bus->write    = &tg3_mdio_write;
        tp->mdio_bus->phy_mask = ~(1 << tp->phy_addr);
-       tp->mdio_bus->irq      = &tp->mdio_irq[0];
-
-       for (i = 0; i < PHY_MAX_ADDR; i++)
-               tp->mdio_bus->irq[i] = PHY_POLL;
 
        /* The bus registration will look for all the PHYs on the mdio bus.
         * Unfortunately, it does not ensure the PHY is powered up before
@@ -1558,7 +1554,7 @@ static int tg3_mdio_init(struct tg3 *tp)
                return i;
        }
 
-       phydev = tp->mdio_bus->phy_map[tp->phy_addr];
+       phydev = mdiobus_get_phy(tp->mdio_bus, tp->phy_addr);
 
        if (!phydev || !phydev->drv) {
                dev_warn(&tp->pdev->dev, "No PHY devices\n");
@@ -1968,7 +1964,7 @@ static void tg3_setup_flow_control(struct tg3 *tp, u32 lcladv, u32 rmtadv)
        u32 old_tx_mode = tp->tx_mode;
 
        if (tg3_flag(tp, USE_PHYLIB))
-               autoneg = tp->mdio_bus->phy_map[tp->phy_addr]->autoneg;
+               autoneg = mdiobus_get_phy(tp->mdio_bus, tp->phy_addr)->autoneg;
        else
                autoneg = tp->link_config.autoneg;
 
@@ -2004,7 +2000,7 @@ static void tg3_adjust_link(struct net_device *dev)
        u8 oldflowctrl, linkmesg = 0;
        u32 mac_mode, lcl_adv, rmt_adv;
        struct tg3 *tp = netdev_priv(dev);
-       struct phy_device *phydev = tp->mdio_bus->phy_map[tp->phy_addr];
+       struct phy_device *phydev = mdiobus_get_phy(tp->mdio_bus, tp->phy_addr);
 
        spin_lock_bh(&tp->lock);
 
@@ -2093,10 +2089,10 @@ static int tg3_phy_init(struct tg3 *tp)
        /* Bring the PHY back to a known state. */
        tg3_bmcr_reset(tp);
 
-       phydev = tp->mdio_bus->phy_map[tp->phy_addr];
+       phydev = mdiobus_get_phy(tp->mdio_bus, tp->phy_addr);
 
        /* Attach the MAC to the PHY. */
-       phydev = phy_connect(tp->dev, dev_name(&phydev->dev),
+       phydev = phy_connect(tp->dev, phydev_name(phydev),
                             tg3_adjust_link, phydev->interface);
        if (IS_ERR(phydev)) {
                dev_err(&tp->pdev->dev, "Could not attach to PHY\n");
@@ -2120,7 +2116,7 @@ static int tg3_phy_init(struct tg3 *tp)
                                      SUPPORTED_Asym_Pause);
                break;
        default:
-               phy_disconnect(tp->mdio_bus->phy_map[tp->phy_addr]);
+               phy_disconnect(mdiobus_get_phy(tp->mdio_bus, tp->phy_addr));
                return -EINVAL;
        }
 
@@ -2128,6 +2124,8 @@ static int tg3_phy_init(struct tg3 *tp)
 
        phydev->advertising = phydev->supported;
 
+       phy_attached_info(phydev);
+
        return 0;
 }
 
@@ -2138,7 +2136,7 @@ static void tg3_phy_start(struct tg3 *tp)
        if (!(tp->phy_flags & TG3_PHYFLG_IS_CONNECTED))
                return;
 
-       phydev = tp->mdio_bus->phy_map[tp->phy_addr];
+       phydev = mdiobus_get_phy(tp->mdio_bus, tp->phy_addr);
 
        if (tp->phy_flags & TG3_PHYFLG_IS_LOW_POWER) {
                tp->phy_flags &= ~TG3_PHYFLG_IS_LOW_POWER;
@@ -2158,13 +2156,13 @@ static void tg3_phy_stop(struct tg3 *tp)
        if (!(tp->phy_flags & TG3_PHYFLG_IS_CONNECTED))
                return;
 
-       phy_stop(tp->mdio_bus->phy_map[tp->phy_addr]);
+       phy_stop(mdiobus_get_phy(tp->mdio_bus, tp->phy_addr));
 }
 
 static void tg3_phy_fini(struct tg3 *tp)
 {
        if (tp->phy_flags & TG3_PHYFLG_IS_CONNECTED) {
-               phy_disconnect(tp->mdio_bus->phy_map[tp->phy_addr]);
+               phy_disconnect(mdiobus_get_phy(tp->mdio_bus, tp->phy_addr));
                tp->phy_flags &= ~TG3_PHYFLG_IS_CONNECTED;
        }
 }
@@ -4048,7 +4046,7 @@ static int tg3_power_down_prepare(struct tg3 *tp)
                        struct phy_device *phydev;
                        u32 phyid, advertising;
 
-                       phydev = tp->mdio_bus->phy_map[tp->phy_addr];
+                       phydev = mdiobus_get_phy(tp->mdio_bus, tp->phy_addr);
 
                        tp->phy_flags |= TG3_PHYFLG_IS_LOW_POWER;
 
@@ -12018,7 +12016,7 @@ static int tg3_set_eeprom(struct net_device *dev, struct ethtool_eeprom *eeprom,
        int ret;
        u32 offset, len, b_offset, odd_len;
        u8 *buf;
-       __be32 start, end;
+       __be32 start = 0, end;
 
        if (tg3_flag(tp, NO_NVRAM) ||
            eeprom->magic != TG3_EEPROM_MAGIC)
@@ -12076,7 +12074,7 @@ static int tg3_get_settings(struct net_device *dev, struct ethtool_cmd *cmd)
                struct phy_device *phydev;
                if (!(tp->phy_flags & TG3_PHYFLG_IS_CONNECTED))
                        return -EAGAIN;
-               phydev = tp->mdio_bus->phy_map[tp->phy_addr];
+               phydev = mdiobus_get_phy(tp->mdio_bus, tp->phy_addr);
                return phy_ethtool_gset(phydev, cmd);
        }
 
@@ -12143,7 +12141,7 @@ static int tg3_set_settings(struct net_device *dev, struct ethtool_cmd *cmd)
                struct phy_device *phydev;
                if (!(tp->phy_flags & TG3_PHYFLG_IS_CONNECTED))
                        return -EAGAIN;
-               phydev = tp->mdio_bus->phy_map[tp->phy_addr];
+               phydev = mdiobus_get_phy(tp->mdio_bus, tp->phy_addr);
                return phy_ethtool_sset(phydev, cmd);
        }
 
@@ -12298,7 +12296,7 @@ static int tg3_nway_reset(struct net_device *dev)
        if (tg3_flag(tp, USE_PHYLIB)) {
                if (!(tp->phy_flags & TG3_PHYFLG_IS_CONNECTED))
                        return -EAGAIN;
-               r = phy_start_aneg(tp->mdio_bus->phy_map[tp->phy_addr]);
+               r = phy_start_aneg(mdiobus_get_phy(tp->mdio_bus, tp->phy_addr));
        } else {
                u32 bmcr;
 
@@ -12416,7 +12414,7 @@ static int tg3_set_pauseparam(struct net_device *dev, struct ethtool_pauseparam
                u32 newadv;
                struct phy_device *phydev;
 
-               phydev = tp->mdio_bus->phy_map[tp->phy_addr];
+               phydev = mdiobus_get_phy(tp->mdio_bus, tp->phy_addr);
 
                if (!(phydev->supported & SUPPORTED_Pause) ||
                    (!(phydev->supported & SUPPORTED_Asym_Pause) &&
@@ -13926,7 +13924,7 @@ static int tg3_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
                struct phy_device *phydev;
                if (!(tp->phy_flags & TG3_PHYFLG_IS_CONNECTED))
                        return -EAGAIN;
-               phydev = tp->mdio_bus->phy_map[tp->phy_addr];
+               phydev = mdiobus_get_phy(tp->mdio_bus, tp->phy_addr);
                return phy_mii_ioctl(phydev, ifr, cmd);
        }
 
@@ -17898,13 +17896,7 @@ static int tg3_init_one(struct pci_dev *pdev,
                    tg3_bus_string(tp, str),
                    dev->dev_addr);
 
-       if (tp->phy_flags & TG3_PHYFLG_IS_CONNECTED) {
-               struct phy_device *phydev;
-               phydev = tp->mdio_bus->phy_map[tp->phy_addr];
-               netdev_info(dev,
-                           "attached PHY driver [%s] (mii_bus:phy_addr=%s)\n",
-                           phydev->drv->name, dev_name(&phydev->dev));
-       } else {
+       if (!(tp->phy_flags & TG3_PHYFLG_IS_CONNECTED)) {
                char *ethtype;
 
                if (tp->phy_flags & TG3_PHYFLG_10_100_ONLY)