Commit ca8c67da authored by Uwe Kleine-König's avatar Uwe Kleine-König Committed by Tomi Valkeinen
Browse files

fbdev: omap2: improve usage of gpiod API



Since 39b2bbe3 (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 make use of gpiod_get*_optional where applicable.

Apart from simplification of the affected drivers this is another step
towards making the flags argument to gpiod_get*() mandatory.

Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
parent 9ccfc4aa
Loading
Loading
Loading
Loading
+3 −9
Original line number Diff line number Diff line
@@ -201,16 +201,10 @@ static int opa362_probe(struct platform_device *pdev)

	platform_set_drvdata(pdev, ddata);

	gpio = devm_gpiod_get(&pdev->dev, "enable");
	if (IS_ERR(gpio)) {
		if (PTR_ERR(gpio) != -ENOENT)
	gpio = devm_gpiod_get_optional(&pdev->dev, "enable", GPIOD_OUT_LOW);
	if (IS_ERR(gpio))
		return PTR_ERR(gpio);

		gpio = NULL;
	} else {
		gpiod_direction_output(gpio, 0);
	}

	ddata->enable_gpio = gpio;

	in = omapdss_of_find_source_for_first_ep(node);
+3 −10
Original line number Diff line number Diff line
@@ -209,16 +209,9 @@ static int panel_dpi_probe_of(struct platform_device *pdev)
	struct videomode vm;
	struct gpio_desc *gpio;

	gpio = devm_gpiod_get(&pdev->dev, "enable");

	if (IS_ERR(gpio)) {
		if (PTR_ERR(gpio) != -ENOENT)
	gpio = devm_gpiod_get_optional(&pdev->dev, "enable", GPIOD_OUT_LOW);
	if (IS_ERR(gpio))
		return PTR_ERR(gpio);
		else
			gpio = NULL;
	} else {
		gpiod_direction_output(gpio, 0);
	}

	ddata->enable_gpio = gpio;

+3 −4
Original line number Diff line number Diff line
@@ -285,15 +285,14 @@ static int lb035q02_probe_of(struct spi_device *spi)
	struct omap_dss_device *in;
	struct gpio_desc *gpio;

	gpio = devm_gpiod_get(&spi->dev, "enable");
	gpio = devm_gpiod_get(&spi->dev, "enable", GPIOD_OUT_LOW);
	if (IS_ERR(gpio)) {
		dev_err(&spi->dev, "failed to parse enable gpio\n");
		return PTR_ERR(gpio);
	} else {
		gpiod_direction_output(gpio, 0);
		ddata->enable_gpio = gpio;
	}

	ddata->enable_gpio = gpio;

	ddata->backlight_gpio = -ENOENT;

	in = omapdss_of_find_source_for_first_ep(node);
+2 −7
Original line number Diff line number Diff line
@@ -268,17 +268,12 @@ static int sharp_ls_get_gpio_of(struct device *dev, int index, int val,
	const char *desc, struct gpio_desc **gpiod)
{
	struct gpio_desc *gd;
	int r;

	*gpiod = NULL;

	gd = devm_gpiod_get_index(dev, desc, index);
	gd = devm_gpiod_get_index(dev, desc, index, GPIOD_OUT_LOW);
	if (IS_ERR(gd))
		return PTR_ERR(gd) == -ENOENT ? 0 : PTR_ERR(gd);

	r = gpiod_direction_output(gd, val);
	if (r)
		return r;
		return PTR_ERR(gd);

	*gpiod = gd;
	return 0;