aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/gianfar.c
diff options
context:
space:
mode:
authorAnton Vorontsov <avorontsov@ru.mvista.com>2009-02-01 03:52:34 -0500
committerDavid S. Miller <davem@davemloft.net>2009-02-01 03:52:34 -0500
commit2884e5cc9283d541977bdf5dc344849af94cd639 (patch)
tree937a66410637f6298ad038d173316edf27def66b /drivers/net/gianfar.c
parent09640e6365c679b5642b1c41b6d7078f51689ddf (diff)
gianfar: Implement proper, per netdevice wakeup management
This patch implements wakeup management for the gianfar driver. The driver should set wakeup enable if WOL is enabled, so that phylib won't power off an attached PHY. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/gianfar.c')
-rw-r--r--drivers/net/gianfar.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/gianfar.c b/drivers/net/gianfar.c
index f5e6068f9b07..4d2ca490d76c 100644
--- a/drivers/net/gianfar.c
+++ b/drivers/net/gianfar.c
@@ -463,6 +463,9 @@ static int gfar_probe(struct of_device *ofdev,
463 goto register_fail; 463 goto register_fail;
464 } 464 }
465 465
466 device_init_wakeup(&dev->dev,
467 priv->device_flags & FSL_GIANFAR_DEV_HAS_MAGIC_PACKET);
468
466 /* fill out IRQ number and name fields */ 469 /* fill out IRQ number and name fields */
467 len_devname = strlen(dev->name); 470 len_devname = strlen(dev->name);
468 strncpy(&priv->int_name_tx[0], dev->name, len_devname); 471 strncpy(&priv->int_name_tx[0], dev->name, len_devname);
@@ -1200,6 +1203,8 @@ static int gfar_enet_open(struct net_device *dev)
1200 1203
1201 netif_start_queue(dev); 1204 netif_start_queue(dev);
1202 1205
1206 device_set_wakeup_enable(&dev->dev, priv->wol_en);
1207
1203 return err; 1208 return err;
1204} 1209}
1205 1210