mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-19 04:14:49 +08:00
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@linux.vnet.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
0771275b25
commit
e7a3af5d8c
@ -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>
|
||||
@ -1588,6 +1589,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"},
|
||||
@ -1595,6 +1602,10 @@ static struct vio_device_id ibmveth_device_table[] __devinitdata= {
|
||||
};
|
||||
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,
|
||||
@ -1603,6 +1614,7 @@ static struct vio_driver ibmveth_driver = {
|
||||
.driver = {
|
||||
.name = ibmveth_driver_name,
|
||||
.owner = THIS_MODULE,
|
||||
.pm = &ibmveth_pm_ops,
|
||||
}
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user