diff options
Diffstat (limited to 'arch/arm/mach-shmobile/intc-sh73a0.c')
-rw-r--r-- | arch/arm/mach-shmobile/intc-sh73a0.c | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/arch/arm/mach-shmobile/intc-sh73a0.c b/arch/arm/mach-shmobile/intc-sh73a0.c index ee447404c857..a8b2dd779429 100644 --- a/arch/arm/mach-shmobile/intc-sh73a0.c +++ b/arch/arm/mach-shmobile/intc-sh73a0.c | |||
@@ -366,10 +366,12 @@ static irqreturn_t sh73a0_irq_pin_demux(int irq, void *dev_id) | |||
366 | 366 | ||
367 | static struct irqaction sh73a0_irq_pin_cascade[32]; | 367 | static struct irqaction sh73a0_irq_pin_cascade[32]; |
368 | 368 | ||
369 | #define PINTER0 0xe69000a0 | 369 | #define PINTER0_PHYS 0xe69000a0 |
370 | #define PINTER1 0xe69000a4 | 370 | #define PINTER1_PHYS 0xe69000a4 |
371 | #define PINTRR0 0xe69000d0 | 371 | #define PINTER0_VIRT IOMEM(0xe69000a0) |
372 | #define PINTRR1 0xe69000d4 | 372 | #define PINTER1_VIRT IOMEM(0xe69000a4) |
373 | #define PINTRR0 IOMEM(0xe69000d0) | ||
374 | #define PINTRR1 IOMEM(0xe69000d4) | ||
373 | 375 | ||
374 | #define PINT0A_IRQ(n, irq) INTC_IRQ((n), SH73A0_PINT0_IRQ(irq)) | 376 | #define PINT0A_IRQ(n, irq) INTC_IRQ((n), SH73A0_PINT0_IRQ(irq)) |
375 | #define PINT0B_IRQ(n, irq) INTC_IRQ((n), SH73A0_PINT0_IRQ(irq + 8)) | 377 | #define PINT0B_IRQ(n, irq) INTC_IRQ((n), SH73A0_PINT0_IRQ(irq + 8)) |
@@ -377,14 +379,14 @@ static struct irqaction sh73a0_irq_pin_cascade[32]; | |||
377 | #define PINT0D_IRQ(n, irq) INTC_IRQ((n), SH73A0_PINT0_IRQ(irq + 24)) | 379 | #define PINT0D_IRQ(n, irq) INTC_IRQ((n), SH73A0_PINT0_IRQ(irq + 24)) |
378 | #define PINT1E_IRQ(n, irq) INTC_IRQ((n), SH73A0_PINT1_IRQ(irq)) | 380 | #define PINT1E_IRQ(n, irq) INTC_IRQ((n), SH73A0_PINT1_IRQ(irq)) |
379 | 381 | ||
380 | INTC_PINT(intc_pint0, PINTER0, 0xe69000b0, "sh73a0-pint0", \ | 382 | INTC_PINT(intc_pint0, PINTER0_PHYS, 0xe69000b0, "sh73a0-pint0", \ |
381 | INTC_PINT_E(A), INTC_PINT_E(B), INTC_PINT_E(C), INTC_PINT_E(D), \ | 383 | INTC_PINT_E(A), INTC_PINT_E(B), INTC_PINT_E(C), INTC_PINT_E(D), \ |
382 | INTC_PINT_V(A, PINT0A_IRQ), INTC_PINT_V(B, PINT0B_IRQ), \ | 384 | INTC_PINT_V(A, PINT0A_IRQ), INTC_PINT_V(B, PINT0B_IRQ), \ |
383 | INTC_PINT_V(C, PINT0C_IRQ), INTC_PINT_V(D, PINT0D_IRQ), \ | 385 | INTC_PINT_V(C, PINT0C_IRQ), INTC_PINT_V(D, PINT0D_IRQ), \ |
384 | INTC_PINT_E(A), INTC_PINT_E(B), INTC_PINT_E(C), INTC_PINT_E(D), \ | 386 | INTC_PINT_E(A), INTC_PINT_E(B), INTC_PINT_E(C), INTC_PINT_E(D), \ |
385 | INTC_PINT_E(A), INTC_PINT_E(B), INTC_PINT_E(C), INTC_PINT_E(D)); | 387 | INTC_PINT_E(A), INTC_PINT_E(B), INTC_PINT_E(C), INTC_PINT_E(D)); |
386 | 388 | ||
387 | INTC_PINT(intc_pint1, PINTER1, 0xe69000c0, "sh73a0-pint1", \ | 389 | INTC_PINT(intc_pint1, PINTER1_PHYS, 0xe69000c0, "sh73a0-pint1", \ |
388 | INTC_PINT_E(E), INTC_PINT_E_EMPTY, INTC_PINT_E_EMPTY, INTC_PINT_E_EMPTY, \ | 390 | INTC_PINT_E(E), INTC_PINT_E_EMPTY, INTC_PINT_E_EMPTY, INTC_PINT_E_EMPTY, \ |
389 | INTC_PINT_V(E, PINT1E_IRQ), INTC_PINT_V_NONE, \ | 391 | INTC_PINT_V(E, PINT1E_IRQ), INTC_PINT_V_NONE, \ |
390 | INTC_PINT_V_NONE, INTC_PINT_V_NONE, \ | 392 | INTC_PINT_V_NONE, INTC_PINT_V_NONE, \ |
@@ -394,7 +396,7 @@ INTC_PINT(intc_pint1, PINTER1, 0xe69000c0, "sh73a0-pint1", \ | |||
394 | static struct irqaction sh73a0_pint0_cascade; | 396 | static struct irqaction sh73a0_pint0_cascade; |
395 | static struct irqaction sh73a0_pint1_cascade; | 397 | static struct irqaction sh73a0_pint1_cascade; |
396 | 398 | ||
397 | static void pint_demux(unsigned long rr, unsigned long er, int base_irq) | 399 | static void pint_demux(void __iomem *rr, void __iomem *er, int base_irq) |
398 | { | 400 | { |
399 | unsigned long value = ioread32(rr) & ioread32(er); | 401 | unsigned long value = ioread32(rr) & ioread32(er); |
400 | int k; | 402 | int k; |
@@ -409,13 +411,13 @@ static void pint_demux(unsigned long rr, unsigned long er, int base_irq) | |||
409 | 411 | ||
410 | static irqreturn_t sh73a0_pint0_demux(int irq, void *dev_id) | 412 | static irqreturn_t sh73a0_pint0_demux(int irq, void *dev_id) |
411 | { | 413 | { |
412 | pint_demux(PINTRR0, PINTER0, SH73A0_PINT0_IRQ(0)); | 414 | pint_demux(PINTRR0, PINTER0_VIRT, SH73A0_PINT0_IRQ(0)); |
413 | return IRQ_HANDLED; | 415 | return IRQ_HANDLED; |
414 | } | 416 | } |
415 | 417 | ||
416 | static irqreturn_t sh73a0_pint1_demux(int irq, void *dev_id) | 418 | static irqreturn_t sh73a0_pint1_demux(int irq, void *dev_id) |
417 | { | 419 | { |
418 | pint_demux(PINTRR1, PINTER1, SH73A0_PINT1_IRQ(0)); | 420 | pint_demux(PINTRR1, PINTER1_VIRT, SH73A0_PINT1_IRQ(0)); |
419 | return IRQ_HANDLED; | 421 | return IRQ_HANDLED; |
420 | } | 422 | } |
421 | 423 | ||