diff options
author | Philippe Langlais <philippe.langlais@linaro.org> | 2011-03-25 12:54:23 +0100 |
---|---|---|
committer | Philippe Langlais <philippe.langlais@linaro.org> | 2011-07-22 15:37:10 +0200 |
commit | 43fde9bed4323d5826b9e5ac7416800dcb5ae3ed (patch) | |
tree | 706e2d81f81d7a13b78ede7b6874787697510437 /drivers/mfd/ab5500-core.c | |
parent | 5bdb7c2328f0f3fb424683d6ab4ebf0755a8d8e3 (diff) |
mfd ab5500: Fix for 2.6.38
Diffstat (limited to 'drivers/mfd/ab5500-core.c')
-rwxr-xr-x | drivers/mfd/ab5500-core.c | 20 |
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); |