Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c971ab0d authored by Lennert Buytenhek's avatar Lennert Buytenhek
Browse files

ARM: h720x: irq_data conversion.

parent 413802b6
Loading
Loading
Loading
Loading
+19 −19
Original line number Diff line number Diff line
@@ -52,17 +52,17 @@ unsigned long h720x_gettimeoffset(void)
/*
 * mask Global irq's
 */
static void mask_global_irq (unsigned int irq )
static void mask_global_irq(struct irq_data *d)
{
	CPU_REG (IRQC_VIRT, IRQC_IER) &= ~(1 << irq);
	CPU_REG (IRQC_VIRT, IRQC_IER) &= ~(1 << d->irq);
}

/*
 * unmask Global irq's
 */
static void unmask_global_irq (unsigned int irq )
static void unmask_global_irq(struct irq_data *d)
{
	CPU_REG (IRQC_VIRT, IRQC_IER) |= (1 << irq);
	CPU_REG (IRQC_VIRT, IRQC_IER) |= (1 << d->irq);
}


@@ -70,10 +70,10 @@ static void unmask_global_irq (unsigned int irq )
 * ack GPIO irq's
 * Ack only for edge triggered int's valid
 */
static void inline ack_gpio_irq(u32 irq)
static void inline ack_gpio_irq(struct irq_data *d)
{
	u32 reg_base = GPIO_VIRT(IRQ_TO_REGNO(irq));
	u32 bit = IRQ_TO_BIT(irq);
	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;
}
@@ -81,20 +81,20 @@ static void inline ack_gpio_irq(u32 irq)
/*
 * mask GPIO irq's
 */
static void inline mask_gpio_irq(u32 irq)
static void inline mask_gpio_irq(struct irq_data *d)
{
	u32 reg_base = GPIO_VIRT(IRQ_TO_REGNO(irq));
	u32 bit = IRQ_TO_BIT(irq);
	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)
static void inline unmask_gpio_irq(struct irq_data *d)
{
	u32 reg_base = GPIO_VIRT(IRQ_TO_REGNO(irq));
	u32 bit = IRQ_TO_BIT(irq);
	u32 reg_base = GPIO_VIRT(IRQ_TO_REGNO(d->irq));
	u32 bit = IRQ_TO_BIT(d->irq);
	CPU_REG (reg_base, GPIO_MASK) |= bit;
}

@@ -170,15 +170,15 @@ h720x_gpioe_demux_handler(unsigned int irq_unused, struct irq_desc *desc)
#endif

static struct irq_chip h720x_global_chip = {
	.ack = mask_global_irq,
	.mask = mask_global_irq,
	.unmask = unmask_global_irq,
	.irq_ack = mask_global_irq,
	.irq_mask = mask_global_irq,
	.irq_unmask = unmask_global_irq,
};

static struct irq_chip h720x_gpio_chip = {
	.ack = ack_gpio_irq,
	.mask = mask_gpio_irq,
	.unmask = unmask_gpio_irq,
	.irq_ack = ack_gpio_irq,
	.irq_mask = mask_gpio_irq,
	.irq_unmask = unmask_gpio_irq,
};

/*
+7 −7
Original line number Diff line number Diff line
@@ -141,27 +141,27 @@ h7202_timer_interrupt(int irq, void *dev_id)
/*
 * mask multiplexed timer IRQs
 */
static void inline mask_timerx_irq (u32 irq)
static void inline mask_timerx_irq(struct irq_data *d)
{
	unsigned int bit;
	bit = 2 << ((irq == IRQ_TIMER64B) ? 4 : (irq - IRQ_TIMER1));
	bit = 2 << ((d->irq == IRQ_TIMER64B) ? 4 : (d->irq - IRQ_TIMER1));
	CPU_REG (TIMER_VIRT, TIMER_TOPCTRL) &= ~bit;
}

/*
 * unmask multiplexed timer IRQs
 */
static void inline unmask_timerx_irq (u32 irq)
static void inline unmask_timerx_irq(struct irq_data *d)
{
	unsigned int bit;
	bit = 2 << ((irq == IRQ_TIMER64B) ? 4 : (irq - IRQ_TIMER1));
	bit = 2 << ((d->irq == IRQ_TIMER64B) ? 4 : (d->irq - IRQ_TIMER1));
	CPU_REG (TIMER_VIRT, TIMER_TOPCTRL) |= bit;
}

static struct irq_chip h7202_timerx_chip = {
	.ack = mask_timerx_irq,
	.mask = mask_timerx_irq,
	.unmask = unmask_timerx_irq,
	.irq_ack = mask_timerx_irq,
	.irq_mask = mask_timerx_irq,
	.irq_unmask = unmask_timerx_irq,
};

static struct irqaction h7202_timer_irq = {