+ pm-issue-pm_event_prethaw.patch added to -mm tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The patch titled

     PM: issue PM_EVENT_PRETHAW

has been added to the -mm tree.  Its filename is

     pm-issue-pm_event_prethaw.patch

See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find
out what to do about this

------------------------------------------------------
Subject: PM: issue PM_EVENT_PRETHAW
From: David Brownell <david-b@xxxxxxxxxxx>


This patch is the first of this series that should actually change any
behavior ...  by issuing the new event, now tha the rest of the kernel is
prepared to receive it.

This converts the PM core to issue the new PRETHAW message, which the rest of
the kernel is now ready to receive.

Signed-off-by: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx>
Cc: Greg KH <greg@xxxxxxxxx>
Cc: "Rafael J. Wysocki" <rjw@xxxxxxx>
Cc: Pavel Machek <pavel@xxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxx>
---

 drivers/base/power/suspend.c |    1 +
 kernel/power/disk.c          |    4 ++--
 kernel/power/swsusp.c        |    9 ++++++++-
 kernel/power/user.c          |    2 +-
 4 files changed, 12 insertions(+), 4 deletions(-)

diff -puN drivers/base/power/suspend.c~pm-issue-pm_event_prethaw drivers/base/power/suspend.c
--- 25/drivers/base/power/suspend.c~pm-issue-pm_event_prethaw	Tue Jun 27 14:36:00 2006
+++ 25-akpm/drivers/base/power/suspend.c	Tue Jun 27 14:36:00 2006
@@ -34,6 +34,7 @@ static inline char *suspend_verb(u32 eve
 	switch (event) {
 	case PM_EVENT_SUSPEND:	return "suspend";
 	case PM_EVENT_FREEZE:	return "freeze";
+	case PM_EVENT_PRETHAW:	return "prethaw";
 	default:		return "(unknown suspend event)";
 	}
 }
diff -puN kernel/power/disk.c~pm-issue-pm_event_prethaw kernel/power/disk.c
--- 25/kernel/power/disk.c~pm-issue-pm_event_prethaw	Tue Jun 27 14:36:00 2006
+++ 25-akpm/kernel/power/disk.c	Tue Jun 27 14:36:00 2006
@@ -96,7 +96,7 @@ static void unprepare_processes(void)
 }
 
 /**
- *	pm_suspend_disk - The granpappy of power management.
+ *	pm_suspend_disk - The granpappy of hibernation power management.
  *
  *	If we're going through the firmware, then get it over with quickly.
  *
@@ -192,7 +192,7 @@ static int software_resume(void)
 
 	pr_debug("PM: Preparing devices for restore.\n");
 
-	if ((error = device_suspend(PMSG_FREEZE))) {
+	if ((error = device_suspend(PMSG_PRETHAW))) {
 		printk("Some devices failed to suspend\n");
 		swsusp_free();
 		goto Thaw;
diff -puN kernel/power/swsusp.c~pm-issue-pm_event_prethaw kernel/power/swsusp.c
--- 25/kernel/power/swsusp.c~pm-issue-pm_event_prethaw	Tue Jun 27 14:36:00 2006
+++ 25-akpm/kernel/power/swsusp.c	Tue Jun 27 14:36:00 2006
@@ -248,6 +248,9 @@ int swsusp_suspend(void)
 	restore_processor_state();
 Restore_highmem:
 	restore_highmem();
+	/* NOTE:  device_power_up() is just a resume() for devices
+	 * that suspended with irqs off ... no overall powerup.
+	 */
 	device_power_up();
 Enable_irqs:
 	local_irq_enable();
@@ -257,8 +260,12 @@ Enable_irqs:
 int swsusp_resume(void)
 {
 	int error;
+
 	local_irq_disable();
-	if (device_power_down(PMSG_FREEZE))
+	/* NOTE:  device_power_down() is just a suspend() with irqs off;
+	 * it has no special "power things down" semantics
+	 */
+	if (device_power_down(PMSG_PRETHAW))
 		printk(KERN_ERR "Some devices failed to power down, very bad\n");
 	/* We'll ignore saved state, but this gets preempt count (etc) right */
 	save_processor_state();
diff -puN kernel/power/user.c~pm-issue-pm_event_prethaw kernel/power/user.c
--- 25/kernel/power/user.c~pm-issue-pm_event_prethaw	Tue Jun 27 14:36:00 2006
+++ 25-akpm/kernel/power/user.c	Tue Jun 27 14:36:00 2006
@@ -191,7 +191,7 @@ static int snapshot_ioctl(struct inode *
 		}
 		down(&pm_sem);
 		pm_prepare_console();
-		error = device_suspend(PMSG_FREEZE);
+		error = device_suspend(PMSG_PRETHAW);
 		if (!error) {
 			error = swsusp_resume();
 			device_resume();
_

Patches currently in -mm which might be from david-b@xxxxxxxxxxx are

origin.patch
git-pcmcia.patch
ehci-fix-bogus-alteration-of-a-local-variable.patch
fix-broken-dubious-driver-suspend-methods.patch
pm-define-pm_event_prethaw.patch
pm-pci-and-ide-handle-pm_event_prethaw.patch
pm-video-drivers-and-pm_event_prethaw.patch
pm-usb-hcds-use-pm_event_prethaw.patch
pm-issue-pm_event_prethaw.patch
rtc-add-rtc-rs5c348-driver.patch

-
To unsubscribe from this list: send the line "unsubscribe mm-commits" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Newbies FAQ]     [Kernel Archive]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Photo]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux