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@xxxxxxxxx> 写道: > > >> 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@xxxxxxxxx> >> --- >> 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@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html