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

Commit e474563e authored by Thomas Gleixner's avatar Thomas Gleixner Committed by Greg Ungerer
Browse files

m68knommu: Convert 5249 intc irq_chip to new functions



/me idly wonders what sets the handlers for this chip.

Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Signed-off-by: default avatarGreg Ungerer <gerg@uclinux.org>
parent 2730158a
Loading
Loading
Loading
Loading
+10 −10
Original line number Diff line number Diff line
@@ -17,32 +17,32 @@
#include <asm/coldfire.h>
#include <asm/mcfsim.h>

static void intc2_irq_gpio_mask(unsigned int irq)
static void intc2_irq_gpio_mask(struct irq_data *d)
{
	u32 imr;
	imr = readl(MCF_MBAR2 + MCFSIM2_GPIOINTENABLE);
	imr &= ~(0x1 << (irq - MCFINTC2_GPIOIRQ0));
	imr &= ~(0x1 << (d->irq - MCFINTC2_GPIOIRQ0));
	writel(imr, MCF_MBAR2 + MCFSIM2_GPIOINTENABLE);
}

static void intc2_irq_gpio_unmask(unsigned int irq)
static void intc2_irq_gpio_unmask(struct irq_data *d)
{
	u32 imr;
	imr = readl(MCF_MBAR2 + MCFSIM2_GPIOINTENABLE);
	imr |= (0x1 << (irq - MCFINTC2_GPIOIRQ0));
	imr |= (0x1 << (d->irq - MCFINTC2_GPIOIRQ0));
	writel(imr, MCF_MBAR2 + MCFSIM2_GPIOINTENABLE);
}

static void intc2_irq_gpio_ack(unsigned int irq)
static void intc2_irq_gpio_ack(struct irq_data *d)
{
	writel(0x1 << (irq - MCFINTC2_GPIOIRQ0), MCF_MBAR2 + MCFSIM2_GPIOINTCLEAR);
	writel(0x1 << (d->irq - MCFINTC2_GPIOIRQ0), MCF_MBAR2 + MCFSIM2_GPIOINTCLEAR);
}

static struct irq_chip intc2_irq_gpio_chip = {
	.name		= "CF-INTC2",
	.mask		= intc2_irq_gpio_mask,
	.unmask		= intc2_irq_gpio_unmask,
	.ack		= intc2_irq_gpio_ack,
	.irq_mask	= intc2_irq_gpio_mask,
	.irq_unmask	= intc2_irq_gpio_unmask,
	.irq_ack	= intc2_irq_gpio_ack,
};

static int __init mcf_intc2_init(void)
@@ -51,7 +51,7 @@ static int __init mcf_intc2_init(void)

	/* GPIO interrupt sources */
	for (irq = MCFINTC2_GPIOIRQ0; (irq <= MCFINTC2_GPIOIRQ7); irq++) {
		irq_desc[irq].chip = &intc2_irq_gpio_chip;
		set_irq_chip(irq, &intc2_irq_gpio_chip);
		set_irq_handler(irq, handle_edge_irq);
	}