Re: [PATCH] input: zforce_ts: add DT support for reset GPIO polarity

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 <Knut.Wohlrab@xxxxxxxxxxxx>
> >>
> >>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 <Knut.Wohlrab@xxxxxxxxxxxx>
> >>Signed-off-by: Oleksij Rempel <external.Oleksij.Rempel@xxxxxxxxxxxx>
> >>Signed-off-by: Dirk Behme <dirk.behme@xxxxxxxxxxxx>
> >>---
> >>  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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux