phy: Centralise print about attached phy
authorAndrew Lunn <andrew@lunn.ch>
Wed, 6 Jan 2016 19:11:13 +0000 (20:11 +0100)
committerDavid S. Miller <davem@davemloft.net>
Thu, 7 Jan 2016 19:31:25 +0000 (14:31 -0500)
Many Ethernet drivers contain the same netdev_info() print statement
about the attached phy. Move it into the phy device code. Additionally
add a varargs function which can be used to append additional
information.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
25 files changed:
drivers/net/ethernet/adi/bfin_mac.c
drivers/net/ethernet/agere/et131x.c
drivers/net/ethernet/amd/au1000_eth.c
drivers/net/ethernet/broadcom/b44.c
drivers/net/ethernet/broadcom/bcm63xx_enet.c
drivers/net/ethernet/broadcom/sb1250-mac.c
drivers/net/ethernet/broadcom/tg3.c
drivers/net/ethernet/cadence/macb.c
drivers/net/ethernet/dnet.c
drivers/net/ethernet/freescale/fec_main.c
drivers/net/ethernet/lantiq_etop.c
drivers/net/ethernet/nxp/lpc_eth.c
drivers/net/ethernet/rdc/r6040.c
drivers/net/ethernet/renesas/ravb_main.c
drivers/net/ethernet/renesas/sh_eth.c
drivers/net/ethernet/smsc/smsc911x.c
drivers/net/ethernet/smsc/smsc9420.c
drivers/net/ethernet/synopsys/dwc_eth_qos.c
drivers/net/ethernet/ti/cpsw.c
drivers/net/ethernet/ti/davinci_emac.c
drivers/net/ethernet/toshiba/tc35815.c
drivers/net/phy/phy_device.c
drivers/staging/netlogic/xlr_net.c
include/linux/phy.h
net/dsa/slave.c

index 5f8a5182b8dc6ca12da50d6e03a464631d459282..ed5c78cb723935e802075461204ff0ee4ca1b8ea 100644 (file)
@@ -444,10 +444,8 @@ static int mii_probe(struct net_device *dev, int phy_mode)
        lp->old_duplex = -1;
        lp->phydev = phydev;
 
-       pr_info("attached PHY driver [%s] "
-               "(mii_bus:phy_addr=%s, irq=%d, mdc_clk=%dHz(mdc_div=%d)@sclk=%dMHz)\n",
-               phydev->drv->name, phydev_name(phydev), phydev->irq,
-               MDC_CLK, mdc_div, sclk/1000000);
+       phy_attached_print(phydev, "mdc_clk=%dHz(mdc_div=%d)@sclk=%dMHz)\n",
+                          MDC_CLK, mdc_div, sclk / 1000000);
 
        return 0;
 }
index 80b706f0fc9755e6c1e53c4d591640cda5855089..825da3af806a502f94d0256bf148850f0c252db9 100644 (file)
@@ -3289,9 +3289,7 @@ static int et131x_mii_probe(struct net_device *netdev)
        phydev->autoneg = AUTONEG_ENABLE;
        adapter->phydev = phydev;
 
-       dev_info(&adapter->pdev->dev,
-                "attached PHY driver [%s] (mii_bus:phy_addr=%s)\n",
-                phydev->drv->name, phydev_name(phydev));
+       phy_attached_info(phydev);
 
        return 0;
 }
index 8a8d6f2a0f6feb88bf3cfe2c45727de7011e18b9..114618d357d5a28e55c50f3088611cd9e9043024 100644 (file)
@@ -583,9 +583,7 @@ static int au1000_mii_probe(struct net_device *dev)
        aup->old_duplex = -1;
        aup->phy_dev = phydev;
 
-       netdev_info(dev, "attached PHY driver [%s] "
-              "(mii_bus:phy_addr=%s, irq=%d)\n",
-              phydev->drv->name, phydev_name(phydev), phydev->irq);
+       phy_attached_info(phydev);
 
        return 0;
 }
