提交 efb02da5 编写于 作者: T Thomas Gleixner 提交者: Ralf Baechle

MIPS: RB532: Convert to new irq_chip functions

Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
To: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/2201/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
上级 2f8d36e7
...@@ -111,10 +111,10 @@ static inline void ack_local_irq(unsigned int ip) ...@@ -111,10 +111,10 @@ static inline void ack_local_irq(unsigned int ip)
clear_c0_cause(ipnum); clear_c0_cause(ipnum);
} }
static void rb532_enable_irq(unsigned int irq_nr) static void rb532_enable_irq(struct irq_data *d)
{ {
unsigned int group, intr_bit, irq_nr = d->irq;
int ip = irq_nr - GROUP0_IRQ_BASE; int ip = irq_nr - GROUP0_IRQ_BASE;
unsigned int group, intr_bit;
volatile unsigned int *addr; volatile unsigned int *addr;
if (ip < 0) if (ip < 0)
...@@ -132,10 +132,10 @@ static void rb532_enable_irq(unsigned int irq_nr) ...@@ -132,10 +132,10 @@ static void rb532_enable_irq(unsigned int irq_nr)
} }
} }
static void rb532_disable_irq(unsigned int irq_nr) static void rb532_disable_irq(struct irq_data *d)
{ {
unsigned int group, intr_bit, mask, irq_nr = d->irq;
int ip = irq_nr - GROUP0_IRQ_BASE; int ip = irq_nr - GROUP0_IRQ_BASE;
unsigned int group, intr_bit, mask;
volatile unsigned int *addr; volatile unsigned int *addr;
if (ip < 0) { if (ip < 0) {
...@@ -163,18 +163,18 @@ static void rb532_disable_irq(unsigned int irq_nr) ...@@ -163,18 +163,18 @@ static void rb532_disable_irq(unsigned int irq_nr)
} }
} }
static void rb532_mask_and_ack_irq(unsigned int irq_nr) static void rb532_mask_and_ack_irq(struct irq_data *d)
{ {
rb532_disable_irq(irq_nr); rb532_disable_irq(d);
ack_local_irq(group_to_ip(irq_to_group(irq_nr))); ack_local_irq(group_to_ip(irq_to_group(d->irq)));
} }
static int rb532_set_type(unsigned int irq_nr, unsigned type) static int rb532_set_type(struct irq_data *d, unsigned type)
{ {
int gpio = irq_nr - GPIO_MAPPED_IRQ_BASE; int gpio = d->irq - GPIO_MAPPED_IRQ_BASE;
int group = irq_to_group(irq_nr); int group = irq_to_group(d->irq);
if (group != GPIO_MAPPED_IRQ_GROUP || irq_nr > (GROUP4_IRQ_BASE + 13)) if (group != GPIO_MAPPED_IRQ_GROUP || d->irq > (GROUP4_IRQ_BASE + 13))
return (type == IRQ_TYPE_LEVEL_HIGH) ? 0 : -EINVAL; return (type == IRQ_TYPE_LEVEL_HIGH) ? 0 : -EINVAL;
switch (type) { switch (type) {
...@@ -193,11 +193,11 @@ static int rb532_set_type(unsigned int irq_nr, unsigned type) ...@@ -193,11 +193,11 @@ static int rb532_set_type(unsigned int irq_nr, unsigned type)
static struct irq_chip rc32434_irq_type = { static struct irq_chip rc32434_irq_type = {
.name = "RB532", .name = "RB532",
.ack = rb532_disable_irq, .irq_ack = rb532_disable_irq,
.mask = rb532_disable_irq, .irq_mask = rb532_disable_irq,
.mask_ack = rb532_mask_and_ack_irq, .irq_mask_ack = rb532_mask_and_ack_irq,
.unmask = rb532_enable_irq, .irq_unmask = rb532_enable_irq,
.set_type = rb532_set_type, .irq_set_type = rb532_set_type,
}; };
void __init arch_init_irq(void) void __init arch_init_irq(void)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册