This patch updates the context restore function for sram
Signed-off-by: Rajendra Nayak <[EMAIL PROTECTED]>
---
arch/arm/mach-omap2/pm34xx.c | 12 ++++++++----
arch/arm/plat-omap/sram.c | 10 +++++++---
2 files changed, 15 insertions(+), 7 deletions(-)
Index: linux-omap-2.6/arch/arm/mach-omap2/pm34xx.c
===================================================================
--- linux-omap-2.6.orig/arch/arm/mach-omap2/pm34xx.c 2008-09-01
18:11:35.000000000 +0530
+++ linux-omap-2.6/arch/arm/mach-omap2/pm34xx.c 2008-09-01 18:11:54.000000000
+0530
@@ -50,7 +50,7 @@ struct power_state {
static LIST_HEAD(pwrst_list);
-static void (*_omap_sram_idle)(u32 *addr, int save_state);
+void (*_omap_sram_idle)(u32 *addr, int save_state);
static void (*saved_idle)(void);
@@ -798,6 +798,12 @@ static int __init pwrdms_setup(struct po
return set_pwrdm_state(pwrst->pwrdm, pwrst->next_state);
}
+void omap_push_sram_idle()
+{
+ _omap_sram_idle = omap_sram_push(omap34xx_cpu_suspend,
+ omap34xx_cpu_suspend_sz);
+}
+
int __init omap3_pm_init(void)
{
struct power_state *pwrst;
@@ -835,9 +841,7 @@ int __init omap3_pm_init(void)
per_pwrdm = pwrdm_lookup("per_pwrdm");
core_pwrdm = pwrdm_lookup("core_pwrdm");
- _omap_sram_idle = omap_sram_push(omap34xx_cpu_suspend,
- omap34xx_cpu_suspend_sz);
-
+ omap_push_sram_idle();
suspend_set_ops(&omap_pm_ops);
#ifndef CONFIG_CPU_IDLE
Index: linux-omap-2.6/arch/arm/plat-omap/sram.c
===================================================================
--- linux-omap-2.6.orig/arch/arm/plat-omap/sram.c 2008-09-01
18:11:28.000000000
+0530
+++ linux-omap-2.6/arch/arm/plat-omap/sram.c 2008-09-01 18:11:54.000000000
+0530
@@ -26,6 +26,7 @@
#include <mach/board.h>
#include <mach/control.h>
+#include <mach/pm.h>
#if defined(CONFIG_ARCH_OMAP2) || defined(CONFIG_ARCH_OMAP3)
# include "../mach-omap2/prm.h"
@@ -75,6 +76,8 @@ extern unsigned long omapfb_reserve_sram
unsigned long sram_size,
unsigned long pstart_avail,
unsigned long size_avail);
+extern void (*_omap_sram_idle)(u32 *addr, int save_state);
+extern void omap_push_sram_idle();
/*
* Depending on the target RAMFS firewall setup, the public usable amount of
@@ -367,14 +370,14 @@ u32 omap3_configure_core_dpll(u32 sdrc_r
sdrc_actim_ctrlb, m2);
}
-/* REVISIT: Should this be same as omap34xx_sram_init() after off-idle? */
-void restore_sram_functions(void)
+void omap3_restore_sram_ctx(void)
{
omap_sram_ceil = omap_sram_base + omap_sram_size;
_omap3_sram_configure_core_dpll =
omap_sram_push(omap3_sram_configure_core_dpll,
omap3_sram_configure_core_dpll_sz);
+ omap_push_sram_idle();
}
int __init omap3_sram_init(void)
@@ -382,7 +385,8 @@ int __init omap3_sram_init(void)
_omap3_sram_configure_core_dpll =
omap_sram_push(omap3_sram_configure_core_dpll,
omap3_sram_configure_core_dpll_sz);
-
+ _omap_sram_idle = omap_sram_push(omap34xx_cpu_suspend,
+ omap34xx_cpu_suspend_sz);
return 0;
}
#else
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html