summaryrefslogtreecommitdiff
path: root/drivers/mfd/ab5500-core.c
diff options
context:
space:
mode:
authorPhilippe Langlais <philippe.langlais@linaro.org>2011-03-25 12:54:23 +0100
committerPhilippe Langlais <philippe.langlais@linaro.org>2011-07-22 15:37:10 +0200
commit43fde9bed4323d5826b9e5ac7416800dcb5ae3ed (patch)
tree706e2d81f81d7a13b78ede7b6874787697510437 /drivers/mfd/ab5500-core.c
parent5bdb7c2328f0f3fb424683d6ab4ebf0755a8d8e3 (diff)
mfd ab5500: Fix for 2.6.38
Diffstat (limited to 'drivers/mfd/ab5500-core.c')
-rwxr-xr-xdrivers/mfd/ab5500-core.c20
1 files changed, 11 insertions, 9 deletions
diff --git a/drivers/mfd/ab5500-core.c b/drivers/mfd/ab5500-core.c
index a4fa61d3d9b..37bd215538f 100755
--- a/drivers/mfd/ab5500-core.c
+++ b/drivers/mfd/ab5500-core.c
@@ -1907,28 +1907,30 @@ static void ab5500_mask_work(struct work_struct *work)
}
}
-static void ab5500_mask(unsigned int irq)
+static void ab5500_mask(struct irq_data *data)
{
unsigned long flags;
struct ab5500 *ab;
+ int irq;
+
+ ab = irq_data_get_irq_chip_data(data);
+ irq = data->irq - ab->irq.base;
- ab = get_irq_chip_data(irq);
- irq -= ab->irq_base;
-
- spin_lock_irqsave(&ab->event_lock, flags);
+ spin_lock_irqsave(&ab->event_lock, flags);
ab->event_mask[irq / 8] |= BIT(irq % 8);
spin_unlock_irqrestore(&ab->event_lock, flags);
schedule_work(&ab->mask_work);
}
-static void ab5500_unmask(unsigned int irq)
+static void ab5500_unmask(struct irq_data *data)
{
unsigned long flags;
struct ab5500 *ab;
-
- ab = get_irq_chip_data(irq);
- irq -= ab->irq_base;
+ int irq;
+
+ ab = irq_data_get_irq_chip_data(data);
+ irq = data->irq - ab->irq.base;
spin_lock_irqsave(&ab->event_lock, flags);
ab->event_mask[irq / 8] &= ~BIT(irq % 8);