Skip to content

Commit

Permalink
[ARM] 3683/2: ARM: Convert at91rm9200 to generic irq handling
Browse files Browse the repository at this point in the history
Patch from Thomas Gleixner

From: Thomas Gleixner <tglx@linutronix.de>

Fixup the conversion to generic irq subsystem.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
  • Loading branch information
Thomas Gleixner authored and Russell King committed Jul 1, 2006
1 parent 698dfe2 commit 07d265d
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 6 deletions.
11 changes: 6 additions & 5 deletions arch/arm/mach-at91rm9200/gpio.c
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,13 @@
*/

#include <linux/errno.h>
#include <linux/interrupt.h>
#include <linux/irq.h>
#include <linux/kernel.h>
#include <linux/list.h>
#include <linux/module.h>

#include <asm/io.h>
#include <asm/mach/irq.h>
#include <asm/hardware.h>
#include <asm/arch/gpio.h>

Expand Down Expand Up @@ -340,7 +341,7 @@ static void gpio_irq_handler(unsigned irq, struct irqdesc *desc, struct pt_regs
void __iomem *pio;
u32 isr;

pio = desc->base;
pio = get_irq_chip_data(irq);

/* temporarily mask (level sensitive) parent IRQ */
desc->chip->ack(irq);
Expand All @@ -350,12 +351,12 @@ static void gpio_irq_handler(unsigned irq, struct irqdesc *desc, struct pt_regs
if (!isr)
break;

pin = (unsigned) desc->data;
pin = (unsigned) get_irq_data(irq);
gpio = &irq_desc[pin];

while (isr) {
if (isr & 1) {
if (unlikely(gpio->disable_depth)) {
if (unlikely(gpio->depth)) {
/*
* The core ARM interrupt handler lazily disables IRQs so
* another IRQ must be generated before it actually gets
Expand All @@ -364,7 +365,7 @@ static void gpio_irq_handler(unsigned irq, struct irqdesc *desc, struct pt_regs
gpio_irq_mask(pin);
}
else
gpio->handle(pin, gpio, regs);
desc_handle_irq(pin, gpio, regs);
}
pin++;
gpio++;
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/mach-at91rm9200/time.c
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,13 @@

#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/irq.h>
#include <linux/kernel.h>
#include <linux/sched.h>
#include <linux/time.h>

#include <asm/hardware.h>
#include <asm/io.h>
#include <asm/irq.h>
#include <asm/mach/time.h>

static unsigned long last_crtr;
Expand Down

0 comments on commit 07d265d

Please sign in to comment.