Commit 3da52167 authored by Tony Lindgren's avatar Tony Lindgren

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: default avatarTony Lindgren <tony@atomide.com>
parent 82e5051b
...@@ -506,7 +506,6 @@ struct omap_prcm_irq_setup { ...@@ -506,7 +506,6 @@ struct omap_prcm_irq_setup {
u8 nr_irqs; u8 nr_irqs;
const struct omap_prcm_irq *irqs; const struct omap_prcm_irq *irqs;
int irq; int irq;
unsigned int (*xlate_irq)(unsigned int);
void (*read_pending_irqs)(unsigned long *events); void (*read_pending_irqs)(unsigned long *events);
void (*ocp_barrier)(void); void (*ocp_barrier)(void);
void (*save_and_clear_irqen)(u32 *saved_mask); void (*save_and_clear_irqen)(u32 *saved_mask);
......
...@@ -29,11 +29,9 @@ int omap2_prcm_base_init(void); ...@@ -29,11 +29,9 @@ int omap2_prcm_base_init(void);
* *
* PRM_HAS_IO_WAKEUP: has IO wakeup capability * PRM_HAS_IO_WAKEUP: has IO wakeup capability
* PRM_HAS_VOLTAGE: has voltage domains * PRM_HAS_VOLTAGE: has voltage domains
* PRM_IRQ_DEFAULT: use default irq number for PRM irq
*/ */
#define PRM_HAS_IO_WAKEUP BIT(0) #define PRM_HAS_IO_WAKEUP BIT(0)
#define PRM_HAS_VOLTAGE BIT(1) #define PRM_HAS_VOLTAGE BIT(1)
#define PRM_IRQ_DEFAULT BIT(2)
/* /*
* MAX_MODULE_SOFTRESET_WAIT: Maximum microseconds to wait for OMAP * MAX_MODULE_SOFTRESET_WAIT: Maximum microseconds to wait for OMAP
......
...@@ -50,8 +50,6 @@ static struct omap_prcm_irq_setup omap4_prcm_irq_setup = { ...@@ -50,8 +50,6 @@ static struct omap_prcm_irq_setup omap4_prcm_irq_setup = {
.nr_regs = 2, .nr_regs = 2,
.irqs = omap4_prcm_irqs, .irqs = omap4_prcm_irqs,
.nr_irqs = ARRAY_SIZE(omap4_prcm_irqs), .nr_irqs = ARRAY_SIZE(omap4_prcm_irqs),
.irq = 11 + OMAP44XX_IRQ_GIC_START,
.xlate_irq = omap4_xlate_irq,
.read_pending_irqs = &omap44xx_prm_read_pending_irqs, .read_pending_irqs = &omap44xx_prm_read_pending_irqs,
.ocp_barrier = &omap44xx_prm_ocp_barrier, .ocp_barrier = &omap44xx_prm_ocp_barrier,
.save_and_clear_irqen = &omap44xx_prm_save_and_clear_irqen, .save_and_clear_irqen = &omap44xx_prm_save_and_clear_irqen,
...@@ -743,23 +741,10 @@ static int omap44xx_prm_late_init(void) ...@@ -743,23 +741,10 @@ static int omap44xx_prm_late_init(void)
return 0; return 0;
irq_num = of_irq_get(prm_init_data->np, 0); irq_num = of_irq_get(prm_init_data->np, 0);
/* if (irq_num == -EPROBE_DEFER)
* Already have OMAP4 IRQ num. For all other platforms, we need return irq_num;
* IRQ numbers from DT
*/
if (irq_num <= 0 && !(prm_init_data->flags & PRM_IRQ_DEFAULT)) {
if (irq_num == -EPROBE_DEFER)
return irq_num;
/* Have nothing to do */
return 0;
}
/* Once OMAP4 DT is filled as well */ omap4_prcm_irq_setup.irq = irq_num;
if (irq_num > 0) {
omap4_prcm_irq_setup.irq = irq_num;
omap4_prcm_irq_setup.xlate_irq = NULL;
}
omap44xx_prm_enable_io_wakeup(); omap44xx_prm_enable_io_wakeup();
......
...@@ -218,10 +218,7 @@ void omap_prcm_irq_cleanup(void) ...@@ -218,10 +218,7 @@ void omap_prcm_irq_cleanup(void)
kfree(prcm_irq_setup->priority_mask); kfree(prcm_irq_setup->priority_mask);
prcm_irq_setup->priority_mask = NULL; prcm_irq_setup->priority_mask = NULL;
if (prcm_irq_setup->xlate_irq) irq = prcm_irq_setup->irq;
irq = prcm_irq_setup->xlate_irq(prcm_irq_setup->irq);
else
irq = prcm_irq_setup->irq;
irq_set_chained_handler(irq, NULL); irq_set_chained_handler(irq, NULL);
if (prcm_irq_setup->base_irq > 0) 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,10 +304,7 @@ int omap_prcm_register_chain_handler(struct omap_prcm_irq_setup *irq_setup)
1 << (offset & 0x1f); 1 << (offset & 0x1f);
} }
if (irq_setup->xlate_irq) irq = irq_setup->irq;
irq = irq_setup->xlate_irq(irq_setup->irq);
else
irq = irq_setup->irq;
irq_set_chained_handler(irq, omap_prcm_irq_handler); irq_set_chained_handler(irq, omap_prcm_irq_handler);
irq_setup->base_irq = irq_alloc_descs(-1, 0, irq_setup->nr_regs * 32, 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,7 +665,7 @@ static struct omap_prcm_init_data omap4_prm_data __initdata = {
.index = TI_CLKM_PRM, .index = TI_CLKM_PRM,
.init = omap44xx_prm_init, .init = omap44xx_prm_init,
.device_inst_offset = OMAP4430_PRM_DEVICE_INST, .device_inst_offset = OMAP4430_PRM_DEVICE_INST,
.flags = PRM_HAS_IO_WAKEUP | PRM_HAS_VOLTAGE | PRM_IRQ_DEFAULT, .flags = PRM_HAS_IO_WAKEUP | PRM_HAS_VOLTAGE,
}; };
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment