diff options
author | Tony Lindgren <tony@atomide.com> | 2017-10-10 17:27:13 -0400 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2017-10-10 17:27:13 -0400 |
commit | 3da521672568702c58767de69b5b0b58c8095fae (patch) | |
tree | bfbf86cfeb27a9bf3c0150712a12eb3bbeb7372d | |
parent | 82e5051ba4e7c6d3820e3ab87c1f20a6531d64a8 (diff) |
ARM: OMAP4: Remove legacy IRQ for PRM
We have the PRM IRQ mapped in device tree and this legacy code
is no longer needed.
Cc: Lokesh Vutla <lokeshvutla@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
-rw-r--r-- | arch/arm/mach-omap2/prcm-common.h | 1 | ||||
-rw-r--r-- | arch/arm/mach-omap2/prm.h | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap2/prm44xx.c | 21 | ||||
-rw-r--r-- | arch/arm/mach-omap2/prm_common.c | 12 |
4 files changed, 6 insertions, 30 deletions
diff --git a/arch/arm/mach-omap2/prcm-common.h b/arch/arm/mach-omap2/prcm-common.h index ee7041d523cf..0592b23902c6 100644 --- a/arch/arm/mach-omap2/prcm-common.h +++ b/arch/arm/mach-omap2/prcm-common.h | |||
@@ -506,7 +506,6 @@ struct omap_prcm_irq_setup { | |||
506 | u8 nr_irqs; | 506 | u8 nr_irqs; |
507 | const struct omap_prcm_irq *irqs; | 507 | const struct omap_prcm_irq *irqs; |
508 | int irq; | 508 | int irq; |
509 | unsigned int (*xlate_irq)(unsigned int); | ||
510 | void (*read_pending_irqs)(unsigned long *events); | 509 | void (*read_pending_irqs)(unsigned long *events); |
511 | void (*ocp_barrier)(void); | 510 | void (*ocp_barrier)(void); |
512 | void (*save_and_clear_irqen)(u32 *saved_mask); | 511 | void (*save_and_clear_irqen)(u32 *saved_mask); |
diff --git a/arch/arm/mach-omap2/prm.h b/arch/arm/mach-omap2/prm.h index 94dc3565add8..f0fb50871055 100644 --- a/arch/arm/mach-omap2/prm.h +++ b/arch/arm/mach-omap2/prm.h | |||
@@ -29,11 +29,9 @@ int omap2_prcm_base_init(void); | |||
29 | * | 29 | * |
30 | * PRM_HAS_IO_WAKEUP: has IO wakeup capability | 30 | * PRM_HAS_IO_WAKEUP: has IO wakeup capability |
31 | * PRM_HAS_VOLTAGE: has voltage domains | 31 | * PRM_HAS_VOLTAGE: has voltage domains |
32 | * PRM_IRQ_DEFAULT: use default irq number for PRM irq | ||
33 | */ | 32 | */ |
34 | #define PRM_HAS_IO_WAKEUP BIT(0) | 33 | #define PRM_HAS_IO_WAKEUP BIT(0) |
35 | #define PRM_HAS_VOLTAGE BIT(1) | 34 | #define PRM_HAS_VOLTAGE BIT(1) |
36 | #define PRM_IRQ_DEFAULT BIT(2) | ||
37 | 35 | ||
38 | /* | 36 | /* |
39 | * MAX_MODULE_SOFTRESET_WAIT: Maximum microseconds to wait for OMAP | 37 | * MAX_MODULE_SOFTRESET_WAIT: Maximum microseconds to wait for OMAP |
diff --git a/arch/arm/mach-omap2/prm44xx.c b/arch/arm/mach-omap2/prm44xx.c index 1c0c1663f078..acb95936dfe7 100644 --- a/arch/arm/mach-omap2/prm44xx.c +++ b/arch/arm/mach-omap2/prm44xx.c | |||
@@ -50,8 +50,6 @@ static struct omap_prcm_irq_setup omap4_prcm_irq_setup = { | |||
50 | .nr_regs = 2, | 50 | .nr_regs = 2, |
51 | .irqs = omap4_prcm_irqs, | 51 | .irqs = omap4_prcm_irqs, |
52 | .nr_irqs = ARRAY_SIZE(omap4_prcm_irqs), | 52 | .nr_irqs = ARRAY_SIZE(omap4_prcm_irqs), |
53 | .irq = 11 + OMAP44XX_IRQ_GIC_START, | ||
54 | .xlate_irq = omap4_xlate_irq, | ||
55 | .read_pending_irqs = &omap44xx_prm_read_pending_irqs, | 53 | .read_pending_irqs = &omap44xx_prm_read_pending_irqs, |
56 | .ocp_barrier = &omap44xx_prm_ocp_barrier, | 54 | .ocp_barrier = &omap44xx_prm_ocp_barrier, |
57 | .save_and_clear_irqen = &omap44xx_prm_save_and_clear_irqen, | 55 | .save_and_clear_irqen = &omap44xx_prm_save_and_clear_irqen, |
@@ -743,23 +741,10 @@ static int omap44xx_prm_late_init(void) | |||
743 | return 0; | 741 | return 0; |
744 | 742 | ||
745 | irq_num = of_irq_get(prm_init_data->np, 0); | 743 | irq_num = of_irq_get(prm_init_data->np, 0); |
746 | /* | 744 | if (irq_num == -EPROBE_DEFER) |
747 | * Already have OMAP4 IRQ num. For all other platforms, we need | 745 | return irq_num; |
748 | * IRQ numbers from DT | ||
749 | */ | ||
750 | if (irq_num <= 0 && !(prm_init_data->flags & PRM_IRQ_DEFAULT)) { | ||
751 | if (irq_num == -EPROBE_DEFER) | ||
752 | return irq_num; | ||
753 | |||
754 | /* Have nothing to do */ | ||
755 | return 0; | ||
756 | } | ||
757 | 746 | ||
758 | /* Once OMAP4 DT is filled as well */ | 747 | omap4_prcm_irq_setup.irq = irq_num; |
759 | if (irq_num > 0) { | ||
760 | omap4_prcm_irq_setup.irq = irq_num; | ||
761 | omap4_prcm_irq_setup.xlate_irq = NULL; | ||
762 | } | ||
763 | 748 | ||
764 | omap44xx_prm_enable_io_wakeup(); | 749 | omap44xx_prm_enable_io_wakeup(); |
765 | 750 | ||
diff --git a/arch/arm/mach-omap2/prm_common.c b/arch/arm/mach-omap2/prm_common.c index 09180a59b1c9..021b5a8b9c0a 100644 --- a/arch/arm/mach-omap2/prm_common.c +++ b/arch/arm/mach-omap2/prm_common.c | |||
@@ -218,10 +218,7 @@ void omap_prcm_irq_cleanup(void) | |||
218 | kfree(prcm_irq_setup->priority_mask); | 218 | kfree(prcm_irq_setup->priority_mask); |
219 | prcm_irq_setup->priority_mask = NULL; | 219 | prcm_irq_setup->priority_mask = NULL; |
220 | 220 | ||
221 | if (prcm_irq_setup->xlate_irq) | 221 | irq = prcm_irq_setup->irq; |
222 | irq = prcm_irq_setup->xlate_irq(prcm_irq_setup->irq); | ||
223 | else | ||
224 | irq = prcm_irq_setup->irq; | ||
225 | irq_set_chained_handler(irq, NULL); | 222 | irq_set_chained_handler(irq, NULL); |
226 | 223 | ||
227 | if (prcm_irq_setup->base_irq > 0) | 224 | if (prcm_irq_setup->base_irq > 0) |
@@ -307,10 +304,7 @@ int omap_prcm_register_chain_handler(struct omap_prcm_irq_setup *irq_setup) | |||
307 | 1 << (offset & 0x1f); | 304 | 1 << (offset & 0x1f); |
308 | } | 305 | } |
309 | 306 | ||
310 | if (irq_setup->xlate_irq) | 307 | irq = irq_setup->irq; |
311 | irq = irq_setup->xlate_irq(irq_setup->irq); | ||
312 | else | ||
313 | irq = irq_setup->irq; | ||
314 | irq_set_chained_handler(irq, omap_prcm_irq_handler); | 308 | irq_set_chained_handler(irq, omap_prcm_irq_handler); |
315 | 309 | ||
316 | irq_setup->base_irq = irq_alloc_descs(-1, 0, irq_setup->nr_regs * 32, | 310 | irq_setup->base_irq = irq_alloc_descs(-1, 0, irq_setup->nr_regs * 32, |
@@ -671,7 +665,7 @@ static struct omap_prcm_init_data omap4_prm_data __initdata = { | |||
671 | .index = TI_CLKM_PRM, | 665 | .index = TI_CLKM_PRM, |
672 | .init = omap44xx_prm_init, | 666 | .init = omap44xx_prm_init, |
673 | .device_inst_offset = OMAP4430_PRM_DEVICE_INST, | 667 | .device_inst_offset = OMAP4430_PRM_DEVICE_INST, |
674 | .flags = PRM_HAS_IO_WAKEUP | PRM_HAS_VOLTAGE | PRM_IRQ_DEFAULT, | 668 | .flags = PRM_HAS_IO_WAKEUP | PRM_HAS_VOLTAGE, |
675 | }; | 669 | }; |
676 | #endif | 670 | #endif |
677 | 671 | ||