On Mon, Oct 15, 2012 at 03:33:28PM +0200, Rodolfo Giometti wrote:
quoted hunk ↗ jump to hunk
diff --git a/net/dsa/slave.c b/net/dsa/slave.c
index 6e9e4546..817bbbd 100644
--- a/net/dsa/slave.c
+++ b/net/dsa/slave.c
@@ -340,6 +340,11 @@ static const struct net_device_ops trailer_netdev_ops = {
};
#endif
+static void dsa_slave_handle_link_change(struct net_device *dev)
+{
+ /* nop */
+}
+
/* slave device setup *******************************************************/
struct net_device *
dsa_slave_create(struct dsa_switch *ds, struct device *parent,@@ -400,8 +405,8 @@ dsa_slave_create(struct dsa_switch *ds, struct device *parent,
netif_carrier_off(slave_dev);
if (p->phy != NULL) {
- phy_attach(slave_dev, dev_name(&p->phy->dev),
- 0, PHY_INTERFACE_MODE_GMII);
+ phy_connect_direct(p->dev, p->phy, dsa_slave_handle_link_change,
+ 0, PHY_INTERFACE_MODE_GMII);
p->phy->autoneg = AUTONEG_ENABLE;
What does this do?