All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] input: improve usage of gpiod API
@ 2015-02-18 10:47 Uwe Kleine-König
  2015-03-06 10:54 ` Linus Walleij
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Uwe Kleine-König @ 2015-02-18 10:47 UTC (permalink / raw)
  To: Dmitry Torokhov
  Cc: linux-input, kernel, Alexandre Courbot, Linus Walleij, Mark Brown

Since 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions)
which appeared in v3.17-rc1, the gpiod_get* functions take an additional
parameter that allows to specify direction and initial value for
output. Simplify drivers accordingly.

Note that in the case of the drv260x driver error checking is more
strict now because -ENOSYS is reported to the caller now. But this
should only be returned if GPIOLIB is disabled which shouldn't happen as
the driver depends on GPIOLIB.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
 drivers/input/keyboard/clps711x-keypad.c |  7 +------
 drivers/input/misc/drv260x.c             | 13 ++++---------
 drivers/input/misc/gpio-beeper.c         |  7 +------
 3 files changed, 6 insertions(+), 21 deletions(-)

diff --git a/drivers/input/keyboard/clps711x-keypad.c b/drivers/input/keyboard/clps711x-keypad.c
index 27ef29f8fe6a..b637f1af842e 100644
--- a/drivers/input/keyboard/clps711x-keypad.c
+++ b/drivers/input/keyboard/clps711x-keypad.c
@@ -120,14 +120,9 @@ static int clps711x_keypad_probe(struct platform_device *pdev)
 	for (i = 0; i < priv->row_count; i++) {
 		struct clps711x_gpio_data *data = &priv->gpio_data[i];
 
-		data->desc = devm_gpiod_get_index(dev, "row", i);
-		if (!data->desc)
-			return -EINVAL;
-
+		data->desc = devm_gpiod_get_index(dev, "row", i, GPIOD_IN);
 		if (IS_ERR(data->desc))
 			return PTR_ERR(data->desc);
-
-		gpiod_direction_input(data->desc);
 	}
 
 	err = of_property_read_u32(np, "poll-interval", &poll_interval);
diff --git a/drivers/input/misc/drv260x.c b/drivers/input/misc/drv260x.c
index 599578042ea0..e5d60ecd29a4 100644
--- a/drivers/input/misc/drv260x.c
+++ b/drivers/input/misc/drv260x.c
@@ -580,15 +580,10 @@ static int drv260x_probe(struct i2c_client *client,
 		return error;
 	}
 
-	haptics->enable_gpio = devm_gpiod_get(&client->dev, "enable");
-	if (IS_ERR(haptics->enable_gpio)) {
-		error = PTR_ERR(haptics->enable_gpio);
-		if (error != -ENOENT && error != -ENOSYS)
-			return error;
-		haptics->enable_gpio = NULL;
-	} else {
-		gpiod_direction_output(haptics->enable_gpio, 1);
-	}
+	haptics->enable_gpio = devm_gpiod_get_optional(&client->dev, "enable",
+						       GPIOD_OUT_HIGH);
+	if (IS_ERR(haptics->enable_gpio))
+		return PTR_ERR(haptics->enable_gpio);
 
 	haptics->input_dev = devm_input_allocate_device(&client->dev);
 	if (!haptics->input_dev) {
diff --git a/drivers/input/misc/gpio-beeper.c b/drivers/input/misc/gpio-beeper.c
index 4817c5f0c3e4..16272fffeb7e 100644
--- a/drivers/input/misc/gpio-beeper.c
+++ b/drivers/input/misc/gpio-beeper.c
@@ -66,13 +66,12 @@ static int gpio_beeper_probe(struct platform_device *pdev)
 {
 	struct gpio_beeper *beep;
 	struct input_dev *input;
-	int err;
 
 	beep = devm_kzalloc(&pdev->dev, sizeof(*beep), GFP_KERNEL);
 	if (!beep)
 		return -ENOMEM;
 
-	beep->desc = devm_gpiod_get(&pdev->dev, NULL);
+	beep->desc = devm_gpiod_get(&pdev->dev, NULL, GPIOD_OUT_LOW);
 	if (IS_ERR(beep->desc))
 		return PTR_ERR(beep->desc);
 
@@ -92,10 +91,6 @@ static int gpio_beeper_probe(struct platform_device *pdev)
 
 	input_set_capability(input, EV_SND, SND_BELL);
 
-	err = gpiod_direction_output(beep->desc, 0);
-	if (err)
-		return err;
-
 	input_set_drvdata(input, beep);
 
 	return input_register_device(input);
-- 
2.1.4

--
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 related	[flat|nested] 5+ messages in thread

* Re: [PATCH] input: improve usage of gpiod API
  2015-02-18 10:47 [PATCH] input: improve usage of gpiod API Uwe Kleine-König
@ 2015-03-06 10:54 ` Linus Walleij
  2015-05-18 19:34 ` Uwe Kleine-König
  2015-06-15 20:38 ` Uwe Kleine-König
  2 siblings, 0 replies; 5+ messages in thread
From: Linus Walleij @ 2015-03-06 10:54 UTC (permalink / raw)
  To: Uwe Kleine-König
  Cc: Dmitry Torokhov, Linux Input, Sascha Hauer, Alexandre Courbot,
	Mark Brown

On Wed, Feb 18, 2015 at 11:47 AM, Uwe Kleine-König
<u.kleine-koenig@pengutronix.de> wrote:

