Просмотр исходного кода

[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>
Richard Purdie 18 лет назад
Родитель
Сommit
1f750a782c
3 измененных файлов с 4 добавлено и 4 удалено
  1. 2 2
      arch/arm/mach-pxa/pxa27x.c
  2. 1 1
      sound/arm/pxa2xx-ac97.c
  3. 1 1
      sound/soc/pxa/pxa2xx-ac97.c

+ 2 - 2
arch/arm/mach-pxa/pxa27x.c

@@ -140,9 +140,9 @@ void pxa_cpu_pm_enter(suspend_state_t state)
 	extern void pxa_cpu_resume(void);
 
 	if (state == PM_SUSPEND_STANDBY)
-		CKEN = CKEN_MEMC | CKEN_OSTIMER | CKEN_LCD | CKEN_PWM0;
+		CKEN = (1 << CKEN_MEMC) | (1 << CKEN_OSTIMER) | (1 << CKEN_LCD) | (1 << CKEN_PWM0);
 	else
-		CKEN = CKEN_MEMC | CKEN_OSTIMER;
+		CKEN = (1 << CKEN_MEMC) | (1 << CKEN_OSTIMER);
 
 	/* ensure voltage-change sequencer not initiated, which hangs */
 	PCFR &= ~PCFR_FVC;

+ 1 - 1
sound/arm/pxa2xx-ac97.c

@@ -361,7 +361,7 @@ static int __devinit pxa2xx_ac97_probe(struct platform_device *dev)
  err:
 	if (card)
 		snd_card_free(card);
-	if (CKEN & CKEN_AC97) {
+	if (CKEN & (1 << CKEN_AC97)) {
 		GCR |= GCR_ACLINK_OFF;
 		free_irq(IRQ_AC97, NULL);
 		pxa_set_cken(CKEN_AC97, 0);

+ 1 - 1
sound/soc/pxa/pxa2xx-ac97.c

@@ -300,7 +300,7 @@ static int pxa2xx_ac97_probe(struct platform_device *pdev)
 	return 0;
 
  err:
-	if (CKEN & CKEN_AC97) {
+	if (CKEN & (1 << CKEN_AC97)) {
 		GCR |= GCR_ACLINK_OFF;
 		free_irq(IRQ_AC97, NULL);
 		pxa_set_cken(CKEN_AC97, 0);