summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/pm.h
diff options
context:
space:
mode:
authorDave Gerlach <d-gerlach@ti.com>2014-05-12 20:33:21 +0200
committerTony Lindgren <tony@atomide.com>2014-05-20 00:31:54 +0200
commit2e4b62dc5e6e2011dbd03ae1a654d990d18d0a14 (patch)
tree700060423c9e382fcbb382eff28bd513d33ab5bf /arch/arm/mach-omap2/pm.h
parentMerge tag 'for-v3.16/hwmod-a' of git://git.kernel.org/pub/scm/linux/kernel/gi... (diff)
downloadlinux-2e4b62dc5e6e2011dbd03ae1a654d990d18d0a14.tar.xz
linux-2e4b62dc5e6e2011dbd03ae1a654d990d18d0a14.zip
ARM: OMAP2+: Remove suspend_set_ops from common pm late init
In omap2_common_pm_late_init suspend_set_ops was called to set common suspend handling functions for all omap platforms. This created two problems. First, these suspend ops were being set for all platforms, regardless of whether or not suspend support has been integrated so in the case of AM33XX, suspend to mem was presented as available but failed every time. Second, some platforms will need to define a completely separate set of suspend ops, such as AM33XX, due to differences from previous omap platforms so there is no need to always set the common omap ops. This patch moves the suspend_set_ops call from omap2_common_pm_late_init into a separate function that then gets called in the omap*_pm_init functions for each platform. Signed-off-by: Dave Gerlach <d-gerlach@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch/arm/mach-omap2/pm.h')
-rw-r--r--arch/arm/mach-omap2/pm.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/arm/mach-omap2/pm.h b/arch/arm/mach-omap2/pm.h
index d4d0fce325c7..e150102d6c06 100644
--- a/arch/arm/mach-omap2/pm.h
+++ b/arch/arm/mach-omap2/pm.h
@@ -34,7 +34,6 @@ extern void *omap3_secure_ram_storage;
extern void omap3_pm_off_mode_enable(int);
extern void omap_sram_idle(void);
extern int omap_pm_clkdms_setup(struct clockdomain *clkdm, void *unused);
-extern int (*omap_pm_suspend)(void);
#if defined(CONFIG_PM_OPP)
extern int omap3_opp_init(void);
@@ -147,4 +146,11 @@ static inline void omap_pm_get_oscillator(u32 *tstart, u32 *tshut) { *tstart = *
static inline void omap_pm_setup_sr_i2c_pcb_length(u32 mm) { }
#endif
+#ifdef CONFIG_SUSPEND
+void omap_common_suspend_init(void *pm_suspend);
+#else
+static inline void omap_common_suspend_init(void *pm_suspend)
+{
+}
+#endif /* CONFIG_SUSPEND */
#endif