diff options
author | Uwe Kleine-König <u.kleine-koenig@pengutronix.de> | 2015-05-28 04:05:15 -0400 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2015-06-03 05:41:53 -0400 |
commit | ca8c67dafdb7eb543015f1f84bb73f4454e41ca6 (patch) | |
tree | 517e5e5eae5e4ef3c2711ebba98796f8847ebefd | |
parent | 9ccfc4aa6939b06c7d0cd1de04949be1eb2b0836 (diff) |
fbdev: omap2: improve usage of gpiod API
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.
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: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
4 files changed, 11 insertions, 30 deletions
diff --git a/drivers/video/fbdev/omap2/displays-new/encoder-opa362.c b/drivers/video/fbdev/omap2/displays-new/encoder-opa362.c index 84a6b3367124..a14d993f719d 100644 --- a/drivers/video/fbdev/omap2/displays-new/encoder-opa362.c +++ b/drivers/video/fbdev/omap2/displays-new/encoder-opa362.c | |||
@@ -201,15 +201,9 @@ static int opa362_probe(struct platform_device *pdev) | |||
201 | 201 | ||
202 | platform_set_drvdata(pdev, ddata); | 202 | platform_set_drvdata(pdev, ddata); |
203 | 203 | ||
204 | gpio = devm_gpiod_get(&pdev->dev, "enable"); | 204 | gpio = devm_gpiod_get_optional(&pdev->dev, "enable", GPIOD_OUT_LOW); |
205 | if (IS_ERR(gpio)) { | 205 | if (IS_ERR(gpio)) |
206 | if (PTR_ERR(gpio) != -ENOENT) | 206 | return PTR_ERR(gpio); |
207 | return PTR_ERR(gpio); | ||
208 | |||
209 | gpio = NULL; | ||
210 | } else { | ||
211 | gpiod_direction_output(gpio, 0); | ||
212 | } | ||
213 | 207 | ||
214 | ddata->enable_gpio = gpio; | 208 | ddata->enable_gpio = gpio; |
215 | 209 | ||
diff --git a/drivers/video/fbdev/omap2/displays-new/panel-dpi.c b/drivers/video/fbdev/omap2/displays-new/panel-dpi.c index eb8fd8140ad0..f7be3489f744 100644 --- a/drivers/video/fbdev/omap2/displays-new/panel-dpi.c +++ b/drivers/video/fbdev/omap2/displays-new/panel-dpi.c | |||
@@ -209,16 +209,9 @@ static int panel_dpi_probe_of(struct platform_device *pdev) | |||
209 | struct videomode vm; | 209 | struct videomode vm; |
210 | struct gpio_desc *gpio; | 210 | struct gpio_desc *gpio; |
211 | 211 | ||
212 | gpio = devm_gpiod_get(&pdev->dev, "enable"); | 212 | gpio = devm_gpiod_get_optional(&pdev->dev, "enable", GPIOD_OUT_LOW); |
213 | 213 | if (IS_ERR(gpio)) | |
214 | if (IS_ERR(gpio)) { | 214 | return PTR_ERR(gpio); |
215 | if (PTR_ERR(gpio) != -ENOENT) | ||
216 | return PTR_ERR(gpio); | ||
217 | else | ||
218 | gpio = NULL; | ||
219 | } else { | ||
220 | gpiod_direction_output(gpio, 0); | ||
221 | } | ||
222 | 215 | ||
223 | ddata->enable_gpio = gpio; | 216 | ddata->enable_gpio = gpio; |
224 | 217 | ||
diff --git a/drivers/video/fbdev/omap2/displays-new/panel-lgphilips-lb035q02.c b/drivers/video/fbdev/omap2/displays-new/panel-lgphilips-lb035q02.c index 9974a37a11af..6a1b6a89a928 100644 --- a/drivers/video/fbdev/omap2/displays-new/panel-lgphilips-lb035q02.c +++ b/drivers/video/fbdev/omap2/displays-new/panel-lgphilips-lb035q02.c | |||
@@ -285,15 +285,14 @@ static int lb035q02_probe_of(struct spi_device *spi) | |||
285 | struct omap_dss_device *in; | 285 | struct omap_dss_device *in; |
286 | struct gpio_desc *gpio; | 286 | struct gpio_desc *gpio; |
287 | 287 | ||
288 | gpio = devm_gpiod_get(&spi->dev, "enable"); | 288 | gpio = devm_gpiod_get(&spi->dev, "enable", GPIOD_OUT_LOW); |
289 | if (IS_ERR(gpio)) { | 289 | if (IS_ERR(gpio)) { |
290 | dev_err(&spi->dev, "failed to parse enable gpio\n"); | 290 | dev_err(&spi->dev, "failed to parse enable gpio\n"); |
291 | return PTR_ERR(gpio); | 291 | return PTR_ERR(gpio); |
292 | } else { | ||
293 | gpiod_direction_output(gpio, 0); | ||
294 | ddata->enable_gpio = gpio; | ||
295 | } | 292 | } |
296 | 293 | ||
294 | ddata->enable_gpio = gpio; | ||
295 | |||
297 | ddata->backlight_gpio = -ENOENT; | 296 | ddata->backlight_gpio = -ENOENT; |
298 | 297 | ||
299 | in = omapdss_of_find_source_for_first_ep(node); | 298 | in = omapdss_of_find_source_for_first_ep(node); |
diff --git a/drivers/video/fbdev/omap2/displays-new/panel-sharp-ls037v7dw01.c b/drivers/video/fbdev/omap2/displays-new/panel-sharp-ls037v7dw01.c index eae263702964..abfd1f6e3327 100644 --- a/drivers/video/fbdev/omap2/displays-new/panel-sharp-ls037v7dw01.c +++ b/drivers/video/fbdev/omap2/displays-new/panel-sharp-ls037v7dw01.c | |||
@@ -268,17 +268,12 @@ static int sharp_ls_get_gpio_of(struct device *dev, int index, int val, | |||
268 | const char *desc, struct gpio_desc **gpiod) | 268 | const char *desc, struct gpio_desc **gpiod) |
269 | { | 269 | { |
270 | struct gpio_desc *gd; | 270 | struct gpio_desc *gd; |
271 | int r; | ||
272 | 271 | ||
273 | *gpiod = NULL; | 272 | *gpiod = NULL; |
274 | 273 | ||
275 | gd = devm_gpiod_get_index(dev, desc, index); | 274 | gd = devm_gpiod_get_index(dev, desc, index, GPIOD_OUT_LOW); |
276 | if (IS_ERR(gd)) | 275 | if (IS_ERR(gd)) |
277 | return PTR_ERR(gd) == -ENOENT ? 0 : PTR_ERR(gd); | 276 | return PTR_ERR(gd); |
278 | |||
279 | r = gpiod_direction_output(gd, val); | ||
280 | if (r) | ||
281 | return r; | ||
282 | 277 | ||
283 | *gpiod = gd; | 278 | *gpiod = gd; |
284 | return 0; | 279 | return 0; |