#include <linux/proc_fs.h>
#include <linux/seq_file.h>
#include <linux/export.h>
#include <linux/suspend.h>
#include <linux/uaccess.h>
#define _COMPONENT ACPI_SYSTEM_COMPONENT
ACPI_MODULE_NAME("sleep")
acpi_system_wakeup_device_seq_show(struct seq_file *seq, void *offset)
struct list_head *node, *next;
seq_printf(seq, "Device\tS-state\t Status Sysfs node\n");
mutex_lock(&acpi_device_lock);
list_for_each_safe(node, next, &acpi_wakeup_device_list) {
struct acpi_device *dev =
container_of(node, struct acpi_device, wakeup_list);
struct acpi_device_physical_node *entry;
if (!dev->wakeup.flags.valid)
seq_printf(seq, "%s\t S%d\t",
(u32) dev->wakeup.sleep_state);
mutex_lock(&dev->physical_node_lock);
if (!dev->physical_node_count) {
seq_printf(seq, "%c%-8s\n",
dev->wakeup.flags.valid ? '*' : ' ',
device_may_wakeup(&dev->dev) ?
list_for_each_entry(entry, &dev->physical_node_list,
ldev = get_device(entry->dev);
dev->physical_node_list.next)
seq_printf(seq, "%c%-8s %s:%s\n",
dev->wakeup.flags.valid ? '*' : ' ',
(device_may_wakeup(&dev->dev) ||