* [PATCH 0/2] Input: egalax_ts: parse devicetree to get gpio @ 2012-08-07 9:39 Hui Wang 2012-08-07 9:39 ` [PATCH 1/2] Input: egalax_ts: get gpio from devicetree node Hui Wang 0 siblings, 1 reply; 5+ messages in thread From: Hui Wang @ 2012-08-07 9:39 UTC (permalink / raw) To: dmitry.torokhov, jiejing.zhang; +Cc: linux-input, devicetree-discuss eeti touch screen controller is an external chip for most platforms, it connect to CPU via i2c bus, and it has a irq request pin need to be connected to a gpio of the CPU, this irq request pin also act as a wake up signal for touch screen controller, we need to get this gpio number and operate it to wake up the controller, the old way to get gpio is irq_to_gpio(), this API is dying and most platforms don't support it, we change it to a more generic way to use devcietree. Hui Wang (2): Input: egalax_ts: get gpio from devicetree node Input: add devicetree binding note for egalax_ts .../bindings/input/touchscreen/egalax-ts.txt | 17 +++++++++++++++++ drivers/input/touchscreen/egalax_ts.c | 12 ++++++++++-- 2 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 Documentation/devicetree/bindings/input/touchscreen/egalax-ts.txt -- 1.7.6 ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/2] Input: egalax_ts: get gpio from devicetree node 2012-08-07 9:39 [PATCH 0/2] Input: egalax_ts: parse devicetree to get gpio Hui Wang @ 2012-08-07 9:39 ` Hui Wang 2012-08-07 9:39 ` [PATCH 2/2] Input: add devicetree binding note for egalax_ts Hui Wang 2012-08-08 3:44 ` [PATCH 1/2] Input: egalax_ts: get gpio from devicetree node Zhang Jiejing-B33651 0 siblings, 2 replies; 5+ messages in thread From: Hui Wang @ 2012-08-07 9:39 UTC (permalink / raw) To: dmitry.torokhov, jiejing.zhang; +Cc: linux-input, devicetree-discuss 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 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/2] Input: add devicetree binding note for egalax_ts 2012-08-07 9:39 ` [PATCH 1/2] Input: egalax_ts: get gpio from devicetree node Hui Wang @ 2012-08-07 9:39 ` Hui Wang 2012-08-08 3:44 ` [PATCH 1/2] Input: egalax_ts: get gpio from devicetree node Zhang Jiejing-B33651 1 sibling, 0 replies; 5+ messages in thread From: Hui Wang @ 2012-08-07 9:39 UTC (permalink / raw) To: dmitry.torokhov, jiejing.zhang; +Cc: linux-input, devicetree-discuss The egalax_ts driver needs to get the gpio number of the irq pin, and use this gpio to wake up the controller. So add a note for this change. Signed-off-by: Hui Wang <jason77.wang@gmail.com> --- .../bindings/input/touchscreen/egalax-ts.txt | 17 +++++++++++++++++ 1 files changed, 17 insertions(+), 0 deletions(-) create mode 100644 Documentation/devicetree/bindings/input/touchscreen/egalax-ts.txt diff --git a/Documentation/devicetree/bindings/input/touchscreen/egalax-ts.txt b/Documentation/devicetree/bindings/input/touchscreen/egalax-ts.txt new file mode 100644 index 0000000..5dd8213 --- /dev/null +++ b/Documentation/devicetree/bindings/input/touchscreen/egalax-ts.txt @@ -0,0 +1,17 @@ +* EETI eGalax Multiple Touch Controller + +Required properties: +- compatible: must be "eeti,egalax_ts" +- reg: i2c slave address +- interrupts: touch controller interrupt +- irq-gpio : the gpio pin to be used for irq + +Example: + + egalax_ts@04 { + compatible = "eeti,egalax_ts"; + reg = <0x04>; + interrupt-parent = <&gpio1>; + interrupts = <9 2>; + irq-gpio = <&gpio1 9 0>; + }; -- 1.7.6 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2] Input: egalax_ts: get gpio from devicetree node 2012-08-07 9:39 ` [PATCH 1/2] Input: egalax_ts: get gpio from devicetree node Hui Wang 2012-08-07 9:39 ` [PATCH 2/2] Input: add devicetree binding note for egalax_ts Hui Wang @ 2012-08-08 3:44 ` Zhang Jiejing-B33651 2012-08-08 5:35 ` Hui Wang 1 sibling, 1 reply; 5+ messages in thread From: Zhang Jiejing-B33651 @ 2012-08-08 3:44 UTC (permalink / raw) To: Hui Wang Cc: <dmitry.torokhov@gmail.com>, Zhang Jiejing-B33651, <linux-input@vger.kernel.org>, <devicetree-discuss@lists.ozlabs.org> 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 > > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2] Input: egalax_ts: get gpio from devicetree node 2012-08-08 3:44 ` [PATCH 1/2] Input: egalax_ts: get gpio from devicetree node Zhang Jiejing-B33651 @ 2012-08-08 5:35 ` Hui Wang 0 siblings, 0 replies; 5+ messages in thread From: Hui Wang @ 2012-08-08 5:35 UTC (permalink / raw) To: Zhang Jiejing-B33651 Cc: Hui Wang, <dmitry.torokhov@gmail.com>, <linux-input@vger.kernel.org>, <devicetree-discuss@lists.ozlabs.org> 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 ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2012-08-08 5:35 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2012-08-07 9:39 [PATCH 0/2] Input: egalax_ts: parse devicetree to get gpio Hui Wang 2012-08-07 9:39 ` [PATCH 1/2] Input: egalax_ts: get gpio from devicetree node Hui Wang 2012-08-07 9:39 ` [PATCH 2/2] Input: add devicetree binding note for egalax_ts Hui Wang 2012-08-08 3:44 ` [PATCH 1/2] Input: egalax_ts: get gpio from devicetree node Zhang Jiejing-B33651 2012-08-08 5:35 ` Hui Wang
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).