drm/tilcdc: panel: make better use of gpiod API
Since 39b2bbe3d7
(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.
Furthermore there is devm_gpiod_get_optional which is designed to get
optional gpios.
Simplify driver accordingly.
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>
This commit is contained in:
parent
89ae3d3b9a
commit
26a5bd2649
|
@ -375,25 +375,17 @@ static int panel_probe(struct platform_device *pdev)
|
||||||
dev_info(&pdev->dev, "found backlight\n");
|
dev_info(&pdev->dev, "found backlight\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
panel_mod->enable_gpio = devm_gpiod_get(&pdev->dev, "enable");
|
panel_mod->enable_gpio = devm_gpiod_get_optional(&pdev->dev, "enable",
|
||||||
|
GPIOD_OUT_LOW);
|
||||||
if (IS_ERR(panel_mod->enable_gpio)) {
|
if (IS_ERR(panel_mod->enable_gpio)) {
|
||||||
ret = PTR_ERR(panel_mod->enable_gpio);
|
ret = PTR_ERR(panel_mod->enable_gpio);
|
||||||
if (ret != -ENOENT) {
|
dev_err(&pdev->dev, "failed to request enable GPIO\n");
|
||||||
dev_err(&pdev->dev, "failed to request enable GPIO\n");
|
goto fail_backlight;
|
||||||
goto fail_backlight;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Optional GPIO is not here, continue silently. */
|
|
||||||
panel_mod->enable_gpio = NULL;
|
|
||||||
} else {
|
|
||||||
ret = gpiod_direction_output(panel_mod->enable_gpio, 0);
|
|
||||||
if (ret < 0) {
|
|
||||||
dev_err(&pdev->dev, "failed to setup GPIO\n");
|
|
||||||
goto fail_backlight;
|
|
||||||
}
|
|
||||||
dev_info(&pdev->dev, "found enable GPIO\n");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (panel_mod->enable_gpio)
|
||||||
|
dev_info(&pdev->dev, "found enable GPIO\n");
|
||||||
|
|
||||||
mod = &panel_mod->base;
|
mod = &panel_mod->base;
|
||||||
pdev->dev.platform_data = mod;
|
pdev->dev.platform_data = mod;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue