ACPI / PM: Fix /proc/acpi/wakeup for devices w/o bus or parent
Andreas Fleig [Sun, 27 Jan 2013 14:17:55 +0000 (14:17 +0000)]
Fix /proc/acpi/wakeup for devices without bus or parent

This patch fixes printing the wakeup status for devices without a bus
or parent, such as laptop lid switches and sleep buttons. These devices
have an empty physical_node_list, because acpi_bind_one is never run
for them.

[rjw: White space and coding style.]
Signed-off-by: Andreas Fleig <andreasfleig@gmail.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

drivers/acpi/proc.c

index ef98796..52ce767 100644 (file)
@@ -311,11 +311,12 @@ acpi_system_wakeup_device_seq_show(struct seq_file *seq, void *offset)
                           dev->pnp.bus_id,
                           (u32) dev->wakeup.sleep_state);
 
-               if (!dev->physical_node_count)
+               if (!dev->physical_node_count) {
                        seq_printf(seq, "%c%-8s\n",
-                               dev->wakeup.flags.run_wake ?
-                               '*' : ' ', "disabled");
-               else {
+                               dev->wakeup.flags.run_wake ? '*' : ' ',
+                               device_may_wakeup(&dev->dev) ?
+                                       "enabled" : "disabled");
+               } else {
                        struct device *ldev;
                        list_for_each_entry(entry, &dev->physical_node_list,
                                        node) {