]> err.no Git - linux-2.6/blobdiff - drivers/base/power/resume.c
Pull acpi_os_free into release branch
[linux-2.6] / drivers / base / power / resume.c
index 0a7aa07b9a2a600cc9b52992b8e0f0d44216af17..826093ef4c7eb0e83cd0fa5fc8564cf6416144ea 100644 (file)
@@ -9,10 +9,10 @@
  */
 
 #include <linux/device.h>
+#include <linux/resume-trace.h>
+#include "../base.h"
 #include "power.h"
 
-extern int sysdev_resume(void);
-
 
 /**
  *     resume_device - Restore state for one device.
@@ -24,6 +24,8 @@ int resume_device(struct device * dev)
 {
        int error = 0;
 
+       TRACE_DEVICE(dev);
+       TRACE_RESUME(0);
        down(&dev->sem);
        if (dev->power.pm_parent
                        && dev->power.pm_parent->power.power_state.event) {
@@ -37,6 +39,7 @@ int resume_device(struct device * dev)
                error = dev->bus->resume(dev);
        }
        up(&dev->sem);
+       TRACE_RESUME(error);
        return error;
 }
 
@@ -50,8 +53,7 @@ void dpm_resume(void)
                struct device * dev = to_device(entry);
 
                get_device(dev);
-               list_del_init(entry);
-               list_add_tail(entry, &dpm_active);
+               list_move_tail(entry, &dpm_active);
 
                up(&dpm_list_sem);
                if (!dev->power.prev_state.event)
@@ -98,8 +100,7 @@ void dpm_power_up(void)
                struct device * dev = to_device(entry);
 
                get_device(dev);
-               list_del_init(entry);
-               list_add_tail(entry, &dpm_active);
+               list_move_tail(entry, &dpm_active);
                resume_device(dev);
                put_device(dev);
        }