OMAPDSS: TFP410: use devm_gpio_request_one
authorTomi Valkeinen <tomi.valkeinen@ti.com>
Tue, 4 Sep 2012 07:52:19 +0000 (10:52 +0300)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Fri, 7 Sep 2012 17:02:09 +0000 (20:02 +0300)
Use devm_ version instead of the regular gpio_request_one to simplify
the error handling.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
drivers/video/omap2/displays/panel-tfp410.c

index 4be9a59..383811c 100644 (file)
@@ -119,8 +119,8 @@ static int tfp410_probe(struct omap_dss_device *dssdev)
        }
 
        if (gpio_is_valid(ddata->pd_gpio)) {
-               r = gpio_request_one(ddata->pd_gpio, GPIOF_OUT_INIT_LOW,
-                               "tfp410 pd");
+               r = devm_gpio_request_one(&dssdev->dev, ddata->pd_gpio,
+                               GPIOF_OUT_INIT_LOW, "tfp410 pd");
                if (r) {
                        dev_err(&dssdev->dev, "Failed to request PD GPIO %d\n",
                                        ddata->pd_gpio);
@@ -135,8 +135,7 @@ static int tfp410_probe(struct omap_dss_device *dssdev)
                if (!adapter) {
                        dev_err(&dssdev->dev, "Failed to get I2C adapter, bus %d\n",
                                        i2c_bus_num);
-                       r = -EINVAL;
-                       goto err_i2c;
+                       return -EINVAL;
                }
 
                ddata->i2c_adapter = adapter;
@@ -145,10 +144,6 @@ static int tfp410_probe(struct omap_dss_device *dssdev)
        dev_set_drvdata(&dssdev->dev, ddata);
 
        return 0;
-err_i2c:
-       if (gpio_is_valid(ddata->pd_gpio))
-               gpio_free(ddata->pd_gpio);
-       return r;
 }
 
 static void __exit tfp410_remove(struct omap_dss_device *dssdev)
@@ -160,9 +155,6 @@ static void __exit tfp410_remove(struct omap_dss_device *dssdev)
        if (ddata->i2c_adapter)
                i2c_put_adapter(ddata->i2c_adapter);
 
-       if (gpio_is_valid(ddata->pd_gpio))
-               gpio_free(ddata->pd_gpio);
-
        dev_set_drvdata(&dssdev->dev, NULL);
 
        mutex_unlock(&ddata->lock);