arm: h720x: Fix irq conversion fallout
The conversion missed, that one of the irq functions is called from the init code. Split it out, so the irq number based call works. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:
parent
4fe25e3898
commit
1738209a15
1 changed files with 8 additions and 3 deletions
|
@ -141,13 +141,18 @@ h7202_timer_interrupt(int irq, void *dev_id)
|
||||||
/*
|
/*
|
||||||
* mask multiplexed timer IRQs
|
* mask multiplexed timer IRQs
|
||||||
*/
|
*/
|
||||||
static void inline mask_timerx_irq(struct irq_data *d)
|
static void inline __mask_timerx_irq(unsigned int irq)
|
||||||
{
|
{
|
||||||
unsigned int bit;
|
unsigned int bit;
|
||||||
bit = 2 << ((d->irq == IRQ_TIMER64B) ? 4 : (d->irq - IRQ_TIMER1));
|
bit = 2 << ((irq == IRQ_TIMER64B) ? 4 : (irq - IRQ_TIMER1));
|
||||||
CPU_REG (TIMER_VIRT, TIMER_TOPCTRL) &= ~bit;
|
CPU_REG (TIMER_VIRT, TIMER_TOPCTRL) &= ~bit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void inline mask_timerx_irq(struct irq_data *d)
|
||||||
|
{
|
||||||
|
__mask_timerx_irq(d->irq);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* unmask multiplexed timer IRQs
|
* unmask multiplexed timer IRQs
|
||||||
*/
|
*/
|
||||||
|
@ -196,7 +201,7 @@ void __init h7202_init_irq (void)
|
||||||
|
|
||||||
for (irq = IRQ_TIMER1;
|
for (irq = IRQ_TIMER1;
|
||||||
irq < IRQ_CHAINED_TIMERX(NR_TIMERX_IRQS); irq++) {
|
irq < IRQ_CHAINED_TIMERX(NR_TIMERX_IRQS); irq++) {
|
||||||
mask_timerx_irq(irq);
|
__mask_timerx_irq(irq);
|
||||||
set_irq_chip(irq, &h7202_timerx_chip);
|
set_irq_chip(irq, &h7202_timerx_chip);
|
||||||
set_irq_handler(irq, handle_edge_irq);
|
set_irq_handler(irq, handle_edge_irq);
|
||||||
set_irq_flags(irq, IRQF_VALID );
|
set_irq_flags(irq, IRQF_VALID );
|
||||||
|
|
Loading…
Reference in a new issue