index 928a2210e78880ee36a6332953a464ccb0e135c8..e7d9308d6760cdfb4c5f34e645208565787403ad 100644 (file)
@@ -2315,8 +2315,7 @@ static int b44_register_phy_one(struct b44 *bp)
        bp->old_link = 0;
        bp->phy_addr = phydev->addr;
 
-       dev_info(sdev->dev, "attached PHY driver [%s] (mii_bus:phy_addr=%s)\n",
-                phydev->drv->name, phydev_name(phydev));
+       phy_attached_info(phydev);
 
        return 0;
 
index a54bafad35385ce17b3ae7c38126fa57a62ee5da..55f31faa09e641215ce22c0921c37ed723972235 100644 (file)
@@ -908,8 +908,7 @@ static int bcm_enet_open(struct net_device *dev)
                else
                        phydev->advertising &= ~SUPPORTED_Pause;
 
-               dev_info(kdev, "attached PHY at address %d [%s]\n",
-                        phydev->addr, phydev->drv->name);
+               phy_attached_info(phydev);
 
                priv->old_link = 0;
                priv->old_duplex = -1;
index f557a2aaec231ff0669db71a1b6eee07cca7d90f..2470c6084c67ec9e3cf957037a2b57082f19155f 100644 (file)
@@ -2388,11 +2388,10 @@ static int sbmac_mii_probe(struct net_device *dev)
                              SUPPORTED_MII |
                              SUPPORTED_Pause |
                              SUPPORTED_Asym_Pause;
-       phy_dev->advertising = phy_dev->supported;
 
-       pr_info("%s: attached PHY driver [%s] (mii_bus:phy_addr=%s, irq=%d)\n",
-               dev->name, phy_dev->drv->name,
-               dev_name(&phy_dev->dev), phy_dev->irq);
+       phy_attached_info(phydev);
+
+       phy_dev->advertising = phy_dev->supported;
 
        sc->phy_dev = phy_dev;
 
index 69d84d67f09abe2f2874e78dd38c0e3be0c12dbb..07c067590caa7cd6762e78fd7f4c475a38de11da 100644 (file)
@@ -2128,6 +2128,8 @@ static int tg3_phy_init(struct tg3 *tp)
 
        phydev->advertising = phydev->supported;
 
+       phy_attached_info(phydev);
+
        return 0;
 }
 
@@ -17898,13 +17900,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, phydev_name(phydev));
-       } else {
+       if (!(tp->phy_flags & TG3_PHYFLG_IS_CONNECTED)) {
                char *ethtype;
 
                if (tp->phy_flags & TG3_PHYFLG_10_100_ONLY)
index 001d60c5521c8f694c7640285abc88c90d27b214..98df33b7a3958de637b0c778df4011a68ccc6fe4 100644 (file)
@@ -2950,8 +2950,7 @@ static int macb_probe(struct platform_device *pdev)
                    dev->base_addr, dev->irq, dev->dev_addr);
 
        phydev = bp->phy_dev;
-       netdev_info(dev, "attached PHY driver [%s] (mii_bus:phy_addr=%s, irq=%d)\n",
-                   phydev->drv->name, phydev_name(phydev), phydev->irq);
+       phy_attached_info(phydev);
 
        return 0;
 
index 0ec3675213541417d3afe86622536e8de752ab0f..6557460cf028f510d9d21a728bfb6c3897c7eb72 100644 (file)
@@ -886,9 +886,7 @@ static int dnet_probe(struct platform_device *pdev)
               (bp->capabilities & DNET_HAS_GIGABIT) ? "" : "no ",
               (bp->capabilities & DNET_HAS_DMA) ? "" : "no ");
        phydev = bp->phy_dev;
-       dev_info(&pdev->dev, "attached PHY driver [%s] "
-              "(mii_bus:phy_addr=%s, irq=%d)\n",
-              phydev->drv->name, phydev_name(phydev), phydev->irq);
+       phy_attached_info(phydev);
 
        return 0;
 
index d2328fc5da57f0c06b0f9f6244324de371fa81c4..ceabe21b3b2cf6c9c57a032967c2da9544555e5f 100644 (file)
@@ -1972,9 +1972,7 @@ static int fec_enet_mii_probe(struct net_device *ndev)
        fep->link = 0;
        fep->full_duplex = 0;
 
