Subject: Re: [PATCH] net: dsa: Remove redundant phy_attach()

From: Florian Fainelli <[email-masked]>
Date: Mon, 09 Feb 2015 11:21:26 -0800

On 08/02/15 17:29, Andrew Lunn wrote:
> dsa_slave_phy_setup() finds the phy for the port via device tree and
> using of_phy_connect(), or it uses the fall back of taking a phy from
> the switch internal mdio bus and calling phy_connect_direct(). Either
> way, if a phy is found, phy_attach_direct() is called to attach the
> phy to the slave device.
> 
> In dsa_slave_create(), a second call to phy_attach() is made. This
> results in the warning "PHY already attached". Remove this second,
> redundant attaching of the phy.
> 
> Signed-off-by: Andrew Lunn <[email-masked]>

Acked-by: Florian Fainelli <[email-masked]>
Tested-by: Florian Fainelli <[email-masked]>

> ---
>  net/dsa/slave.c | 13 -------------
>  1 file changed, 13 deletions(-)
> 
> diff --git a/net/dsa/slave.c b/net/dsa/slave.c
> index 589aafd01fc5..d104ae15836f 100644
> --- a/net/dsa/slave.c
> +++ b/net/dsa/slave.c
> @@ -676,18 +676,5 @@ dsa_slave_create(struct dsa_switch *ds, struct device *parent,
>  
>  	netif_carrier_off(slave_dev);
>  
> -	if (p->phy != NULL) {
> -		if (ds->drv->get_phy_flags)
> -			p->phy->dev_flags |= ds->drv->get_phy_flags(ds, port);
> -
> -		phy_attach(slave_dev, dev_name(&p->phy->dev),
> -			   PHY_INTERFACE_MODE_GMII);
> -
> -		p->phy->autoneg = AUTONEG_ENABLE;
> -		p->phy->speed = 0;
> -		p->phy->duplex = 0;
> -		p->phy->advertising = p->phy->supported | ADVERTISED_Autoneg;
> -	}
> -
>  	return slave_dev;
>  }
> 

-- 
Florian