summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorPhilippe Langlais <philippe.langlais@linaro.org>2011-03-25 12:54:23 +0100
committerUlf Hansson <ulf.hansson@stericsson.com>2011-09-19 15:14:39 +0200
commit473e0840baec34698df5c69f8804fc1cb0f961c7 (patch)
treeb507a3bd3c3beb766d808cd7dc891cb71ad78cd6 /drivers
parent926e26a7e48dc3788249596ae0a658152c4ff337 (diff)
mfd ab5500: Fix for 2.6.38
Diffstat (limited to 'drivers')
-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);