-       netdev_info(ndev, "Freescale FEC PHY driver [%s] (mii_bus:phy_addr=%s, irq=%d)\n",
-                   fep->phy_dev->drv->name, dev_name(&fep->phy_dev->dev),
-                   fep->phy_dev->irq);
+       phy_attached_info(phy_dev);
 
        return 0;
 }
index 274a3cec84c256ebcdaa424d2bfc34ac71e9a94d..86238a5eaddfe16daa12c786a9fab4070388b64d 100644 (file)
@@ -408,9 +408,7 @@ ltq_etop_mdio_probe(struct net_device *dev)
 
        phydev->advertising = phydev->supported;
        priv->phydev = phydev;
-       pr_info("%s: attached PHY [%s] (phy_addr=%s, irq=%d)\n",
-              dev->name, phydev->drv->name,
-              phydev_name(phydev), phydev->irq);
+       phy_attached_info(phydev);
 
        return 0;
 }
index 5801aa197697ea9b98a29bbbfb81ada28ae21e77..024bc367557344c6b2e5597d189954a6774b5ef7 100644 (file)
@@ -816,9 +816,8 @@ static int lpc_mii_probe(struct net_device *ndev)
        pldat->duplex = -1;
        pldat->phy_dev = phydev;
 
-       netdev_info(ndev,
-               "attached PHY driver [%s] (mii_bus:phy_addr=%s, irq=%d)\n",
-               phydev->drv->name, phydev_name(phydev), phydev->irq);
+       phy_attached_info(phydev);
+
        return 0;
 }
 
index 86a0887811c7ae292d0fc8c2143b37627924ac68..174dea787caf8e03c1c19cdaf6978a787e125dbb 100644 (file)
@@ -1061,9 +1061,7 @@ static int r6040_mii_probe(struct net_device *dev)
        lp->old_link = 0;
        lp->old_duplex = -1;
 
-       dev_info(&lp->pdev->dev, "attached PHY driver [%s] "
-               "(mii_bus:phy_addr=%s)\n",
-               phydev->drv->name, phydev_name(phydev));
+       phy_attached_info(phydev);
 
        return 0;
 }
index 2f6c974e4a6d6de16fcd914856c265923ded722c..9e20f37a3b6fd576c38b5c2e93b3723fd0de0d73 100644 (file)
@@ -927,8 +927,7 @@ static int ravb_phy_init(struct net_device *ndev)
        /* 10BASE is not supported */
        phydev->supported &= ~PHY_10BT_FEATURES;
 
-       netdev_info(ndev, "attached PHY %d (IRQ %d) to driver %s\n",
-                   phydev->addr, phydev->irq, phydev_name(phydev));
+       phy_attached_info(phydev);
 
        priv->phydev = phydev;
 
index e14d28474b709836096e5054f22fb7abd5840518..94581be64d6511706925434e173d124c38d7539d 100644 (file)
@@ -1826,8 +1826,7 @@ static int sh_eth_phy_init(struct net_device *ndev)
                return PTR_ERR(phydev);
        }
 
-       netdev_info(ndev, "attached PHY %d (IRQ %d) to driver %s\n",
-                   phydev->addr, phydev->irq, phydev_name(phydev));
+       phy_attached_info(phydev);
 
        mdp->phydev = phydev;
 
index 067346d3209d0daf97d805fc904af43589757300..139b99b04099e1a819d6db78b4b2313bf16dd757 100644 (file)
@@ -1031,9 +1031,7 @@ static int smsc911x_mii_probe(struct net_device *dev)
                return ret;
        }
 
-       netdev_info(dev,
-                   "attached PHY driver [%s] (mii_bus:phy_addr=%s, irq=%d)\n",
-                   phydev->drv->name, phydev_name(phydev), phydev->irq);
+       phy_attached_info(phydev);
 
        /* mask with MAC supported features */
        phydev->supported &= (PHY_BASIC_FEATURES | SUPPORTED_Pause |
index a02ed6b6306401b8c49915a16ee9c56cc709340c..fa8893a804f7758110c9d2a15f1f67d229e70f64 100644 (file)
@@ -1163,10 +1163,6 @@ static int smsc9420_mii_probe(struct net_device *dev)
                return -ENODEV;
        }
 
