static int
 acpi_system_wakeup_device_seq_show(struct seq_file *seq, void *offset)
 {
-       struct list_head *node, *next;
+       struct acpi_device *dev, *tmp;
 
        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);
+       list_for_each_entry_safe(dev, tmp, &acpi_wakeup_device_list,
+                                wakeup_list) {
                struct acpi_device_physical_node *entry;
 
                if (!dev->wakeup.flags.valid)
                                const char __user * buffer,
                                size_t count, loff_t * ppos)
 {
-       struct list_head *node, *next;
+       struct acpi_device *dev, *tmp;
        char strbuf[5];
        char str[5] = "";
 
        sscanf(strbuf, "%s", str);
 
        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);
+       list_for_each_entry_safe(dev, tmp, &acpi_wakeup_device_list,
+                                wakeup_list) {
                if (!dev->wakeup.flags.valid)
                        continue;
 
 
  */
 void acpi_enable_wakeup_devices(u8 sleep_state)
 {
-       struct list_head *node, *next;
-
-       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 *dev, *tmp;
 
+       list_for_each_entry_safe(dev, tmp, &acpi_wakeup_device_list,
+                                wakeup_list) {
                if (!dev->wakeup.flags.valid
                    || sleep_state > (u32) dev->wakeup.sleep_state
                    || !(device_may_wakeup(&dev->dev)
  */
 void acpi_disable_wakeup_devices(u8 sleep_state)
 {
-       struct list_head *node, *next;
-
-       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 *dev, *tmp;
 
+       list_for_each_entry_safe(dev, tmp, &acpi_wakeup_device_list,
+                                wakeup_list) {
                if (!dev->wakeup.flags.valid
                    || sleep_state > (u32) dev->wakeup.sleep_state
                    || !(device_may_wakeup(&dev->dev)
 
 int __init acpi_wakeup_device_init(void)
 {
-       struct list_head *node, *next;
+       struct acpi_device *dev, *tmp;
 
        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);
+       list_for_each_entry_safe(dev, tmp, &acpi_wakeup_device_list,
+                                wakeup_list) {
                if (device_can_wakeup(&dev->dev)) {
                        /* Button GPEs are supposed to be always enabled. */
                        acpi_enable_gpe(dev->wakeup.gpe_device,