PM: Do not check parent state in suspend and resume core code

The checks if the device's parent is in the right state done in
drivers/base/power/suspend.c and drivers/base/power/resume.c serve no particular
purpose, since if the parent is in a wrong power state, the device's suspend or
resume callbacks are supposed to return an error anyway.  Moreover, they are
also useless from the sanity checking point of view, because they rely on the
code being checked to set dev->parent->power.power_state.event appropriately,
which need not happen if that code is buggy.  For these reasons they can be
removed.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Acked-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Rafael J. Wysocki 2007-06-17 19:50:51 +02:00 коммит произвёл Greg Kroah-Hartman
Родитель 1c3f7d1c79
Коммит 43a49f8baa
2 изменённых файлов: 0 добавлений и 14 удалений

Просмотреть файл

@ -29,13 +29,6 @@ int resume_device(struct device * dev)
down(&dev->sem); down(&dev->sem);
if (dev->parent && dev->parent->power.power_state.event) {
dev_err(dev, "PM: resume from %d, parent %s still %d\n",
dev->power.power_state.event,
dev->parent->bus_id,
dev->parent->power.power_state.event);
}
if (dev->bus && dev->bus->resume) { if (dev->bus && dev->bus->resume) {
dev_dbg(dev,"resuming\n"); dev_dbg(dev,"resuming\n");
error = dev->bus->resume(dev); error = dev->bus->resume(dev);

Просмотреть файл

@ -63,13 +63,6 @@ int suspend_device(struct device * dev, pm_message_t state)
dev_dbg(dev, "PM: suspend %d-->%d\n", dev_dbg(dev, "PM: suspend %d-->%d\n",
dev->power.power_state.event, state.event); dev->power.power_state.event, state.event);
} }
if (dev->parent && dev->parent->power.power_state.event) {
dev_err(dev,
"PM: suspend %d->%d, parent %s already %d\n",
dev->power.power_state.event, state.event,
dev->parent->bus_id,
dev->parent->power.power_state.event);
}
if (dev->class && dev->class->suspend) { if (dev->class && dev->class->suspend) {
suspend_device_dbg(dev, state, "class "); suspend_device_dbg(dev, state, "class ");