drm/msm/dp: use flags argument of devm_gpiod_get to set direction
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Mon, 6 Jul 2015 09:09:41 +0000 (11:09 +0200)
committerRob Clark <robdclark@gmail.com>
Sat, 15 Aug 2015 22:27:18 +0000 (18:27 -0400)
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.

Acked-by: Alexandre Courbot <acourbot@nvidia.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Rob Clark <robdclark@gmail.com>
drivers/gpu/drm/msm/edp/edp_ctrl.c

index 7991069dd492ada6ce2eb5ef0df979fe9c1cd431..81200e9be3821c9c87db1a26d46318d133378ba8 100644 (file)
@@ -373,7 +373,7 @@ static int edp_gpio_config(struct edp_ctrl *ctrl)
        struct device *dev = &ctrl->pdev->dev;
        int ret;
 
-       ctrl->panel_hpd_gpio = devm_gpiod_get(dev, "panel-hpd");
+       ctrl->panel_hpd_gpio = devm_gpiod_get(dev, "panel-hpd", GPIOD_IN);
        if (IS_ERR(ctrl->panel_hpd_gpio)) {
                ret = PTR_ERR(ctrl->panel_hpd_gpio);
                ctrl->panel_hpd_gpio = NULL;
@@ -381,13 +381,7 @@ static int edp_gpio_config(struct edp_ctrl *ctrl)
                return ret;
        }
 
-       ret = gpiod_direction_input(ctrl->panel_hpd_gpio);
-       if (ret) {
-               pr_err("%s: Set direction for hpd failed, %d\n", __func__, ret);
-               return ret;
-       }
-
-       ctrl->panel_en_gpio = devm_gpiod_get(dev, "panel-en");
+       ctrl->panel_en_gpio = devm_gpiod_get(dev, "panel-en", GPIOD_OUT_LOW);
        if (IS_ERR(ctrl->panel_en_gpio)) {
                ret = PTR_ERR(ctrl->panel_en_gpio);
                ctrl->panel_en_gpio = NULL;
@@ -395,13 +389,6 @@ static int edp_gpio_config(struct edp_ctrl *ctrl)
                return ret;
        }
 
-       ret = gpiod_direction_output(ctrl->panel_en_gpio, 0);
-       if (ret) {
-               pr_err("%s: Set direction for panel_en failed, %d\n",
-                               __func__, ret);
-               return ret;
-       }
-
        DBG("gpio on");
 
        return 0;