aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRussell King <rmk@dyn-67.arm.linux.org.uk>2007-05-15 06:22:48 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2007-07-12 09:28:06 -0400
commit88dfe98c688e1700a4a9f73f8b7d570f4f52170d (patch)
treeb6810766664731716c24138ac8a1c247602b77d8
parente176bb05fec4c00450302a75e81f8da3dc9e309e (diff)
[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)
766} 766}
767 767
768static struct pm_ops sharpsl_pm_ops = { 768static struct pm_ops sharpsl_pm_ops = {
769 .prepare = pxa_pm_prepare,
770 .enter = corgi_pxa_pm_enter, 769 .enter = corgi_pxa_pm_enter,
771 .valid = pm_valid_only_mem, 770 .valid = pm_valid_only_mem,
772}; 771};
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);
106 106
107#ifdef CONFIG_PM 107#ifdef CONFIG_PM
108 108
109int pxa_pm_prepare(suspend_state_t state)
110{
111 switch (state) {
112 case PM_SUSPEND_MEM:
113 break;
114 default:
115 return -EINVAL;
116 }
117
118 return 0;
119}
120
121void pxa_cpu_pm_enter(suspend_state_t state) 109void pxa_cpu_pm_enter(suspend_state_t state)
122{ 110{
123 extern void pxa_cpu_suspend(unsigned int); 111 extern void pxa_cpu_suspend(unsigned int);
@@ -135,7 +123,6 @@ void pxa_cpu_pm_enter(suspend_state_t state)
135} 123}
136 124
137static struct pm_ops pxa25x_pm_ops = { 125static struct pm_ops pxa25x_pm_ops = {
138 .prepare = pxa_pm_prepare,
139 .enter = pxa_pm_enter, 126 .enter = pxa_pm_enter,
140 .valid = pm_valid_only_mem, 127 .valid = pm_valid_only_mem,
141}; 128};
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);
123 123
124#ifdef CONFIG_PM 124#ifdef CONFIG_PM
125 125
126int pxa_pm_prepare(suspend_state_t state)
127{
128 switch (state) {
129 case PM_SUSPEND_MEM:
130 case PM_SUSPEND_STANDBY:
131 return 0;
132 default:
133 return -EINVAL;
134 }
135}
136
137void pxa_cpu_pm_enter(suspend_state_t state) 126void pxa_cpu_pm_enter(suspend_state_t state)
138{ 127{
139 extern void pxa_cpu_standby(void); 128 extern void pxa_cpu_standby(void);
@@ -163,10 +152,14 @@ void pxa_cpu_pm_enter(suspend_state_t state)
163 } 152 }
164} 153}
165 154
155static int pxa27x_pm_valid(suspend_state_t state)
156{
157 return state == PM_SUSPEND_MEM || state == PM_SUSPEND_STANDBY;
158}
159
166static struct pm_ops pxa27x_pm_ops = { 160static struct pm_ops pxa27x_pm_ops = {
167 .prepare = pxa_pm_prepare,
168 .enter = pxa_pm_enter, 161 .enter = pxa_pm_enter,
169 .valid = pm_valid_only_mem, 162 .valid = pxa27x_pm_valid,
170}; 163};
171#endif 164#endif
172 165