]> err.no Git - linux-2.6/commitdiff
[ARM] 4434/1: PXA: remove PXA_IRQ_SKIP
authorEric Miao <eric.y.miao@gmail.com>
Wed, 6 Jun 2007 05:22:20 +0000 (06:22 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Thu, 12 Jul 2007 13:28:09 +0000 (14:28 +0100)
1. PXA_IRQ_SKIP is defined to be 7 on PXA25x so that the first IRQ
   starts from zero. This makes IRQ numbering inconsistent between
   PXA25x and PXA27x. Remove this macro so that the same IRQ_XXXXX
   definition has the same value on both PXA25x and PXA27x.

2. make IRQ_SSP3..IRQ_PWRI2C valid only if PXA27x is defined, this
   avoids unintentional use of these macros on PXA25x

Signed-off-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mach-pxa/irq.c
include/asm-arm/arch-pxa/entry-macro.S
include/asm-arm/arch-pxa/irqs.h

index 4619d5fe606c2bad027ee2bf023f6c045d3ab882..45ce711f0472a0ad060dff57789f9599ebb43daf 100644 (file)
 
 static void pxa_mask_low_irq(unsigned int irq)
 {
-       ICMR &= ~(1 << (irq + PXA_IRQ_SKIP));
+       ICMR &= ~(1 << irq);
 }
 
 static void pxa_unmask_low_irq(unsigned int irq)
 {
-       ICMR |= (1 << (irq + PXA_IRQ_SKIP));
+       ICMR |= (1 << irq);
 }
 
 static int pxa_set_wake(unsigned int irq, unsigned int on)
@@ -75,12 +75,12 @@ static struct irq_chip pxa_internal_chip_low = {
 
 static void pxa_mask_high_irq(unsigned int irq)
 {
-       ICMR2 &= ~(1 << (irq - 32 + PXA_IRQ_SKIP));
+       ICMR2 &= ~(1 << (irq - 32));
 }
 
 static void pxa_unmask_high_irq(unsigned int irq)
 {
-       ICMR2 |= (1 << (irq - 32 + PXA_IRQ_SKIP));
+       ICMR2 |= (1 << (irq - 32));
 }
 
 static struct irq_chip pxa_internal_chip_high = {
@@ -351,7 +351,7 @@ void __init pxa_init_irq(void)
        /* GPIO 0 and 1 must have their mask bit always set */
        GPIO_IRQ_mask[0] = 3;
 
-       for (irq = PXA_IRQ(PXA_IRQ_SKIP); irq <= PXA_IRQ(31); irq++) {
+       for (irq = PXA_IRQ(0); irq <= PXA_IRQ(31); irq++) {
                set_irq_chip(irq, &pxa_internal_chip_low);
                set_irq_handler(irq, handle_level_irq);
                set_irq_flags(irq, IRQF_VALID);
index 1d5fbb9b379a03652b3c8347ef1adaed15bce146..b7bf0dd4fa4470b73b2b5edd50dbe02a3eacd9b2 100644 (file)
@@ -34,6 +34,6 @@
                rsb     \irqstat, \irqnr, #0
                and     \irqstat, \irqstat, \irqnr
                clz     \irqnr, \irqstat
-               rsb     \irqnr, \irqnr, #(31 - PXA_IRQ_SKIP)
+               rsb     \irqnr, \irqnr, #31
 1001:
                .endm
index 67ed43674c635a66a3a947accb3a757810fdd260..dc4e7548b7d515b0a3f5692c5c0fa61727bc520c 100644 (file)
  */
 
 
-#ifdef CONFIG_PXA27x
-#define PXA_IRQ_SKIP   0
-#else
-#define PXA_IRQ_SKIP   7
-#endif
-
-#define PXA_IRQ(x)     ((x) - PXA_IRQ_SKIP)
+#define PXA_IRQ(x)     (x)
 
+#ifdef CONFIG_PXA27x
 #define IRQ_SSP3       PXA_IRQ(0)      /* SSP3 service request */
 #define IRQ_MSL                PXA_IRQ(1)      /* MSL Interface interrupt */
 #define IRQ_USBH2      PXA_IRQ(2)      /* USB Host interrupt 1 (OHCI) */
@@ -26,6 +21,8 @@
 #define IRQ_KEYPAD     PXA_IRQ(4)      /* Key pad controller */
 #define IRQ_MEMSTK     PXA_IRQ(5)      /* Memory Stick interrupt */
 #define IRQ_PWRI2C     PXA_IRQ(6)      /* Power I2C interrupt */
+#endif
+
 #define IRQ_HWUART     PXA_IRQ(7)      /* HWUART Transmit/Receive/Error (PXA26x) */
 #define IRQ_OST_4_11   PXA_IRQ(7)      /* OS timer 4-11 matches (PXA27x) */
 #define        IRQ_GPIO0       PXA_IRQ(8)      /* GPIO0 Edge Detect */