On Thu, Aug 10, 2017 at 09:38:26AM +0200, Romain Perier wrote:
> Currently, the function stmmac_mdio_register() is only used by
> stmmac_dvr_probe() from stmmac_main.c, in order to register the MDIO bus
> and probe information about the PHY. As this function is called before
> calling register_netdev(), all messages logged from stmmac_mdio_register
> are prefixed by "(unnamed net_device)". The goal of netdev_info or
> netdev_err is to dump useful infos about a net_device, when this data
> structure is partially initialized, there is no point for using these
> functions.
> 
> This commit fixes the issue by replacing all netdev_*() by the
> corresponding dev_*() function for logging. The last netdev_info is
> replaced by phy_attached_info(), as a valid phydev can be used at this
> point.
> 
> Signed-off-by: Romain Perier <romain.per...@collabora.com>
> ---
> 
> Changes in v2:
> - Replaced dev_info() by phy_attached_print()
> - Simplified message because informations were redudant
> - Updated commit message
> 
>  drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c | 11 ++++++-----
>  1 file changed, 6 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c 
> b/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c
> index db157a47000c..e0fbf8657103 100644
> --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c
> +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c
> @@ -204,6 +204,7 @@ int stmmac_mdio_register(struct net_device *ndev)
>       struct stmmac_priv *priv = netdev_priv(ndev);
>       struct stmmac_mdio_bus_data *mdio_bus_data = priv->plat->mdio_bus_data;
>       struct device_node *mdio_node = priv->plat->mdio_node;
> +     struct device *dev = ndev->dev.parent;
>       int addr, found;
>  
>       if (!mdio_bus_data)
> @@ -237,7 +238,7 @@ int stmmac_mdio_register(struct net_device *ndev)
>       else
>               err = mdiobus_register(new_bus);
>       if (err != 0) {
> -             netdev_err(ndev, "Cannot register the MDIO bus\n");
> +             dev_err(dev, "Cannot register the MDIO bus\n");
>               goto bus_register_fail;
>       }
>  
> @@ -285,14 +286,14 @@ int stmmac_mdio_register(struct net_device *ndev)
>                       irq_str = irq_num;
>                       break;
>               }
> -             netdev_info(ndev, "PHY ID %08x at %d IRQ %s (%s)%s\n",
> -                         phydev->phy_id, addr, irq_str, phydev_name(phydev),
> -                         act ? " active" : "");
> +             phy_attached_print(phydev, "PHY ID %08x IRQ %s %s\n",
> +                                phydev->phy_id, irq_str,
> +                                act ? " active" : "");

I don't want to go round and round with this patch, with feature creep. 

But there are only two drivers which use phy_attached_print() to print
more than the standard printed by phy_attached_info().
phy_attached_info() will give you the driver name, so do you need the
ID? phy_attached_info() prints the irq as a number, rather than a nice
string.

act is just odd. The loop is effectively phy_find_first(). The act
means it has found a phy, but not the phy indicated in the platform
data, but it is going to use it anyway!

So i will give:

Reviewed-by: Andrew Lunn <and...@lunn.ch>

but if you think phy_attached_info() is acceptable, that would be
great.

    Andrew

Reply via email to