> Since 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions)
> which appeared in v3.17-rc1, the gpiod_get* functions take an additional
> parameter that allows to specify direction and initial value for
> output. Simplify drivers accordingly.
>
> Note that in the case of the drv260x driver error checking is more
> strict now because -ENOSYS is reported to the caller now. But this
> should only be returned if GPIOLIB is disabled which shouldn't happen as
> the driver depends on GPIOLIB.
>
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>

Thanks a lot for your hard work on this.

Yours,
Linus Walleij
--
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

* Re: [PATCH] input: improve usage of gpiod API
  2015-02-18 10:47 [PATCH] input: improve usage of gpiod API Uwe Kleine-König
  2015-03-06 10:54 ` Linus Walleij
@ 2015-05-18 19:34 ` Uwe Kleine-König
  2015-06-15 20:38 ` Uwe Kleine-König
  2 siblings, 0 replies; 5+ messages in thread
From: Uwe Kleine-König @ 2015-05-18 19:34 UTC (permalink / raw)
  To: Dmitry Torokhov
  Cc: linux-input, kernel, Alexandre Courbot, Linus Walleij, Mark Brown

Hello Dmitry,

On Wed, Feb 18, 2015 at 11:47:13AM +0100, Uwe Kleine-König wrote:
> Since 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions)
> which appeared in v3.17-rc1, the gpiod_get* functions take an additional
> parameter that allows to specify direction and initial value for
> output. Simplify drivers accordingly.
> 
> Note that in the case of the drv260x driver error checking is more
> strict now because -ENOSYS is reported to the caller now. But this
> should only be returned if GPIOLIB is disabled which shouldn't happen as
> the driver depends on GPIOLIB.
> 
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
gentle ping

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
--
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

* Re: [PATCH] input: improve usage of gpiod API
  2015-02-18 10:47 [PATCH] input: improve usage of gpiod API Uwe Kleine-König
  2015-03-06 10:54 ` Linus Walleij
  2015-05-18 19:34 ` Uwe Kleine-König
@ 2015-06-15 20:38 ` Uwe Kleine-König
  2015-06-17  0:06   ` Dmitry Torokhov
  2 siblings, 1 reply; 5+ messages in thread
From: Uwe Kleine-König @ 2015-06-15 20:38 UTC (permalink / raw)
  To: Dmitry Torokhov
  Cc: linux-input, kernel, Alexandre Courbot, Linus Walleij, Mark Brown

Hello Dmitry,

On Wed, Feb 18, 2015 at 11:47:13AM +0100, Uwe Kleine-König wrote:
> Since 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions)
> which appeared in v3.17-rc1, the gpiod_get* functions take an additional
> parameter that allows to specify direction and initial value for
> output. Simplify drivers accordingly.
> 
> Note that in the case of the drv260x driver error checking is more
> strict now because -ENOSYS is reported to the caller now. But this
> should only be returned if GPIOLIB is disabled which shouldn't happen as
> the driver depends on GPIOLIB.
> 
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> ---
>  drivers/input/keyboard/clps711x-keypad.c |  7 +------
>  drivers/input/misc/drv260x.c             | 13 ++++---------
>  drivers/input/misc/gpio-beeper.c         |  7 +------
>  3 files changed, 6 insertions(+), 21 deletions(-)
are you willing to take this? I intend to make the flags parameter
mandatory for 4.3 and so if this change doesn't make it into 4.2-rc1,
would it be ok for you if I send it as part of the series that makes
flags required?

Best regards
Uwe


-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
--
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

* Re: [PATCH] input: improve usage of gpiod API
  2015-06-15 20:38 ` Uwe Kleine-König
@ 2015-06-17  0:06   ` Dmitry Torokhov
  0 siblings, 0 replies; 5+ messages in thread
From: Dmitry Torokhov @ 2015-06-17  0:06 UTC (permalink / raw)
  To: Uwe Kleine-König
  Cc: linux-input, kernel, Alexandre Courbot, Linus Walleij, Mark Brown

On Mon, Jun 15, 2015 at 10:38:47PM +0200, Uwe Kleine-König wrote:
> Hello Dmitry,
> 
> On Wed, Feb 18, 2015 at 11:47:13AM +0100, Uwe Kleine-König wrote:
> > Since 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions)
> > which appeared in v3.17-rc1, the gpiod_get* functions take an additional
> > parameter that allows to specify direction and initial value for
> > output. Simplify drivers accordingly.
> > 
> > Note that in the case of the drv260x driver error checking is more
> > strict now because -ENOSYS is reported to the caller now. But this
> > should only be returned if GPIOLIB is disabled which shouldn't happen as
> > the driver depends on GPIOLIB.
> > 
> > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> > ---
> >  drivers/input/keyboard/clps711x-keypad.c |  7 +------
> >  drivers/input/misc/drv260x.c             | 13 ++++---------
> >  drivers/input/misc/gpio-beeper.c         |  7 +------
> >  3 files changed, 6 insertions(+), 21 deletions(-)
> are you willing to take this? I intend to make the flags parameter
> mandatory for 4.3 and so if this change doesn't make it into 4.2-rc1,
> would it be ok for you if I send it as part of the series that makes
> flags required?

Yes, I am sorry, applied now.

Thanks.

-- 
Dmitry
--
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:[~2015-06-17  0:06 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-02-18 10:47 [PATCH] input: improve usage of gpiod API Uwe Kleine-König
2015-03-06 10:54 ` Linus Walleij
2015-05-18 19:34 ` Uwe Kleine-König
2015-06-15 20:38 ` Uwe Kleine-König
2015-06-17  0:06   ` Dmitry Torokhov

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.