|
@@ -41,16 +41,11 @@ static void __exception_irq_entry sun4i_handle_irq(struct pt_regs *regs);
|
|
|
static void sun4i_irq_ack(struct irq_data *irqd)
|
|
|
{
|
|
|
unsigned int irq = irqd_to_hwirq(irqd);
|
|
|
- unsigned int irq_off = irq % 32;
|
|
|
- int reg = irq / 32;
|
|
|
- u32 val;
|
|
|
|
|
|
if (irq != 0)
|
|
|
return; /* Only IRQ 0 / the ENMI needs to be acked */
|
|
|
|
|
|
- val = readl(sun4i_irq_base + SUN4I_IRQ_PENDING_REG(reg));
|
|
|
- writel(val | (1 << irq_off),
|
|
|
- sun4i_irq_base + SUN4I_IRQ_PENDING_REG(reg));
|
|
|
+ writel(BIT(0), sun4i_irq_base + SUN4I_IRQ_PENDING_REG(0));
|
|
|
}
|
|
|
|
|
|
static void sun4i_irq_mask(struct irq_data *irqd)
|