-       phydev = pd->mii_bus->phy_map[1];
-       netif_info(pd, probe, pd->dev, "PHY addr %d, phy_id 0x%08X\n",
-                  phydev->addr, phydev->phy_id);
-
        phydev = phy_connect(dev, phydev_name(phydev),
                             smsc9420_phy_adjust_link, PHY_INTERFACE_MODE_MII);
 
@@ -1175,14 +1171,13 @@ static int smsc9420_mii_probe(struct net_device *dev)
                return PTR_ERR(phydev);
        }
 
-       netdev_info(dev, "attached PHY driver [%s] (mii_bus:phy_addr=%s, irq=%d)\n",
-                   phydev->drv->name, phydev_name(phydev), phydev->irq);
-
        /* mask with MAC supported features */
        phydev->supported &= (PHY_BASIC_FEATURES | SUPPORTED_Pause |
                              SUPPORTED_Asym_Pause);
        phydev->advertising = phydev->supported;
 
+       phy_attached_info(phydev);
+
        pd->phy_dev = phydev;
        pd->last_duplex = -1;
        pd->last_carrier = -1;
index 9066d7a8483c34ed5ee1ca2a697453eb55564584..b25ee370254ab622d39dde55b4a40b93a5b8dd29 100644 (file)
@@ -972,9 +972,7 @@ static int dwceqos_mii_probe(struct net_device *ndev)
        }
 
        if (netif_msg_probe(lp))
-               netdev_dbg(lp->ndev,
-                          "phydev %p, phydev->phy_id 0xa%x, phydev->addr 0x%x\n",
-                          phydev, phydev->phy_id, phydev->addr);
+               phy_attached_info(phydev);
 
        phydev->supported &= PHY_GBIT_FEATURES;
 
@@ -983,14 +981,6 @@ static int dwceqos_mii_probe(struct net_device *ndev)
        lp->duplex  = DUPLEX_UNKNOWN;
        lp->phy_dev = phydev;
 
-       if (netif_msg_probe(lp)) {
-               netdev_dbg(lp->ndev, "phy_addr 0x%x, phy_id 0x%08x\n",
-                          lp->phy_dev->addr, lp->phy_dev->phy_id);
-
-               netdev_dbg(lp->ndev, "attach [%s] phy driver\n",
-                          lp->phy_dev->drv->name);
-       }
-
        return 0;
 }
 
index 34ce7dce8c9db10389960e04e7dfdf147ac03d38..49544c0fa6a7e3aa01e89d6546b4cef317ad3adc 100644 (file)
@@ -1159,8 +1159,8 @@ static void cpsw_slave_open(struct cpsw_slave *slave, struct cpsw_priv *priv)
                        slave->data->phy_id, slave->slave_num);
                slave->phy = NULL;
        } else {
-               dev_info(priv->dev, "phy found : id is : 0x%x\n",
-                        slave->phy->phy_id);
+               phy_attached_info(slave->phy);
+
                phy_start(slave->phy);
 
                /* Configure GMII_SEL register */
index 5a40b0256327c6840bed232b47df9d24a8971183..5d9abedd6b757ca65000e5dea8155acf0eac9412 100644 (file)
@@ -1644,10 +1644,7 @@ static int emac_dev_open(struct net_device *ndev)
                priv->speed = 0;
                priv->duplex = ~0;
 
-               dev_info(emac_dev, "attached PHY driver [%s] "
-                       "(mii_bus:phy_addr=%s, id=%x)\n",
-                       priv->phydev->drv->name, phydev_name(priv->phydev),
-                       priv->phydev->phy_id);
+               phy_attached_info(priv->phydev);
        }
 
        if (!priv->phydev) {
index 8df6072ac78d14c77ea111a99986a5c00d622530..8fd5e0ba718c8e7bf4a239db6ecd61bf95791e88 100644 (file)
@@ -638,10 +638,8 @@ static int tc_mii_probe(struct net_device *dev)
                printk(KERN_ERR "%s: Could not attach to PHY\n", dev->name);
                return PTR_ERR(phydev);
        }
