Message ID | 1344332372-9287-2-git-send-email-jason77.wang@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
OK, will add it in the V2. Thanks, Hui. Zhang Jiejing-B33651 wrote: > Hi Hui, > > You patch looks good to me, but can you add a check when it calling the egalax_wake_up_device() function in egalax_ts_probe() ? If some configure gose wrong, the probe of driver will exit, rather than the suspend failure every time. > > BR, > Jiejing > ? 2012-8-7???5:39?Hui Wang <jason77.wang@gmail.com> ??? > > >> The irq_to_gpio() is old, most platforms use GENERIC_GPIO framework and >> don't support this API anymore. >> >> The i.MX6q sabrelite platform equips an egalax touchscreen controller, >> and this platform already transfered to GENERIC_GPIO framework, to >> support this driver, we use a more generic way to get gpio. >> >> Signed-off-by: Hui Wang <jason77.wang@gmail.com> >> --- >> drivers/input/touchscreen/egalax_ts.c | 12 ++++++++++-- >> 1 files changed, 10 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/input/touchscreen/egalax_ts.c b/drivers/input/touchscreen/egalax_ts.c >> index 70524dd..b94eb50 100644 >> --- a/drivers/input/touchscreen/egalax_ts.c >> +++ b/drivers/input/touchscreen/egalax_ts.c >> @@ -28,6 +28,7 @@ >> #include <linux/slab.h> >> #include <linux/bitops.h> >> #include <linux/input/mt.h> >> +#include <linux/of_gpio.h> >> >> /* >> * Mouse Mode: some panel may configure the controller to mouse mode, >> @@ -122,8 +123,15 @@ static irqreturn_t egalax_ts_interrupt(int irq, void *dev_id) >> /* wake up controller by an falling edge of interrupt gpio. */ >> static int egalax_wake_up_device(struct i2c_client *client) >> { >> - int gpio = irq_to_gpio(client->irq); >> - int ret; >> + struct device_node *np = client->dev.of_node; >> + int gpio, ret; >> + >> + if (!np) >> + return -ENODEV; >> + >> + gpio = of_get_named_gpio(np, "irq-gpio", 0); >> + if (!gpio_is_valid(gpio)) >> + return -ENODEV; >> >> ret = gpio_request(gpio, "egalax_irq"); >> if (ret < 0) { >> -- >> 1.7.6 >> >> >> > > -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/input/touchscreen/egalax_ts.c b/drivers/input/touchscreen/egalax_ts.c index 70524dd..b94eb50 100644 --- a/drivers/input/touchscreen/egalax_ts.c +++ b/drivers/input/touchscreen/egalax_ts.c @@ -28,6 +28,7 @@ #include <linux/slab.h> #include <linux/bitops.h> #include <linux/input/mt.h> +#include <linux/of_gpio.h> /* * Mouse Mode: some panel may configure the controller to mouse mode, @@ -122,8 +123,15 @@ static irqreturn_t egalax_ts_interrupt(int irq, void *dev_id) /* wake up controller by an falling edge of interrupt gpio. */ static int egalax_wake_up_device(struct i2c_client *client) { - int gpio = irq_to_gpio(client->irq); - int ret; + struct device_node *np = client->dev.of_node; + int gpio, ret; + + if (!np) + return -ENODEV; + + gpio = of_get_named_gpio(np, "irq-gpio", 0); + if (!gpio_is_valid(gpio)) + return -ENODEV; ret = gpio_request(gpio, "egalax_irq"); if (ret < 0) {
The irq_to_gpio() is old, most platforms use GENERIC_GPIO framework and don't support this API anymore. The i.MX6q sabrelite platform equips an egalax touchscreen controller, and this platform already transfered to GENERIC_GPIO framework, to support this driver, we use a more generic way to get gpio. Signed-off-by: Hui Wang <jason77.wang@gmail.com> --- drivers/input/touchscreen/egalax_ts.c | 12 ++++++++++-- 1 files changed, 10 insertions(+), 2 deletions(-)