Browse Source

ARM: sa1111: fix pcmcia interrupt mask polarity

The polarity of the high IRQs was being calculated using
SA1111_IRQMASK_HI(), but this assumes a Linux interrupt number, not a
hardware interrupt number.  Hence, the resulting mask was incorrect.
Fix this.

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Russell King 9 years ago
parent
commit
7c0091ecea
1 changed files with 2 additions and 2 deletions
  1. 2 2
      arch/arm/common/sa1111.c

+ 2 - 2
arch/arm/common/sa1111.c

@@ -472,8 +472,8 @@ static int sa1111_setup_irq(struct sa1111 *sachip, unsigned irq_base)
 	 * specifies that S0ReadyInt and S1ReadyInt should be '1'.
 	 * specifies that S0ReadyInt and S1ReadyInt should be '1'.
 	 */
 	 */
 	sa1111_writel(0, irqbase + SA1111_INTPOL0);
 	sa1111_writel(0, irqbase + SA1111_INTPOL0);
-	sa1111_writel(SA1111_IRQMASK_HI(IRQ_S0_READY_NINT) |
-		      SA1111_IRQMASK_HI(IRQ_S1_READY_NINT),
+	sa1111_writel(BIT(IRQ_S0_READY_NINT & 31) |
+		      BIT(IRQ_S1_READY_NINT & 31),
 		      irqbase + SA1111_INTPOL1);
 		      irqbase + SA1111_INTPOL1);
 
 
 	/* clear all IRQs */
 	/* clear all IRQs */