Add the new flags argument to calls of (devm_)gpiod_get*() and remove any direction setting code afterwards.
Currently both forms (with or without the flags argument) are valid thanks to transitional macros in <linux/gpio/consumer.h>. These macros will be removed once all consumers are updated and the flags argument will become compulsary.
Signed-off-by: Alexandre Courbot acourbot@nvidia.com --- drivers/gpu/drm/panel/panel-s6e8aa0.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/drivers/gpu/drm/panel/panel-s6e8aa0.c b/drivers/gpu/drm/panel/panel-s6e8aa0.c index b5217fe37f02..6427aa187735 100644 --- a/drivers/gpu/drm/panel/panel-s6e8aa0.c +++ b/drivers/gpu/drm/panel/panel-s6e8aa0.c @@ -1019,17 +1019,12 @@ static int s6e8aa0_probe(struct mipi_dsi_device *dsi) return ret; }
- ctx->reset_gpio = devm_gpiod_get(dev, "reset"); + ctx->reset_gpio = devm_gpiod_get(dev, "reset", GPIOD_OUT_HIGH); if (IS_ERR(ctx->reset_gpio)) { dev_err(dev, "cannot get reset-gpios %ld\n", PTR_ERR(ctx->reset_gpio)); return PTR_ERR(ctx->reset_gpio); } - ret = gpiod_direction_output(ctx->reset_gpio, 1); - if (ret < 0) { - dev_err(dev, "cannot configure reset-gpios %d\n", ret); - return ret; - }
ctx->brightness = GAMMA_LEVEL_NUM - 1;
Add the new flags argument to calls of (devm_)gpiod_get*() and remove any direction setting code afterwards.
Currently both forms (with or without the flags argument) are valid thanks to transitional macros in <linux/gpio/consumer.h>. These macros will be removed once all consumers are updated and the flags argument will become compulsary.
Signed-off-by: Alexandre Courbot acourbot@nvidia.com --- drivers/gpu/drm/panel/panel-simple.c | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-)
diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c index 23de22f8c820..83d93062930d 100644 --- a/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c @@ -247,21 +247,14 @@ static int panel_simple_probe(struct device *dev, const struct panel_desc *desc) if (IS_ERR(panel->supply)) return PTR_ERR(panel->supply);
- panel->enable_gpio = devm_gpiod_get_optional(dev, "enable"); + panel->enable_gpio = devm_gpiod_get_optional(dev, "enable", + GPIOD_OUT_LOW); if (IS_ERR(panel->enable_gpio)) { err = PTR_ERR(panel->enable_gpio); dev_err(dev, "failed to request GPIO: %d\n", err); return err; }
- if (panel->enable_gpio) { - err = gpiod_direction_output(panel->enable_gpio, 0); - if (err < 0) { - dev_err(dev, "failed to setup GPIO: %d\n", err); - return err; - } - } - backlight = of_parse_phandle(dev->of_node, "backlight", 0); if (backlight) { panel->backlight = of_find_backlight_by_node(backlight);
On Thu, Oct 23, 2014 at 5:16 PM, Alexandre Courbot acourbot@nvidia.com wrote:
Thierry, are you ok with this patch?
On 10/23/2014 10:16 AM, Alexandre Courbot wrote:
It needs patch "gpio: Fix gpio direction flags not getting set" to work correctly. It is not yet present in drm-next. Beside this:
Acked-by: Andrzej Hajda a.hajda@samsung.com
-- Regards Andrzej
On Thu, Oct 23, 2014 at 6:46 PM, Andrzej Hajda a.hajda@samsung.com wrote:
The required patch is now merged, can we go on with this patch?
dri-devel@lists.freedesktop.org