Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 191755
b: refs/heads/master
c: aaedaa2
h: refs/heads/master
i:
  191753: ed48f1e
  191751: 040f1e2
v: v3
  • Loading branch information
Rabin Vincent authored and Russell King committed Mar 19, 2010
1 parent f58db60 commit 5af23e2
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 6 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: c0fcb8dba829421fe20652a376a2bedaf168238f
refs/heads/master: aaedaa2b5c610ae97f863078075d8d3c6ef91575
16 changes: 11 additions & 5 deletions trunk/arch/arm/plat-nomadik/gpio.c
Original file line number Diff line number Diff line change
Expand Up @@ -211,21 +211,27 @@ static struct irq_chip nmk_gpio_irq_chip = {
static void nmk_gpio_irq_handler(unsigned int irq, struct irq_desc *desc)
{
struct nmk_gpio_chip *nmk_chip;
struct irq_chip *host_chip;
struct irq_chip *host_chip = get_irq_chip(irq);
unsigned int gpio_irq;
u32 pending;
unsigned int first_irq;

if (host_chip->mask_ack)
host_chip->mask_ack(irq);
else {
host_chip->mask(irq);
if (host_chip->ack)
host_chip->ack(irq);
}

nmk_chip = get_irq_data(irq);
first_irq = NOMADIK_GPIO_TO_IRQ(nmk_chip->chip.base);
while ( (pending = readl(nmk_chip->addr + NMK_GPIO_IS)) ) {
gpio_irq = first_irq + __ffs(pending);
generic_handle_irq(gpio_irq);
}
if (0) {/* don't ack parent irq, as ack == disable */
host_chip = get_irq_chip(irq);
host_chip->ack(irq);
}

host_chip->unmask(irq);
}

static int nmk_gpio_init_irq(struct nmk_gpio_chip *nmk_chip)
Expand Down

0 comments on commit 5af23e2

Please sign in to comment.