The patch titled
     s2ram: add arch irq disable/enable hooks
has been removed from the -mm tree.  Its filename was
     s2ram-add-arch-irq-disable-enable-hooks.patch

This patch was dropped because it was merged into mainline or a subsystem tree

------------------------------------------------------
Subject: s2ram: add arch irq disable/enable hooks
From: Johannes Berg <[EMAIL PROTECTED]>

For powermac, we need to do some things between suspending devices and
device_power_off, for example setting the decrementer.  This patch allows
architectures to define arch_s2ram_{en,dis}able_irqs in their asm/suspend.h
to have control over this step.

Signed-off-by: Johannes Berg <[EMAIL PROTECTED]>
Acked-by: Pavel Machek <[EMAIL PROTECTED]>
Cc: Greg KH <[EMAIL PROTECTED]>
Cc: Paul Mackerras <[EMAIL PROTECTED]>
Cc: Benjamin Herrenschmidt <[EMAIL PROTECTED]>
Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
---

 include/linux/pm.h  |   18 ++++++++++++++++++
 kernel/power/main.c |   18 +++++++++++++++---
 2 files changed, 33 insertions(+), 3 deletions(-)

diff -puN include/linux/pm.h~s2ram-add-arch-irq-disable-enable-hooks 
include/linux/pm.h
--- a/include/linux/pm.h~s2ram-add-arch-irq-disable-enable-hooks
+++ a/include/linux/pm.h
@@ -170,6 +170,24 @@ extern int pm_suspend(suspend_state_t st
 
 extern int pm_valid_only_mem(suspend_state_t state);
 
+/**
+ * arch_suspend_disable_irqs - disable IRQs for suspend
+ *
+ * Disables IRQs (in the default case). This is a weak symbol in the common
+ * code and thus allows architectures to override it if more needs to be
+ * done. Not called for suspend to disk.
+ */
+extern void arch_suspend_disable_irqs(void);
+
+/**
+ * arch_suspend_enable_irqs - enable IRQs after suspend
+ *
+ * Enables IRQs (in the default case). This is a weak symbol in the common
+ * code and thus allows architectures to override it if more needs to be
+ * done. Not called for suspend to disk.
+ */
+extern void arch_suspend_enable_irqs(void);
+
 /*
  * Device power management
  */
diff -puN kernel/power/main.c~s2ram-add-arch-irq-disable-enable-hooks 
kernel/power/main.c
--- a/kernel/power/main.c~s2ram-add-arch-irq-disable-enable-hooks
+++ a/kernel/power/main.c
@@ -128,13 +128,24 @@ static int suspend_prepare(suspend_state
        return error;
 }
 
+/* default implementation */
+void __attribute__ ((weak)) arch_suspend_disable_irqs(void)
+{
+       local_irq_disable();
+}
+
+/* default implementation */
+void __attribute__ ((weak)) arch_suspend_enable_irqs(void)
+{
+       local_irq_enable();
+}
 
 int suspend_enter(suspend_state_t state)
 {
        int error = 0;
-       unsigned long flags;
 
-       local_irq_save(flags);
+       arch_suspend_disable_irqs();
+       BUG_ON(!irqs_disabled());
 
        if ((error = device_power_down(PMSG_SUSPEND))) {
                printk(KERN_ERR "Some devices failed to power down\n");
@@ -143,7 +154,8 @@ int suspend_enter(suspend_state_t state)
        error = pm_ops->enter(state);
        device_power_up();
  Done:
-       local_irq_restore(flags);
+       arch_suspend_enable_irqs();
+       BUG_ON(irqs_disabled());
        return error;
 }
 
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
rework-pm_ops-pm_disk_mode-kill-misuse.patch
power-management-remove-firmware-disk-mode.patch
power-management-implement-pm_opsvalid-for-everybody.patch
power-management-implement-pm_opsvalid-for-everybody-fix.patch
power-management-force-pm_opsvalid-callback-to-be.patch
git-alsa.patch
git-powerpc.patch
git-powerpc-arch-powerpc-sysdev-timerc-build-fix.patch
power-management-remove-some-useless-code-from-arm.patch
remove-software_suspend.patch
power-management-change-sys-power-disk-display.patch
fix-sscanf-%n-match-at-end-of-input-string.patch
fix-sscanf-%n-match-at-end-of-input-string-tidy.patch
kernel-doc-html-mode-struct-highlights.patch

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

Reply via email to