All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] SoC: sta32x: use devm_gpiod_get_optional for optional reset gpio
@ 2015-05-19  6:54 Uwe Kleine-König
  2015-05-20 18:08 ` Mark Brown
  0 siblings, 1 reply; 2+ messages in thread
From: Uwe Kleine-König @ 2015-05-19  6:54 UTC (permalink / raw)
  To: Mark Brown, Liam Girdwood; +Cc: alsa-devel, kernel, Thomas Niederprüm

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.

Also there is a variant to find optional gpios that returns NULL if
there is no gpio instead of -ENOENT.

Make use of both features to simplify the driver.

This changes behaviour if gpiod_get returns -ENOSYS which is the case if
CONFIG_GPIOLIB is not enabled. This is a good change because without
GPIOLIB there is no way to determine if the reset gpio is specified in
the device tree. And if it is it must be handled, so erroring out is the
right thing to do.

Furthermore this is one caller less that stops us making the flags
argument to gpiod_get*() mandatory.

Fixes: b66a29808e1f ("ASoC: sta32x: make sta32x a gpio consumer for the reset GPIO")
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
 sound/soc/codecs/sta32x.c | 14 ++++----------
 1 file changed, 4 insertions(+), 10 deletions(-)

diff --git a/sound/soc/codecs/sta32x.c b/sound/soc/codecs/sta32x.c
index 007a0e3bc273..0111baf9a5d4 100644
--- a/sound/soc/codecs/sta32x.c
+++ b/sound/soc/codecs/sta32x.c
@@ -1096,16 +1096,10 @@ static int sta32x_i2c_probe(struct i2c_client *i2c,
 #endif
 
 	/* GPIOs */
-	sta32x->gpiod_nreset = devm_gpiod_get(dev, "reset");
-	if (IS_ERR(sta32x->gpiod_nreset)) {
-		ret = PTR_ERR(sta32x->gpiod_nreset);
-		if (ret != -ENOENT && ret != -ENOSYS)
-			return ret;
-
-		sta32x->gpiod_nreset = NULL;
-	} else {
-		gpiod_direction_output(sta32x->gpiod_nreset, 0);
-	}
+	sta32x->gpiod_nreset = devm_gpiod_get_optional(dev, "reset",
+						       GPIOD_OUT_LOW);
+	if (IS_ERR(sta32x->gpiod_nreset))
+		return PTR_ERR(sta32x->gpiod_nreset);
 
 	/* regulators */
 	for (i = 0; i < ARRAY_SIZE(sta32x->supplies); i++)
-- 
2.1.4

_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] SoC: sta32x: use devm_gpiod_get_optional for optional reset gpio
  2015-05-19  6:54 [PATCH] SoC: sta32x: use devm_gpiod_get_optional for optional reset gpio Uwe Kleine-König
@ 2015-05-20 18:08 ` Mark Brown
  0 siblings, 0 replies; 2+ messages in thread
From: Mark Brown @ 2015-05-20 18:08 UTC (permalink / raw)
  To: Uwe Kleine-König
  Cc: kernel, alsa-devel, Liam Girdwood, Thomas Niederprüm


[-- Attachment #1.1: Type: text/plain, Size: 381 bytes --]

On Tue, May 19, 2015 at 08:54:27AM +0200, 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.

Applied, thanks.  Please use subject liens reflecting the style for the
subsystem.

[-- Attachment #1.2: Digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

[-- Attachment #2: Type: text/plain, Size: 0 bytes --]



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2015-05-20 18:08 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-05-19  6:54 [PATCH] SoC: sta32x: use devm_gpiod_get_optional for optional reset gpio Uwe Kleine-König
2015-05-20 18:08 ` Mark Brown

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.