diff mbox series

Input: goodix: request_irq: convert gpio to irq

Message ID 1574850541-13577-1-git-send-email-yannick.fertre@st.com (mailing list archive)
State Rejected
Headers show
Series Input: goodix: request_irq: convert gpio to irq | expand

Commit Message

Yannick FERTRE Nov. 27, 2019, 10:29 a.m. UTC
From: Yannick Fertré <yannick.fertre@st.com>

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(+)

Comments

Dmitry Torokhov Dec. 1, 2019, 3:05 a.m. UTC | #1
On Wed, Nov 27, 2019 at 11:29:01AM +0100, Yannick Fertre wrote:
> From: Yannick Fertré <yannick.fertre@st.com>
> 
> 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.
diff mbox series

Patch

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);