phy: Centralise print about attached phy
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>
This commit is contained in:
parent
053e7e1692
commit
2220943a21
@ -444,10 +444,8 @@ static int mii_probe(struct net_device *dev, int phy_mode)
|
|||||||
lp->old_duplex = -1;
|
lp->old_duplex = -1;
|
||||||
lp->phydev = phydev;
|
lp->phydev = phydev;
|
||||||
|
|
||||||
pr_info("attached PHY driver [%s] "
|
phy_attached_print(phydev, "mdc_clk=%dHz(mdc_div=%d)@sclk=%dMHz)\n",
|
||||||
"(mii_bus:phy_addr=%s, irq=%d, mdc_clk=%dHz(mdc_div=%d)@sclk=%dMHz)\n",
|
MDC_CLK, mdc_div, sclk / 1000000);
|
||||||
phydev->drv->name, phydev_name(phydev), phydev->irq,
|
|
||||||
MDC_CLK, mdc_div, sclk/1000000);
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -3289,9 +3289,7 @@ static int et131x_mii_probe(struct net_device *netdev)
|
|||||||
phydev->autoneg = AUTONEG_ENABLE;
|
phydev->autoneg = AUTONEG_ENABLE;
|
||||||
adapter->phydev = phydev;
|
adapter->phydev = phydev;
|
||||||
|
|
||||||
dev_info(&adapter->pdev->dev,
|
phy_attached_info(phydev);
|
||||||
"attached PHY driver [%s] (mii_bus:phy_addr=%s)\n",
|
|
||||||
phydev->drv->name, phydev_name(phydev));
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -583,9 +583,7 @@ static int au1000_mii_probe(struct net_device *dev)
|
|||||||
aup->old_duplex = -1;
|
aup->old_duplex = -1;
|
||||||
aup->phy_dev = phydev;
|
aup->phy_dev = phydev;
|
||||||
|
|
||||||
netdev_info(dev, "attached PHY driver [%s] "
|
phy_attached_info(phydev);
|
||||||
"(mii_bus:phy_addr=%s, irq=%d)\n",
|
|
||||||
phydev->drv->name, phydev_name(phydev), phydev->irq);
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -2315,8 +2315,7 @@ static int b44_register_phy_one(struct b44 *bp)
|
|||||||
bp->old_link = 0;
|
bp->old_link = 0;
|
||||||
bp->phy_addr = phydev->addr;
|
bp->phy_addr = phydev->addr;
|
||||||
|
|
||||||
dev_info(sdev->dev, "attached PHY driver [%s] (mii_bus:phy_addr=%s)\n",
|
phy_attached_info(phydev);
|
||||||
phydev->drv->name, phydev_name(phydev));
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
@ -908,8 +908,7 @@ static int bcm_enet_open(struct net_device *dev)
|
|||||||
else
|
else
|
||||||
phydev->advertising &= ~SUPPORTED_Pause;
|
phydev->advertising &= ~SUPPORTED_Pause;
|
||||||
|
|
||||||
dev_info(kdev, "attached PHY at address %d [%s]\n",
|
phy_attached_info(phydev);
|
||||||
phydev->addr, phydev->drv->name);
|
|
||||||
|
|
||||||
priv->old_link = 0;
|
priv->old_link = 0;
|
||||||
priv->old_duplex = -1;
|
priv->old_duplex = -1;
|
||||||
|
@ -2388,11 +2388,10 @@ static int sbmac_mii_probe(struct net_device *dev)
|
|||||||
SUPPORTED_MII |
|
SUPPORTED_MII |
|
||||||
SUPPORTED_Pause |
|
SUPPORTED_Pause |
|
||||||
SUPPORTED_Asym_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",
|
phy_attached_info(phydev);
|
||||||
dev->name, phy_dev->drv->name,
|
|
||||||
dev_name(&phy_dev->dev), phy_dev->irq);
|
phy_dev->advertising = phy_dev->supported;
|
||||||
|
|
||||||
sc->phy_dev = phy_dev;
|
sc->phy_dev = phy_dev;
|
||||||
|
|
||||||
|
@ -2128,6 +2128,8 @@ static int tg3_phy_init(struct tg3 *tp)
|
|||||||
|
|
||||||
phydev->advertising = phydev->supported;
|
phydev->advertising = phydev->supported;
|
||||||
|
|
||||||
|
phy_attached_info(phydev);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -17898,13 +17900,7 @@ static int tg3_init_one(struct pci_dev *pdev,
|
|||||||
tg3_bus_string(tp, str),
|
tg3_bus_string(tp, str),
|
||||||
dev->dev_addr);
|
dev->dev_addr);
|
||||||
|
|
||||||
if (tp->phy_flags & TG3_PHYFLG_IS_CONNECTED) {
|
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 {
|
|
||||||
char *ethtype;
|
char *ethtype;
|
||||||
|
|
||||||
if (tp->phy_flags & TG3_PHYFLG_10_100_ONLY)
|
if (tp->phy_flags & TG3_PHYFLG_10_100_ONLY)
|
||||||
|
@ -2950,8 +2950,7 @@ static int macb_probe(struct platform_device *pdev)
|
|||||||
dev->base_addr, dev->irq, dev->dev_addr);
|
dev->base_addr, dev->irq, dev->dev_addr);
|
||||||
|
|
||||||
phydev = bp->phy_dev;
|
phydev = bp->phy_dev;
|
||||||
netdev_info(dev, "attached PHY driver [%s] (mii_bus:phy_addr=%s, irq=%d)\n",
|
phy_attached_info(phydev);
|
||||||
phydev->drv->name, phydev_name(phydev), phydev->irq);
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
@ -886,9 +886,7 @@ static int dnet_probe(struct platform_device *pdev)
|
|||||||
(bp->capabilities & DNET_HAS_GIGABIT) ? "" : "no ",
|
(bp->capabilities & DNET_HAS_GIGABIT) ? "" : "no ",
|
||||||
(bp->capabilities & DNET_HAS_DMA) ? "" : "no ");
|
(bp->capabilities & DNET_HAS_DMA) ? "" : "no ");
|
||||||
phydev = bp->phy_dev;
|
phydev = bp->phy_dev;
|
||||||
dev_info(&pdev->dev, "attached PHY driver [%s] "
|
phy_attached_info(phydev);
|
||||||
"(mii_bus:phy_addr=%s, irq=%d)\n",
|
|
||||||
phydev->drv->name, phydev_name(phydev), phydev->irq);
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
@ -1972,9 +1972,7 @@ static int fec_enet_mii_probe(struct net_device *ndev)
|
|||||||
fep->link = 0;
|
fep->link = 0;
|
||||||
fep->full_duplex = 0;
|
fep->full_duplex = 0;
|
||||||
|
|
||||||
netdev_info(ndev, "Freescale FEC PHY driver [%s] (mii_bus:phy_addr=%s, irq=%d)\n",
|
phy_attached_info(phy_dev);
|
||||||
fep->phy_dev->drv->name, dev_name(&fep->phy_dev->dev),
|
|
||||||
fep->phy_dev->irq);
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -408,9 +408,7 @@ ltq_etop_mdio_probe(struct net_device *dev)
|
|||||||
|
|
||||||
phydev->advertising = phydev->supported;
|
phydev->advertising = phydev->supported;
|
||||||
priv->phydev = phydev;
|
priv->phydev = phydev;
|
||||||
pr_info("%s: attached PHY [%s] (phy_addr=%s, irq=%d)\n",
|
phy_attached_info(phydev);
|
||||||
dev->name, phydev->drv->name,
|
|
||||||
phydev_name(phydev), phydev->irq);
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -816,9 +816,8 @@ static int lpc_mii_probe(struct net_device *ndev)
|
|||||||
pldat->duplex = -1;
|
pldat->duplex = -1;
|
||||||
pldat->phy_dev = phydev;
|
pldat->phy_dev = phydev;
|
||||||
|
|
||||||
netdev_info(ndev,
|
phy_attached_info(phydev);
|
||||||
"attached PHY driver [%s] (mii_bus:phy_addr=%s, irq=%d)\n",
|
|
||||||
phydev->drv->name, phydev_name(phydev), phydev->irq);
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1061,9 +1061,7 @@ static int r6040_mii_probe(struct net_device *dev)
|
|||||||
lp->old_link = 0;
|
lp->old_link = 0;
|
||||||
lp->old_duplex = -1;
|
lp->old_duplex = -1;
|
||||||
|
|
||||||
dev_info(&lp->pdev->dev, "attached PHY driver [%s] "
|
phy_attached_info(phydev);
|
||||||
"(mii_bus:phy_addr=%s)\n",
|
|
||||||
phydev->drv->name, phydev_name(phydev));
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -927,8 +927,7 @@ static int ravb_phy_init(struct net_device *ndev)
|
|||||||
/* 10BASE is not supported */
|
/* 10BASE is not supported */
|
||||||
phydev->supported &= ~PHY_10BT_FEATURES;
|
phydev->supported &= ~PHY_10BT_FEATURES;
|
||||||
|
|
||||||
netdev_info(ndev, "attached PHY %d (IRQ %d) to driver %s\n",
|
phy_attached_info(phydev);
|
||||||
phydev->addr, phydev->irq, phydev_name(phydev));
|
|
||||||
|
|
||||||
priv->phydev = phydev;
|
priv->phydev = phydev;
|
||||||
|
|
||||||
|
@ -1826,8 +1826,7 @@ static int sh_eth_phy_init(struct net_device *ndev)
|
|||||||
return PTR_ERR(phydev);
|
return PTR_ERR(phydev);
|
||||||
}
|
}
|
||||||
|
|
||||||
netdev_info(ndev, "attached PHY %d (IRQ %d) to driver %s\n",
|
phy_attached_info(phydev);
|
||||||
phydev->addr, phydev->irq, phydev_name(phydev));
|
|
||||||
|
|
||||||
mdp->phydev = phydev;
|
mdp->phydev = phydev;
|
||||||
|
|
||||||
|
@ -1031,9 +1031,7 @@ static int smsc911x_mii_probe(struct net_device *dev)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
netdev_info(dev,
|
phy_attached_info(phydev);
|
||||||
"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 */
|
/* mask with MAC supported features */
|
||||||
phydev->supported &= (PHY_BASIC_FEATURES | SUPPORTED_Pause |
|
phydev->supported &= (PHY_BASIC_FEATURES | SUPPORTED_Pause |
|
||||||
|
@ -1163,10 +1163,6 @@ static int smsc9420_mii_probe(struct net_device *dev)
|
|||||||
return -ENODEV;
|
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),
|
phydev = phy_connect(dev, phydev_name(phydev),
|
||||||
smsc9420_phy_adjust_link, PHY_INTERFACE_MODE_MII);
|
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);
|
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 */
|
/* mask with MAC supported features */
|
||||||
phydev->supported &= (PHY_BASIC_FEATURES | SUPPORTED_Pause |
|
phydev->supported &= (PHY_BASIC_FEATURES | SUPPORTED_Pause |
|
||||||
SUPPORTED_Asym_Pause);
|
SUPPORTED_Asym_Pause);
|
||||||
phydev->advertising = phydev->supported;
|
phydev->advertising = phydev->supported;
|
||||||
|
|
||||||
|
phy_attached_info(phydev);
|
||||||
|
|
||||||
pd->phy_dev = phydev;
|
pd->phy_dev = phydev;
|
||||||
pd->last_duplex = -1;
|
pd->last_duplex = -1;
|
||||||
pd->last_carrier = -1;
|
pd->last_carrier = -1;
|
||||||
|
@ -972,9 +972,7 @@ static int dwceqos_mii_probe(struct net_device *ndev)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (netif_msg_probe(lp))
|
if (netif_msg_probe(lp))
|
||||||
netdev_dbg(lp->ndev,
|
phy_attached_info(phydev);
|
||||||
"phydev %p, phydev->phy_id 0xa%x, phydev->addr 0x%x\n",
|
|
||||||
phydev, phydev->phy_id, phydev->addr);
|
|
||||||
|
|
||||||
phydev->supported &= PHY_GBIT_FEATURES;
|
phydev->supported &= PHY_GBIT_FEATURES;
|
||||||
|
|
||||||
@ -983,14 +981,6 @@ static int dwceqos_mii_probe(struct net_device *ndev)
|
|||||||
lp->duplex = DUPLEX_UNKNOWN;
|
lp->duplex = DUPLEX_UNKNOWN;
|
||||||
lp->phy_dev = phydev;
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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->data->phy_id, slave->slave_num);
|
||||||
slave->phy = NULL;
|
slave->phy = NULL;
|
||||||
} else {
|
} else {
|
||||||
dev_info(priv->dev, "phy found : id is : 0x%x\n",
|
phy_attached_info(slave->phy);
|
||||||
slave->phy->phy_id);
|
|
||||||
phy_start(slave->phy);
|
phy_start(slave->phy);
|
||||||
|
|
||||||
/* Configure GMII_SEL register */
|
/* Configure GMII_SEL register */
|
||||||
|
@ -1644,10 +1644,7 @@ static int emac_dev_open(struct net_device *ndev)
|
|||||||
priv->speed = 0;
|
priv->speed = 0;
|
||||||
priv->duplex = ~0;
|
priv->duplex = ~0;
|
||||||
|
|
||||||
dev_info(emac_dev, "attached PHY driver [%s] "
|
phy_attached_info(priv->phydev);
|
||||||
"(mii_bus:phy_addr=%s, id=%x)\n",
|
|
||||||
priv->phydev->drv->name, phydev_name(priv->phydev),
|
|
||||||
priv->phydev->phy_id);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!priv->phydev) {
|
if (!priv->phydev) {
|
||||||
|
@ -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);
|
printk(KERN_ERR "%s: Could not attach to PHY\n", dev->name);
|
||||||
return PTR_ERR(phydev);
|
return PTR_ERR(phydev);
|
||||||
}
|
}
|
||||||
printk(KERN_INFO "%s: attached PHY driver [%s] "
|
|
||||||
"(mii_bus:phy_addr=%s, id=%x)\n",
|
phy_attached_info(phydev);
|
||||||
dev->name, phydev->drv->name, phydev_name(phydev),
|
|
||||||
phydev->phy_id);
|
|
||||||
|
|
||||||
/* mask with MAC supported features */
|
/* mask with MAC supported features */
|
||||||
phydev->supported &= PHY_BASIC_FEATURES;
|
phydev->supported &= PHY_BASIC_FEATURES;
|
||||||
|
@ -607,6 +607,33 @@ int phy_init_hw(struct phy_device *phydev)
|
|||||||
}
|
}
|
||||||
EXPORT_SYMBOL(phy_init_hw);
|
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
|
* phy_attach_direct - attach a network device to a given PHY device pointer
|
||||||
* @dev: network device to attach
|
* @dev: network device to attach
|
||||||
|
@ -854,8 +854,7 @@ static int xlr_mii_probe(struct xlr_net_priv *priv)
|
|||||||
| ADVERTISED_MII);
|
| ADVERTISED_MII);
|
||||||
|
|
||||||
phydev->advertising = phydev->supported;
|
phydev->advertising = phydev->supported;
|
||||||
pr_info("attached PHY driver [%s] (mii_bus:phy_addr=%s\n",
|
phy_attached_info(phydev);
|
||||||
phydev->drv->name, phydev_name(phydev));
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
#ifndef __PHY_H
|
#ifndef __PHY_H
|
||||||
#define __PHY_H
|
#define __PHY_H
|
||||||
|
|
||||||
|
#include <linux/compiler.h>
|
||||||
#include <linux/spinlock.h>
|
#include <linux/spinlock.h>
|
||||||
#include <linux/ethtool.h>
|
#include <linux/ethtool.h>
|
||||||
#include <linux/mdio.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);
|
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_config_init(struct phy_device *phydev);
|
||||||
int genphy_setup_forced(struct phy_device *phydev);
|
int genphy_setup_forced(struct phy_device *phydev);
|
||||||
int genphy_restart_aneg(struct phy_device *phydev);
|
int genphy_restart_aneg(struct phy_device *phydev);
|
||||||
|
@ -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);
|
netdev_err(slave_dev, "failed to connect to port %d: %d\n", p->port, ret);
|
||||||
return 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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user