summaryrefslogtreecommitdiff
path: root/arch/sh/kernel/cpu/irq/imask.c
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2010-10-27 14:54:50 +0900
committerPaul Mundt <lethal@linux-sh.org>2010-10-27 14:54:50 +0900
commit949bf16648ff657839893f88ce296a3c4d89cd1a (patch)
tree5b56a4ffb5eb110f39277c2d9db39993bc15a452 /arch/sh/kernel/cpu/irq/imask.c
parentd6138832ed8d86c5b8da63f40e8c6fffeeaf4129 (diff)
sh: imask IRQs irq_data conversion.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/kernel/cpu/irq/imask.c')
-rw-r--r--arch/sh/kernel/cpu/irq/imask.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/arch/sh/kernel/cpu/irq/imask.c b/arch/sh/kernel/cpu/irq/imask.c
index a351ed84eec5..32c825c9488e 100644
--- a/arch/sh/kernel/cpu/irq/imask.c
+++ b/arch/sh/kernel/cpu/irq/imask.c
@@ -51,16 +51,20 @@ static inline void set_interrupt_registers(int ip)
: "t");
}
-static void mask_imask_irq(unsigned int irq)
+static void mask_imask_irq(struct irq_data *data)
{
+ unsigned int irq = data->irq;
+
clear_bit(irq, imask_mask);
if (interrupt_priority < IMASK_PRIORITY - irq)
interrupt_priority = IMASK_PRIORITY - irq;
set_interrupt_registers(interrupt_priority);
}
-static void unmask_imask_irq(unsigned int irq)
+static void unmask_imask_irq(struct irq_data *data)
{
+ unsigned int irq = data->irq;
+
set_bit(irq, imask_mask);
interrupt_priority = IMASK_PRIORITY -
find_first_zero_bit(imask_mask, IMASK_PRIORITY);
@@ -69,9 +73,9 @@ static void unmask_imask_irq(unsigned int irq)
static struct irq_chip imask_irq_chip = {
.name = "SR.IMASK",
- .mask = mask_imask_irq,
- .unmask = unmask_imask_irq,
- .mask_ack = mask_imask_irq,
+ .irq_mask = mask_imask_irq,
+ .irq_unmask = unmask_imask_irq,
+ .irq_mask_ack = mask_imask_irq,
};
void make_imask_irq(unsigned int irq)