static void i8259_mask_irq(unsigned int irq_nr) { unsigned long flags; spin_lock_irqsave(&i8259_lock, flags); irq_nr -= i8259_pic_irq_offset; if (irq_nr < 8) cached_21 |= 1 << irq_nr; else cached_A1 |= 1 << (irq_nr-8); i8259_set_irq_mask(irq_nr); spin_unlock_irqrestore(&i8259_lock, flags); }
static void i8259_unmask_irq(unsigned int irq_nr) { unsigned long flags; pr_debug("i8259_unmask_irq(%d)\n", irq_nr); raw_spin_lock_irqsave(&i8259_lock, flags); if (irq_nr < 8) cached_21 &= ~(1 << irq_nr); else cached_A1 &= ~(1 << (irq_nr-8)); i8259_set_irq_mask(irq_nr); raw_spin_unlock_irqrestore(&i8259_lock, flags); }
static void i8259_unmask_irq(struct irq_data *d) { unsigned long flags; pr_debug("i8259_unmask_irq(%d)\n", d->irq); raw_spin_lock_irqsave(&i8259_lock, flags); if (d->irq < 8) cached_21 &= ~(1 << d->irq); else cached_A1 &= ~(1 << (d->irq-8)); i8259_set_irq_mask(d->irq); raw_spin_unlock_irqrestore(&i8259_lock, flags); }