Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 138604
b: refs/heads/master
c: 8da55bb
h: refs/heads/master
v: v3
  • Loading branch information
Shinya Kuribayashi authored and Ralf Baechle committed Mar 30, 2009
1 parent a8740b1 commit 8b331a1
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 19 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: fb2826b7f6ecd93c29d2ef69578f087545251b17
refs/heads/master: 8da55bb2586a0867b9cf14f107225f382a47b28f
28 changes: 10 additions & 18 deletions trunk/arch/mips/emma/markeins/irq.c
Original file line number Diff line number Diff line change
Expand Up @@ -149,46 +149,38 @@ static void emma2rh_gpio_irq_disable(unsigned int irq)

static void emma2rh_gpio_irq_ack(unsigned int irq)
{
u32 reg;

irq -= EMMA2RH_GPIO_IRQ_BASE;
emma2rh_out32(EMMA2RH_GPIO_INT_ST, ~(1 << irq));

reg = emma2rh_in32(EMMA2RH_GPIO_INT_MASK);
reg &= ~(1 << irq);
emma2rh_out32(EMMA2RH_GPIO_INT_MASK, reg);
}

static void emma2rh_gpio_irq_end(unsigned int irq)
static void emma2rh_gpio_irq_mask_ack(unsigned int irq)
{
u32 reg;

if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS))) {

irq -= EMMA2RH_GPIO_IRQ_BASE;
irq -= EMMA2RH_GPIO_IRQ_BASE;
emma2rh_out32(EMMA2RH_GPIO_INT_ST, ~(1 << irq));

reg = emma2rh_in32(EMMA2RH_GPIO_INT_MASK);
reg |= 1 << irq;
emma2rh_out32(EMMA2RH_GPIO_INT_MASK, reg);
}
reg = emma2rh_in32(EMMA2RH_GPIO_INT_MASK);
reg &= ~(1 << irq);
emma2rh_out32(EMMA2RH_GPIO_INT_MASK, reg);
}

struct irq_chip emma2rh_gpio_irq_controller = {
.name = "emma2rh_gpio_irq",
.ack = emma2rh_gpio_irq_ack,
.mask = emma2rh_gpio_irq_disable,
.mask_ack = emma2rh_gpio_irq_ack,
.mask_ack = emma2rh_gpio_irq_mask_ack,
.unmask = emma2rh_gpio_irq_enable,
.end = emma2rh_gpio_irq_end,
};

void emma2rh_gpio_irq_init(void)
{
u32 i;

for (i = 0; i < NUM_EMMA2RH_IRQ_GPIO; i++)
set_irq_chip(EMMA2RH_GPIO_IRQ_BASE + i,
&emma2rh_gpio_irq_controller);
set_irq_chip_and_handler_name(EMMA2RH_GPIO_IRQ_BASE + i,
&emma2rh_gpio_irq_controller,
handle_edge_irq, "edge");
}

static struct irqaction irq_cascade = {
Expand Down

0 comments on commit 8b331a1

Please sign in to comment.