summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRussell King <rmk@dyn-67.arm.linux.org.uk>2007-05-15 12:22:48 +0200
committerRussell King <rmk+kernel@arm.linux.org.uk>2007-07-12 15:28:06 +0200
commit88dfe98c688e1700a4a9f73f8b7d570f4f52170d (patch)
treeb6810766664731716c24138ac8a1c247602b77d8
parent[ARM] pxa: move pm_ops structure into CPU specific files (diff)
downloadlinux-88dfe98c688e1700a4a9f73f8b7d570f4f52170d.tar.xz
linux-88dfe98c688e1700a4a9f73f8b7d570f4f52170d.zip
[ARM] pxa: Fix PXA27x suspend type validation, remove pxa_pm_prepare()
pxa_pm_prepare() tried to validate the suspend method type. As noted in previous commits: eb9289eb20df6b54214c45ac7c6bf5179a149026 9c372d06ce9ddf65e1393f9ea22a6d6bd5f96b42 e8c9c502690efd24b7055bf608e7a3c34216848b the checking of the suspend type in the 'prepare' method is the wrong place to do this; use the 'valid' method instead. This means that pxa_pm_prepare() can be entirely removed. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
-rw-r--r--arch/arm/common/sharpsl_pm.c1
-rw-r--r--arch/arm/mach-pxa/pxa25x.c13
-rw-r--r--arch/arm/mach-pxa/pxa27x.c19
3 files changed, 6 insertions, 27 deletions
diff --git a/arch/arm/common/sharpsl_pm.c b/arch/arm/common/sharpsl_pm.c
index 62cb50816cc6..111a7fa5debe 100644
--- a/arch/arm/common/sharpsl_pm.c
+++ b/arch/arm/common/sharpsl_pm.c
@@ -766,7 +766,6 @@ static void sharpsl_apm_get_power_status(struct apm_power_info *info)
}
static struct pm_ops sharpsl_pm_ops = {
- .prepare = pxa_pm_prepare,
.enter = corgi_pxa_pm_enter,
.valid = pm_valid_only_mem,
};
diff --git a/arch/arm/mach-pxa/pxa25x.c b/arch/arm/mach-pxa/pxa25x.c
index 8560439ba0b9..fe29c6e03a4f 100644
--- a/arch/arm/mach-pxa/pxa25x.c
+++ b/arch/arm/mach-pxa/pxa25x.c
@@ -106,18 +106,6 @@ EXPORT_SYMBOL(get_lcdclk_frequency_10khz);
#ifdef CONFIG_PM
-int pxa_pm_prepare(suspend_state_t state)
-{
- switch (state) {
- case PM_SUSPEND_MEM:
- break;
- default:
- return -EINVAL;
- }
-
- return 0;
-}
-
void pxa_cpu_pm_enter(suspend_state_t state)
{
extern void pxa_cpu_suspend(unsigned int);
@@ -135,7 +123,6 @@ void pxa_cpu_pm_enter(suspend_state_t state)
}
static struct pm_ops pxa25x_pm_ops = {
- .prepare = pxa_pm_prepare,
.enter = pxa_pm_enter,
.valid = pm_valid_only_mem,
};
diff --git a/arch/arm/mach-pxa/pxa27x.c b/arch/arm/mach-pxa/pxa27x.c
index be6ca7d3afa2..ac40fa5f7709 100644
--- a/arch/arm/mach-pxa/pxa27x.c
+++ b/arch/arm/mach-pxa/pxa27x.c
@@ -123,17 +123,6 @@ EXPORT_SYMBOL(get_lcdclk_frequency_10khz);
#ifdef CONFIG_PM
-int pxa_pm_prepare(suspend_state_t state)
-{
- switch (state) {
- case PM_SUSPEND_MEM:
- case PM_SUSPEND_STANDBY:
- return 0;
- default:
- return -EINVAL;
- }
-}
-
void pxa_cpu_pm_enter(suspend_state_t state)
{
extern void pxa_cpu_standby(void);
@@ -163,10 +152,14 @@ void pxa_cpu_pm_enter(suspend_state_t state)
}
}
+static int pxa27x_pm_valid(suspend_state_t state)
+{
+ return state == PM_SUSPEND_MEM || state == PM_SUSPEND_STANDBY;
+}
+
static struct pm_ops pxa27x_pm_ops = {
- .prepare = pxa_pm_prepare,
.enter = pxa_pm_enter,
- .valid = pm_valid_only_mem,
+ .valid = pxa27x_pm_valid,
};
#endif