diff mbox

drm/bridge/ptn3460: use flags argument of devm_gpiod_get to set direction

Message ID 1432019756-15132-1-git-send-email-u.kleine-koenig@pengutronix.de (mailing list archive)
State Accepted, archived
Commit c06ea0ada75b
Headers show

Commit Message

Uwe Kleine-König May 19, 2015, 7:15 a.m. UTC
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.

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

Fixes: af478d8823a7 ("drm/bridge: ptn3460: use gpiod interface")
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
 drivers/gpu/drm/bridge/ptn3460.c | 23 +++++++----------------
 1 file changed, 7 insertions(+), 16 deletions(-)

Comments

Thierry Reding May 19, 2015, 8:09 a.m. UTC | #1
On Tue, May 19, 2015 at 09:15:56AM +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.
> 
> Use this to simplify the driver. Furthermore this is one caller less
> that stops us making the flags argument to gpiod_get*() mandatory.
> 
> Fixes: af478d8823a7 ("drm/bridge: ptn3460: use gpiod interface")
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> ---
>  drivers/gpu/drm/bridge/ptn3460.c | 23 +++++++----------------
>  1 file changed, 7 insertions(+), 16 deletions(-)

Applied without the "Fixes:" line.

Thanks,
Thierry
diff mbox

Patch

diff --git a/drivers/gpu/drm/bridge/ptn3460.c b/drivers/gpu/drm/bridge/ptn3460.c
index 9d2f053382e1..c70abbe166b6 100644
--- a/drivers/gpu/drm/bridge/ptn3460.c
+++ b/drivers/gpu/drm/bridge/ptn3460.c
@@ -330,32 +330,23 @@  static int ptn3460_probe(struct i2c_client *client,
 
 	ptn_bridge->client = client;
 
-	ptn_bridge->gpio_pd_n = devm_gpiod_get(&client->dev, "powerdown");
+	ptn_bridge->gpio_pd_n = devm_gpiod_get(&client->dev, "powerdown",
+					       GPIOD_OUT_HIGH);
 	if (IS_ERR(ptn_bridge->gpio_pd_n)) {
 		ret = PTR_ERR(ptn_bridge->gpio_pd_n);
 		dev_err(dev, "cannot get gpio_pd_n %d\n", ret);
 		return ret;
 	}
 
-	ret = gpiod_direction_output(ptn_bridge->gpio_pd_n, 1);
-	if (ret) {
-		DRM_ERROR("cannot configure gpio_pd_n\n");
-		return ret;
-	}
-
-	ptn_bridge->gpio_rst_n = devm_gpiod_get(&client->dev, "reset");
-	if (IS_ERR(ptn_bridge->gpio_rst_n)) {
-		ret = PTR_ERR(ptn_bridge->gpio_rst_n);
-		DRM_ERROR("cannot get gpio_rst_n %d\n", ret);
-		return ret;
-	}
 	/*
 	 * Request the reset pin low to avoid the bridge being
 	 * initialized prematurely
 	 */
-	ret = gpiod_direction_output(ptn_bridge->gpio_rst_n, 0);
-	if (ret) {
-		DRM_ERROR("cannot configure gpio_rst_n\n");
+	ptn_bridge->gpio_rst_n = devm_gpiod_get(&client->dev, "reset",
+						GPIOD_OUT_LOW);
+	if (IS_ERR(ptn_bridge->gpio_rst_n)) {
+		ret = PTR_ERR(ptn_bridge->gpio_rst_n);
+		DRM_ERROR("cannot get gpio_rst_n %d\n", ret);
 		return ret;
 	}