/* * ack GPIO irq's * Ack only for edge triggered int's valid */ static void inline ack_gpio_irq(struct irq_data *d) { u32 reg_base = GPIO_VIRT(IRQ_TO_REGNO(d->irq)); u32 bit = IRQ_TO_BIT(d->irq); if ( (CPU_REG (reg_base, GPIO_EDGE) & bit)) CPU_REG (reg_base, GPIO_CLR) = bit; }
/* * ack GPIO irq's * Ack only for edge triggered int's valid */ static void inline ack_gpio_irq(u32 irq) { u32 reg_base = GPIO_VIRT(IRQ_TO_REGNO(irq)); u32 bit = IRQ_TO_BIT(irq); if ( (CPU_REG (reg_base, GPIO_EDGE) & bit)) CPU_REG (reg_base, GPIO_CLR) = bit; }
/* * unmask GPIO irq's */ static void inline unmask_gpio_irq(struct irq_data *d) { u32 reg_base = GPIO_VIRT(IRQ_TO_REGNO(d->irq)); u32 bit = IRQ_TO_BIT(d->irq); CPU_REG (reg_base, GPIO_MASK) |= bit; }
/* * unmask GPIO irq's */ static void inline unmask_gpio_irq(u32 irq) { u32 reg_base = GPIO_VIRT(IRQ_TO_REGNO(irq)); u32 bit = IRQ_TO_BIT(irq); CPU_REG (reg_base, GPIO_MASK) |= bit; }