Re: [PATCH net] net: bcmgenet: Set phydev->dev_flags only for internal PHYs

From: Florian Fainelli
Date: Fri Oct 11 2019 - 15:57:53 EST


On 10/11/19 12:53 PM, Florian Fainelli wrote:
> phydev->dev_flags is entirely dependent on the PHY device driver which
> is going to be used, setting the internal GENET PHY revision in those
> bits only makes sense when drivers/net/phy/bcm7xxx.c is the PHY driver
> being used.
>
> Fixes: 487320c54143 ("net: bcmgenet: communicate integrated PHY revision to PHY driver")
> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx>

FWIW, I am preparing net-next material which allows the phy_flags to be
scoped towards a specific PHY driver, and not broadly applied, but until
this happens, we should probably go with this change.

> ---
> drivers/net/ethernet/broadcom/genet/bcmmii.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/ethernet/broadcom/genet/bcmmii.c b/drivers/net/ethernet/broadcom/genet/bcmmii.c
> index 970e478a9017..94d1dd5d56bf 100644
> --- a/drivers/net/ethernet/broadcom/genet/bcmmii.c
> +++ b/drivers/net/ethernet/broadcom/genet/bcmmii.c
> @@ -273,11 +273,12 @@ int bcmgenet_mii_probe(struct net_device *dev)
> struct bcmgenet_priv *priv = netdev_priv(dev);
> struct device_node *dn = priv->pdev->dev.of_node;
> struct phy_device *phydev;
> - u32 phy_flags;
> + u32 phy_flags = 0;
> int ret;
>
> /* Communicate the integrated PHY revision */
> - phy_flags = priv->gphy_rev;
> + if (priv->internal_phy)
> + phy_flags = priv->gphy_rev;
>
> /* Initialize link state variables that bcmgenet_mii_setup() uses */
> priv->old_link = -1;
>


--
Florian