diff options
author | Richard Purdie <rpurdie@rpsys.net> | 2007-07-02 05:19:07 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2007-07-02 08:39:37 -0400 |
commit | 1f750a782c0e9593a8d0981ea972f22334980955 (patch) | |
tree | b6dfb4e201b440b5b1ba551e5b453cf113b1695d | |
parent | 756813cac1d0172e1f93d977fe8bd1cd5086be21 (diff) |
[ARM] 4458/1: pxa: Fix CKEN usage and hence fix pxa suspend/resume
The PXA CKEN changes broken syspend/resume on the pxa27x. This patch
corrects the problem and fixes another couple of bad references.
Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
-rw-r--r-- | arch/arm/mach-pxa/pxa27x.c | 4 | ||||
-rw-r--r-- | sound/arm/pxa2xx-ac97.c | 2 | ||||
-rw-r--r-- | sound/soc/pxa/pxa2xx-ac97.c | 2 |
3 files changed, 4 insertions, 4 deletions
diff --git a/arch/arm/mach-pxa/pxa27x.c b/arch/arm/mach-pxa/pxa27x.c index c64bab49efc4..1939acc3f9f7 100644 --- a/arch/arm/mach-pxa/pxa27x.c +++ b/arch/arm/mach-pxa/pxa27x.c | |||
@@ -140,9 +140,9 @@ void pxa_cpu_pm_enter(suspend_state_t state) | |||
140 | extern void pxa_cpu_resume(void); | 140 | extern void pxa_cpu_resume(void); |
141 | 141 | ||
142 | if (state == PM_SUSPEND_STANDBY) | 142 | if (state == PM_SUSPEND_STANDBY) |
143 | CKEN = CKEN_MEMC | CKEN_OSTIMER | CKEN_LCD | CKEN_PWM0; | 143 | CKEN = (1 << CKEN_MEMC) | (1 << CKEN_OSTIMER) | (1 << CKEN_LCD) | (1 << CKEN_PWM0); |
144 | else | 144 | else |
145 | CKEN = CKEN_MEMC | CKEN_OSTIMER; | 145 | CKEN = (1 << CKEN_MEMC) | (1 << CKEN_OSTIMER); |
146 | 146 | ||
147 | /* ensure voltage-change sequencer not initiated, which hangs */ | 147 | /* ensure voltage-change sequencer not initiated, which hangs */ |
148 | PCFR &= ~PCFR_FVC; | 148 | PCFR &= ~PCFR_FVC; |
diff --git a/sound/arm/pxa2xx-ac97.c b/sound/arm/pxa2xx-ac97.c index 19c65a8d86a7..7bc2767e1584 100644 --- a/sound/arm/pxa2xx-ac97.c +++ b/sound/arm/pxa2xx-ac97.c | |||
@@ -361,7 +361,7 @@ static int __devinit pxa2xx_ac97_probe(struct platform_device *dev) | |||
361 | err: | 361 | err: |
362 | if (card) | 362 | if (card) |
363 | snd_card_free(card); | 363 | snd_card_free(card); |
364 | if (CKEN & CKEN_AC97) { | 364 | if (CKEN & (1 << CKEN_AC97)) { |
365 | GCR |= GCR_ACLINK_OFF; | 365 | GCR |= GCR_ACLINK_OFF; |
366 | free_irq(IRQ_AC97, NULL); | 366 | free_irq(IRQ_AC97, NULL); |
367 | pxa_set_cken(CKEN_AC97, 0); | 367 | pxa_set_cken(CKEN_AC97, 0); |
diff --git a/sound/soc/pxa/pxa2xx-ac97.c b/sound/soc/pxa/pxa2xx-ac97.c index b222755763e7..129d851b3151 100644 --- a/sound/soc/pxa/pxa2xx-ac97.c +++ b/sound/soc/pxa/pxa2xx-ac97.c | |||
@@ -300,7 +300,7 @@ static int pxa2xx_ac97_probe(struct platform_device *pdev) | |||
300 | return 0; | 300 | return 0; |
301 | 301 | ||
302 | err: | 302 | err: |
303 | if (CKEN & CKEN_AC97) { | 303 | if (CKEN & (1 << CKEN_AC97)) { |
304 | GCR |= GCR_ACLINK_OFF; | 304 | GCR |= GCR_ACLINK_OFF; |
305 | free_irq(IRQ_AC97, NULL); | 305 | free_irq(IRQ_AC97, NULL); |
306 | pxa_set_cken(CKEN_AC97, 0); | 306 | pxa_set_cken(CKEN_AC97, 0); |