summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2010-04-02 15:51:59 +0200
committerMark Brown <broonie@opensource.wolfsonmicro.com>2010-04-05 20:18:12 +0200
commitddf438cf2a6de9aa47783a45907e1188b9437ff7 (patch)
tree84554917190cdde43ce9be6a8d73ba645ed7512f
parentmfd: Add WM8994 interrupt controller support (diff)
downloadlinux-ddf438cf2a6de9aa47783a45907e1188b9437ff7.tar.xz
linux-ddf438cf2a6de9aa47783a45907e1188b9437ff7.zip
gpiolib: Implement gpio_to_irq for WM8994 GPIO controller
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
-rw-r--r--drivers/gpio/wm8994-gpio.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/gpio/wm8994-gpio.c b/drivers/gpio/wm8994-gpio.c
index de28b4a470ea..3ee35badcf1d 100644
--- a/drivers/gpio/wm8994-gpio.c
+++ b/drivers/gpio/wm8994-gpio.c
@@ -80,6 +80,18 @@ static void wm8994_gpio_set(struct gpio_chip *chip, unsigned offset, int value)
wm8994_set_bits(wm8994, WM8994_GPIO_1 + offset, WM8994_GPN_LVL, value);
}
+static int wm8994_gpio_to_irq(struct gpio_chip *chip, unsigned offset)
+{
+ struct wm8994_gpio *wm8994_gpio = to_wm8994_gpio(chip);
+ struct wm8994 *wm8994 = wm8994_gpio->wm8994;
+
+ if (!wm8994->irq_base)
+ return -EINVAL;
+
+ return wm8994->irq_base + offset;
+}
+
+
#ifdef CONFIG_DEBUG_FS
static void wm8994_gpio_dbg_show(struct seq_file *s, struct gpio_chip *chip)
{