diff options
Diffstat (limited to 'drivers/acpi/button.c')
| -rw-r--r-- | drivers/acpi/button.c | 13 | 
1 files changed, 10 insertions, 3 deletions
diff --git a/drivers/acpi/button.c b/drivers/acpi/button.c index d27d072472f9..314a3b84bbc7 100644 --- a/drivers/acpi/button.c +++ b/drivers/acpi/button.c @@ -76,19 +76,23 @@ MODULE_DEVICE_TABLE(acpi, button_device_ids);  static int acpi_button_add(struct acpi_device *device);  static int acpi_button_remove(struct acpi_device *device, int type); -static int acpi_button_resume(struct acpi_device *device);  static void acpi_button_notify(struct acpi_device *device, u32 event); +#ifdef CONFIG_PM_SLEEP +static int acpi_button_resume(struct device *dev); +#endif +static SIMPLE_DEV_PM_OPS(acpi_button_pm, NULL, acpi_button_resume); +  static struct acpi_driver acpi_button_driver = {  	.name = "button",  	.class = ACPI_BUTTON_CLASS,  	.ids = button_device_ids,  	.ops = {  		.add = acpi_button_add, -		.resume = acpi_button_resume,  		.remove = acpi_button_remove,  		.notify = acpi_button_notify,  	}, +	.drv.pm = &acpi_button_pm,  };  struct acpi_button { @@ -308,14 +312,17 @@ static void acpi_button_notify(struct acpi_device *device, u32 event)  	}  } -static int acpi_button_resume(struct acpi_device *device) +#ifdef CONFIG_PM_SLEEP +static int acpi_button_resume(struct device *dev)  { +	struct acpi_device *device = to_acpi_device(dev);  	struct acpi_button *button = acpi_driver_data(device);  	if (button->type == ACPI_BUTTON_TYPE_LID)  		return acpi_lid_send_state(device);  	return 0;  } +#endif  static int acpi_button_add(struct acpi_device *device)  {  | 
