On Wed, Jun 24, 2015 at 07:18:38AM +0200, Dirk Behme wrote:
> On 17.06.2015 01:57, Dmitry Torokhov wrote:
> >On Mon, Jun 15, 2015 at 07:54:25AM +0200, Dirk Behme wrote:
> >>From: Knut Wohlrab <[email protected]>
> >>
> >>According to
> >>
> >>Documentation/devicetree/bindings/input/touchscreen/zforce_ts.txt
> >>
> >>the RST GPIO is supposed to provide a polarity flag parameter
> >>
> >>gpios = <&GPIO_BANK GPIO_NUMBER GPIO_POLARITY>
> >>
> >>with GPIO_POLARITY
> >>
> >>reset active low = 1 (GPIO_ACTIVE_LOW)
> >>reset active high = 0 (GPIO_ACTIVE_HIGH)
> >>
> >>Example for GPIO_ACTIVE_LOW (1) reset GPIO:
> >>
> >> zforce_ts@50 { /* Neonode zForce I2C */
> >> compatible = "neonode,zforce-ts";
> >> ...
> >> gpios = <&gpio6 14 GPIO_ACTIVE_HIGH>, /* INT */
> >> <&gpio1 29 GPIO_ACTIVE_LOW>; /* RST */
> >> ...
> >> };
> >>
> >>Add the missing polarity flag evaluation to the driver.
> >>
> >>Signed-off-by: Knut Wohlrab <[email protected]>
> >>Signed-off-by: Oleksij Rempel <[email protected]>
> >>Signed-off-by: Dirk Behme <[email protected]>
> >>---
> >> drivers/input/touchscreen/zforce_ts.c | 27 +++++++++++++++++++++++----
> >> include/linux/platform_data/zforce_ts.h | 3 +++
> >> 2 files changed, 26 insertions(+), 4 deletions(-)
> >>
> >>diff --git a/drivers/input/touchscreen/zforce_ts.c
> >>b/drivers/input/touchscreen/zforce_ts.c
> >>index 19880c7..125311d 100644
> >>--- a/drivers/input/touchscreen/zforce_ts.c
> >>+++ b/drivers/input/touchscreen/zforce_ts.c
> >>@@ -162,6 +162,20 @@ static int zforce_command(struct zforce_ts *ts, u8 cmd)
> >> return 0;
> >> }
> >>
> >>+static void zforce_reset_assert(struct zforce_ts *ts)
> >>+{
> >>+ const struct zforce_ts_platdata *pdata = ts->pdata;
> >>+
> >>+ gpio_set_value(pdata->gpio_rst, pdata->reset_active_low ? 0 : 1);
> >
> >Instead of doing this I'd rather we converted the driver to use gpiod
> >that handles polarity automatically.
>
>
> Thanks, we'll look into that.
>
> Just to understand correctly: Converting this driver to gpiod will
> be an additional patch on top of this patch as it doesn't change any
> functionality provided by this patch, but does some clean up.
> Correct?
No, gpiod understands annotations on gpio descriptions and converts the
logical "active"/"inactive" value into appropriate output depending on
the polarity specified for gpio. So zforce_reset_assert() woudl only
need to do
gpiod_set_value[_cansleep](ts->gpio_rst, 1);
Thanks.
--
Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html