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