[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <201005071156.o47BuCYM007062@d03av03.boulder.ibm.com>
Date: Fri, 07 May 2010 13:56:08 -0500
From: Brian King <brking@...ux.vnet.ibm.com>
To: netdev@...r.kernel.org
Cc: brking@...ux.vnet.ibm.com
Subject: [PATCH 1/1] ibmveth: Add suspend/resume support
Adds support for resuming from suspend for IBM virtual ethernet devices.
We may have lost an interrupt over the suspend, so we just kick the
interrupt handler to process anything that is outstanding.
Signed-off-by: Brian King <brking@...ux.vnet.ibm.com>
---
drivers/net/ibmveth.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff -puN drivers/net/ibmveth.c~ibmveth_suspend drivers/net/ibmveth.c
--- linux-2.6/drivers/net/ibmveth.c~ibmveth_suspend 2010-05-07 13:49:19.000000000 -0500
+++ linux-2.6-bjking1/drivers/net/ibmveth.c 2010-05-07 13:49:19.000000000 -0500
@@ -45,6 +45,7 @@
#include <linux/init.h>
#include <linux/delay.h>
#include <linux/mm.h>
+#include <linux/pm.h>
#include <linux/ethtool.h>
#include <linux/proc_fs.h>
#include <linux/in.h>
@@ -1589,6 +1590,12 @@ static struct kobj_type ktype_veth_pool
.default_attrs = veth_pool_attrs,
};
+static int ibmveth_resume(struct device *dev)
+{
+ struct net_device *netdev = dev_get_drvdata(dev);
+ ibmveth_interrupt(netdev->irq, netdev);
+ return 0;
+}
static struct vio_device_id ibmveth_device_table[] __devinitdata= {
{ "network", "IBM,l-lan"},
@@ -1596,6 +1603,10 @@ static struct vio_device_id ibmveth_devi
};
MODULE_DEVICE_TABLE(vio, ibmveth_device_table);
+static struct dev_pm_ops ibmveth_pm_ops = {
+ .resume = ibmveth_resume
+};
+
static struct vio_driver ibmveth_driver = {
.id_table = ibmveth_device_table,
.probe = ibmveth_probe,
@@ -1604,6 +1615,7 @@ static struct vio_driver ibmveth_driver
.driver = {
.name = ibmveth_driver_name,
.owner = THIS_MODULE,
+ .pm = &ibmveth_pm_ops,
}
};
_
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists