static void mask_and_ack_maceisa_irq(unsigned int irq) { unsigned long mace_int; /* edge triggered */ mace_int = mace->perif.ctrl.istat; mace_int &= ~(1 << (irq - MACEISA_AUDIO_SW_IRQ)); mace->perif.ctrl.istat = mace_int; disable_maceisa_irq(irq); }
static void mask_and_ack_maceisa_irq(struct irq_data *d) { unsigned long mace_int; /* edge triggered */ mace_int = mace->perif.ctrl.istat; mace_int &= ~(1 << (d->irq - MACEISA_AUDIO_SW_IRQ)); mace->perif.ctrl.istat = mace_int; disable_maceisa_irq(d); }
static void mask_and_ack_maceisa_irq(unsigned int irq) { unsigned long mace_int; switch (irq) { case MACEISA_PARALLEL_IRQ: case MACEISA_SERIAL1_TDMAPR_IRQ: case MACEISA_SERIAL2_TDMAPR_IRQ: /* edge triggered */ mace_int = mace->perif.ctrl.istat; mace_int &= ~(1 << (irq - MACEISA_AUDIO_SW_IRQ)); mace->perif.ctrl.istat = mace_int; break; } disable_maceisa_irq(irq); }
static void mask_and_ack_maceisa_irq(unsigned int irq) { unsigned long mace_int, flags; switch (irq) { case MACEISA_PARALLEL_IRQ: case MACEISA_SERIAL1_TDMAPR_IRQ: case MACEISA_SERIAL2_TDMAPR_IRQ: /* edge triggered */ spin_lock_irqsave(&ip32_irq_lock, flags); mace_int = mace->perif.ctrl.istat; mace_int &= ~(1 << (irq - 33)); mace->perif.ctrl.istat = mace_int; spin_unlock_irqrestore(&ip32_irq_lock, flags); break; } disable_maceisa_irq(irq); }
static void mask_and_ack_maceisa_irq(unsigned int irq) { u32 mace_mask; unsigned long flags; switch (irq) { case MACEISA_PARALLEL_IRQ: case MACEISA_SERIAL1_TDMAPR_IRQ: case MACEISA_SERIAL2_TDMAPR_IRQ: save_and_cli(flags); mace_mask = mace_read_32(MACEISA_INT_STAT); mace_mask &= ~(1 << (irq - 33)); mace_write_32(MACEISA_INT_STAT, mace_mask); restore_flags(flags); break; } disable_maceisa_irq(irq); }