From 175f8e2650f7ca6b33d338be3ccc1c00e89594ea Mon Sep 17 00:00:00 2001 From: "Rafael J. Wysocki" Date: Fri, 12 Dec 2014 22:51:58 +0100 Subject: ACPI / PM: Do not disable wakeup GPEs that have not been enabled In some cases acpi_device_wakeup() may be called to ensure wakeup power to be off for a given device even though that device's wakeup GPE has not been enabled so far. It calls acpi_disable_gpe() on a GPE that's not enabled and this causes ACPICA to return the AE_LIMIT status code from that call which then is reported as an error by the ACPICA's debug facilities (if enabled). This may lead to a fair amount of confusion, so introduce a new ACPI device wakeup flag to store the wakeup GPE status and avoid disabling wakeup GPEs that have not been enabled. Reported-and-tested-by: Venkat Raghavulu Signed-off-by: Rafael J. Wysocki --- include/acpi/acpi_bus.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include') diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h index f34a0835aa4f..8de31d472fad 100644 --- a/include/acpi/acpi_bus.h +++ b/include/acpi/acpi_bus.h @@ -312,6 +312,7 @@ struct acpi_device_wakeup_flags { u8 valid:1; /* Can successfully enable wakeup? */ u8 run_wake:1; /* Run-Wake GPE devices */ u8 notifier_present:1; /* Wake-up notify handler has been installed */ + u8 enabled:1; /* Enabled for wakeup */ }; struct acpi_device_wakeup_context { -- cgit v1.2.3 From 40bd62c6194bdee1bc6652b3b0aa28e34883f603 Mon Sep 17 00:00:00 2001 From: Ulf Hansson Date: Thu, 11 Dec 2014 11:20:36 +0100 Subject: PM: Remove the SET_PM_RUNTIME_PM_OPS() macro There're now no users left of the SET_PM_RUNTIME_PM_OPS() macro, since all have converted to use the SET_RUNTIME_PM_OPS() macro instead, so let's remove it. Signed-off-by: Ulf Hansson Signed-off-by: Rafael J. Wysocki --- include/linux/pm.h | 2 -- 1 file changed, 2 deletions(-) (limited to 'include') diff --git a/include/linux/pm.h b/include/linux/pm.h index 66a656eb335b..8b5976364619 100644 --- a/include/linux/pm.h +++ b/include/linux/pm.h @@ -351,8 +351,6 @@ struct dev_pm_ops { #define SET_RUNTIME_PM_OPS(suspend_fn, resume_fn, idle_fn) #endif -#define SET_PM_RUNTIME_PM_OPS SET_RUNTIME_PM_OPS - /* * Use this if you want to use the same suspend and resume callbacks for suspend * to RAM and hibernation. -- cgit v1.2.3 From 4f7ad5211eb4d331a54f3cc6832883e5e7e95eea Mon Sep 17 00:00:00 2001 From: "Rafael J. Wysocki" Date: Sun, 14 Dec 2014 23:13:55 +0100 Subject: SCSI / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM After commit b2b49ccbdd54 (PM: Kconfig: Set PM_RUNTIME if PM_SLEEP is selected) PM_RUNTIME is always set if PM is set, so #ifdef blocks depending on CONFIG_PM_RUNTIME may now be changed to depend on CONFIG_PM. Replace CONFIG_PM_RUNTIME with CONFIG_PM everywhere under drivers/scsi/ and in include/scsi/scsi_device.h. Signed-off-by: Rafael J. Wysocki Reviewed-by: Aaron Lu Acked-by: Christoph Hellwig --- include/scsi/scsi_device.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/scsi/scsi_device.h b/include/scsi/scsi_device.h index 6364e23454dd..3a4edd1f7dbb 100644 --- a/include/scsi/scsi_device.h +++ b/include/scsi/scsi_device.h @@ -441,13 +441,13 @@ static inline int scsi_execute_req(struct scsi_device *sdev, extern void sdev_disable_disk_events(struct scsi_device *sdev); extern void sdev_enable_disk_events(struct scsi_device *sdev); -#ifdef CONFIG_PM_RUNTIME +#ifdef CONFIG_PM extern int scsi_autopm_get_device(struct scsi_device *); extern void scsi_autopm_put_device(struct scsi_device *); #else static inline int scsi_autopm_get_device(struct scsi_device *d) { return 0; } static inline void scsi_autopm_put_device(struct scsi_device *d) {} -#endif /* CONFIG_PM_RUNTIME */ +#endif /* CONFIG_PM */ static inline int __must_check scsi_device_reprobe(struct scsi_device *sdev) { -- cgit v1.2.3