X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=drivers%2Fbase%2Fpower%2Fshutdown.c;h=3483ae4d57f59a09025d8d0c49d2100ea72c81ee;hb=fecf3404f4aba6d0edeba31eeb018cbb6326dff2;hp=a47bb74da72b930cfe9a69ad11105c6b978c3b6d;hpb=594c8281f90560faf9632d91bb9d402cbe560e63;p=~andy%2Flinux diff --git a/drivers/base/power/shutdown.c b/drivers/base/power/shutdown.c index a47bb74da72..3483ae4d57f 100644 --- a/drivers/base/power/shutdown.c +++ b/drivers/base/power/shutdown.c @@ -8,10 +8,10 @@ * */ -#include #include #include +#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");