]> Pileus Git - ~andy/linux/blobdiff - drivers/base/power/shutdown.c
Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-mmc
[~andy/linux] / drivers / base / power / shutdown.c
index a47bb74da72b930cfe9a69ad11105c6b978c3b6d..3483ae4d57f59a09025d8d0c49d2100ea72c81ee 100644 (file)
@@ -8,10 +8,10 @@
  *
  */
 
-#include <linux/config.h>
 #include <linux/device.h>
 #include <asm/semaphore.h>
 
+#include "../base.h"
 #include "power.h"
 
 #define to_dev(node) container_of(node, struct device, kobj.entry)
@@ -28,17 +28,16 @@ extern struct subsystem devices_subsys;
  * they only get one called once when interrupts are disabled.
  */
 
-extern int sysdev_shutdown(void);
 
 /**
  * device_shutdown - call ->shutdown() on each device to shutdown.
  */
 void device_shutdown(void)
 {
-       struct device * dev;
+       struct device * dev, *devn;
 
        down_write(&devices_subsys.rwsem);
-       list_for_each_entry_reverse(dev, &devices_subsys.kset.list,
+       list_for_each_entry_safe_reverse(dev, devn, &devices_subsys.kset.list,
                                kobj.entry) {
                if (dev->bus && dev->bus->shutdown) {
                        dev_dbg(dev, "shutdown\n");