mfd: stmpe: Support gpio over irq under device tree
authorSean Cross <xobs@kosagi.com>
Fri, 12 Sep 2014 03:18:33 +0000 (11:18 +0800)
committerLee Jones <lee.jones@linaro.org>
Fri, 26 Sep 2014 07:23:53 +0000 (08:23 +0100)
The stmpe_platform_data has a irq_over_gpio field, which allows the
system to read STMPE events whenever an IRQ occurs on a GPIO pin.
This patch adds the ability to configure this field and to use a GPIO
as an IRQ source for boards configuring the STMPE in device tree.

Signed-off-by: Sean Cross <xobs@kosagi.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
drivers/mfd/stmpe.c

index f9d46f035bb1ce0aba6b1575ec1acd32edcd3fd1..e2f9df1c0c361f0d0e66bf782817af6170e49dc5 100644 (file)
@@ -1122,7 +1122,12 @@ static void stmpe_of_probe(struct stmpe_platform_data *pdata,
        if (pdata->id < 0)
                pdata->id = -1;
 
-       pdata->irq_trigger = IRQF_TRIGGER_NONE;
+       pdata->irq_gpio = of_get_named_gpio_flags(np, "irq-gpio", 0,
+                               &pdata->irq_trigger);
+       if (gpio_is_valid(pdata->irq_gpio))
+               pdata->irq_over_gpio = 1;
+       else
+               pdata->irq_trigger = IRQF_TRIGGER_NONE;
 
        of_property_read_u32(np, "st,autosleep-timeout",
                        &pdata->autosleep_timeout);