From: Yannick Fertré <[email protected]>
Convert gpio to irq if not already done by gpio lib.
Signed-off-by: Yannick Fertré <yannick.fertre
---
drivers/input/touchscreen/goodix.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/input/touchscreen/goodix.c b/drivers/input/touchscreen/goodix.c
index b470773..f1d9d5e 100644
--- a/drivers/input/touchscreen/goodix.c
+++ b/drivers/input/touchscreen/goodix.c
@@ -23,6 +23,7 @@
#include <linux/delay.h>
#include <linux/irq.h>
#include <linux/interrupt.h>
+#include <linux/gpio.h>
#include <linux/regulator/consumer.h>
#include <linux/slab.h>
#include <linux/acpi.h>
@@ -392,6 +393,13 @@ static void goodix_free_irq(struct goodix_ts_data *ts)
static int goodix_request_irq(struct goodix_ts_data *ts)
{
+ int gpio;
+
+ gpio = desc_to_gpio(ts->gpiod_int);
+
+ if (gpio_is_valid(gpio))
+ ts->client->irq = gpio_to_irq(gpio);
+
return devm_request_threaded_irq(&ts->client->dev, ts->client->irq,
NULL, goodix_ts_irq_handler,
ts->irq_flags, ts->client->name, ts);
--
2.7.4
On Wed, Nov 27, 2019 at 11:29:01AM +0100, Yannick Fertre wrote:
> From: Yannick Fertr? <[email protected]>
>
> Convert gpio to irq if not already done by gpio lib.
No, please make sure that dts specifies "interrupts" property. It is
marked as "required" in the binding.
Thanks.
--
Dmitry