-       printk(KERN_INFO "%s: attached PHY driver [%s] "
-               "(mii_bus:phy_addr=%s, id=%x)\n",
-               dev->name, phydev->drv->name, phydev_name(phydev),
-               phydev->phy_id);
+
+       phy_attached_info(phydev);
 
        /* mask with MAC supported features */
        phydev->supported &= PHY_BASIC_FEATURES;
index 0f179709a289c9560db372e3f9853f580738bf36..68fe5738daefae995d3e5eec1ba7d1826136225f 100644 (file)
@@ -607,6 +607,33 @@ int phy_init_hw(struct phy_device *phydev)
 }
 EXPORT_SYMBOL(phy_init_hw);
 
+void phy_attached_info(struct phy_device *phydev)
+{
+       phy_attached_print(phydev, NULL);
+}
+EXPORT_SYMBOL(phy_attached_info);
+
+#define ATTACHED_FMT "attached PHY driver [%s] (mii_bus:phy_addr=%s, irq=%d)"
+void phy_attached_print(struct phy_device *phydev, const char *fmt, ...)
+{
+       if (!fmt) {
+               dev_info(&phydev->dev, ATTACHED_FMT "\n",
+                        phydev->drv->name, phydev_name(phydev),
+                        phydev->irq);
+       } else {
+               va_list ap;
+
+               dev_info(&phydev->dev, ATTACHED_FMT,
+                        phydev->drv->name, phydev_name(phydev),
+                        phydev->irq);
+
+               va_start(ap, fmt);
+               vprintk(fmt, ap);
+               va_end(ap);
+       }
+}
+EXPORT_SYMBOL(phy_attached_print);
+
 /**
  * phy_attach_direct - attach a network device to a given PHY device pointer
  * @dev: network device to attach
index b939c4b5f2295dedbe92447a7dbeead490cc3172..cbc25b7e70a2667d7599d65483e0e64a4a95d329 100644 (file)
@@ -854,8 +854,7 @@ static int xlr_mii_probe(struct xlr_net_priv *priv)
                                | ADVERTISED_MII);
 
        phydev->advertising = phydev->supported;
-       pr_info("attached PHY driver [%s] (mii_bus:phy_addr=%s\n",
-               phydev->drv->name, phydev_name(phydev));
+       phy_attached_info(phydev);
        return 0;
 }
 
index 08198ce98773b2b22e59db4a0171c87a4abeb790..ecbf6382ba291856cc01dc72c74843ab87baa4c5 100644 (file)
@@ -16,6 +16,7 @@
 #ifndef __PHY_H
 #define __PHY_H
 
+#include <linux/compiler.h>
 #include <linux/spinlock.h>
 #include <linux/ethtool.h>
 #include <linux/mdio.h>
@@ -785,6 +786,9 @@ static inline const char *phydev_name(const struct phy_device *phydev)
        return dev_name(&phydev->dev);
 }
 
+void phy_attached_print(struct phy_device *phydev, const char *fmt, ...)
+       __printf(2, 3);
+void phy_attached_info(struct phy_device *phydev);
 int genphy_config_init(struct phy_device *phydev);
 int genphy_setup_forced(struct phy_device *phydev);
 int genphy_restart_aneg(struct phy_device *phydev);
index 1e9e9424a33daf99a8bb20a95d4b722b94433531..5f45e68b52dca9c1dcd1965086254995c162ce1c 100644 (file)
@@ -1080,11 +1080,10 @@ static int dsa_slave_phy_setup(struct dsa_slave_priv *p,
                        netdev_err(slave_dev, "failed to connect to port %d: %d\n", p->port, ret);
                        return ret;
                }
-       } else {
-               netdev_info(slave_dev, "attached PHY at address %d [%s]\n",
-                           p->phy->addr, p->phy->drv->name);
        }
 
+       phy_attached_info(p->phy);
+
        return 0;
 }