diff options
Diffstat (limited to 'drivers/pnp/driver.c')
| -rw-r--r-- | drivers/pnp/driver.c | 14 | 
1 files changed, 12 insertions, 2 deletions
diff --git a/drivers/pnp/driver.c b/drivers/pnp/driver.c index a39ee38a941..f748cc8cbb0 100644 --- a/drivers/pnp/driver.c +++ b/drivers/pnp/driver.c @@ -197,6 +197,11 @@ static int pnp_bus_freeze(struct device *dev)  	return __pnp_bus_suspend(dev, PMSG_FREEZE);  } +static int pnp_bus_poweroff(struct device *dev) +{ +	return __pnp_bus_suspend(dev, PMSG_HIBERNATE); +} +  static int pnp_bus_resume(struct device *dev)  {  	struct pnp_dev *pnp_dev = to_pnp_dev(dev); @@ -234,9 +239,14 @@ static int pnp_bus_resume(struct device *dev)  }  static const struct dev_pm_ops pnp_bus_dev_pm_ops = { +	/* Suspend callbacks */  	.suspend = pnp_bus_suspend, -	.freeze = pnp_bus_freeze,  	.resume = pnp_bus_resume, +	/* Hibernate callbacks */ +	.freeze = pnp_bus_freeze, +	.thaw = pnp_bus_resume, +	.poweroff = pnp_bus_poweroff, +	.restore = pnp_bus_resume,  };  struct bus_type pnp_bus_type = { @@ -246,7 +256,7 @@ struct bus_type pnp_bus_type = {  	.remove  = pnp_device_remove,  	.shutdown = pnp_device_shutdown,  	.pm	 = &pnp_bus_dev_pm_ops, -	.dev_attrs = pnp_interface_attrs, +	.dev_groups = pnp_dev_groups,  };  int pnp_register_driver(struct pnp_driver *drv)  | 
