Re: [PATCH] Driver Core fixes for 2.6.7-rc1
From: Greg KH
Date: Fri May 28 2004 - 16:39:54 EST
ChangeSet 1.1758, 2004/05/28 13:13:30-07:00, tpoynor@xxxxxxxxxx
[PATCH] Fix for leave-runtime-suspended-devices-off-at-system-resume.patch
A patch to fix my previous
leave-runtime-suspended-devices-off-at-system-resume patch; the new
changes save a copy of power.power_state in order to know whether to
resume a device, independently of mods to that field by a driver suspend
routine. This fixes 2.6.7-rc1-mm1 in the same fashion as the updated
2.6.6 patch sent previously.
Signed-off-by: Greg Kroah-Hartman <greg@xxxxxxxxx>
drivers/base/power/resume.c | 2 +-
drivers/base/power/suspend.c | 2 ++
include/linux/pm.h | 1 +
3 files changed, 4 insertions(+), 1 deletion(-)
diff -Nru a/drivers/base/power/resume.c b/drivers/base/power/resume.c
--- a/drivers/base/power/resume.c Fri May 28 14:17:52 2004
+++ b/drivers/base/power/resume.c Fri May 28 14:17:52 2004
@@ -36,7 +36,7 @@
struct device * dev = to_device(entry);
list_del_init(entry);
- if (!dev->power.power_state)
+ if (!dev->power.prev_state)
resume_device(dev);
list_add_tail(entry,&dpm_active);
diff -Nru a/drivers/base/power/suspend.c b/drivers/base/power/suspend.c
--- a/drivers/base/power/suspend.c Fri May 28 14:17:52 2004
+++ b/drivers/base/power/suspend.c Fri May 28 14:17:52 2004
@@ -41,6 +41,8 @@
dev_dbg(dev, "suspending\n");
+ dev->power.prev_state = dev->power.power_state;
+
if (dev->bus && dev->bus->suspend && !dev->power.power_state)
error = dev->bus->suspend(dev,state);
diff -Nru a/include/linux/pm.h b/include/linux/pm.h
--- a/include/linux/pm.h Fri May 28 14:17:52 2004
+++ b/include/linux/pm.h Fri May 28 14:17:52 2004
@@ -231,6 +231,7 @@
struct dev_pm_info {
u32 power_state;
#ifdef CONFIG_PM
+ u32 prev_state;
u8 * saved_state;
atomic_t pm_users;
struct device * pm_parent;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/