]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/blobdiff - net/dsa/slave.c
phy: Centralise print about attached phy
[mirror_ubuntu-zesty-kernel.git] / net / dsa / slave.c
index 7bc787b095c897922751c3eaa5c2b32d5bca95fa..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;
 }
 
@@ -1212,6 +1211,17 @@ int dsa_slave_create(struct dsa_switch *ds, struct device *parent,
        return 0;
 }
 
+void dsa_slave_destroy(struct net_device *slave_dev)
+{
+       struct dsa_slave_priv *p = netdev_priv(slave_dev);
+
+       netif_carrier_off(slave_dev);
+       if (p->phy)
+               phy_disconnect(p->phy);
+       unregister_netdev(slave_dev);
+       free_netdev(slave_dev);
+}
+
 static bool dsa_slave_dev_check(struct net_device *dev)
 {
        return dev->netdev_ops == &dsa_slave_netdev_ops;