Messages in this thread Patch in this message | | | From | Mark Brown <> | Subject | [PATCH] mfd: Fix off by one in WM831x IRQ code | Date | Wed, 22 Jun 2011 00:23:08 +0100 |
| |
From: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
The GPIO IRQs aren't the first IRQs defined, we need to subtract the base for the GPIOs as well to use them for array indexes.
Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> --- drivers/mfd/wm831x-irq.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/drivers/mfd/wm831x-irq.c b/drivers/mfd/wm831x-irq.c index 1808deb..6c3408c 100644 --- a/drivers/mfd/wm831x-irq.c +++ b/drivers/mfd/wm831x-irq.c @@ -408,6 +408,11 @@ static int wm831x_irq_set_type(struct irq_data *data, unsigned int type) return -EINVAL; } + /* Rebase the IRQ into the GPIO range so we've got a sensible array + * index. + */ + irq -= WM831X_IRQ_GPIO_1; + /* We set the high bit to flag that we need an update; don't * do the update here as we can be called with the bus lock * held. -- 1.7.5.4
| |