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>
This commit is contained in:
parent
82e5051ba4
commit
3da5216725
4 changed files with 6 additions and 30 deletions
|
@ -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);
|
||||||
*
|
*
|
||||||
* 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 = {
|
||||||
.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)
|
||||||
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 */
|
omap4_prcm_irq_setup.irq = irq_num;
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Once OMAP4 DT is filled as well */
|
|
||||||
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)
|
||||||
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)
|
||||||
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 = {
|
||||||
.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
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue