watchdog: wm831x_wdt: use devm_gpio_request_one()
[deliverable/linux.git] / drivers / watchdog / wm831x_wdt.c
index 9dcb6d0822774a2737c7171600bff911cf799055..3348ddd618c7755bb852186403167df22064a307 100644 (file)
@@ -247,9 +247,10 @@ static int wm831x_wdt_probe(struct platform_device *pdev)
                reg |= pdata->software << WM831X_WDOG_RST_SRC_SHIFT;
 
                if (pdata->update_gpio) {
-                       ret = gpio_request_one(pdata->update_gpio,
-                                              GPIOF_DIR_OUT | GPIOF_INIT_LOW,
-                                              "Watchdog update");
+                       ret = devm_gpio_request_one(&pdev->dev,
+                                               pdata->update_gpio,
+                                               GPIOF_OUT_INIT_LOW,
+                                               "Watchdog update");
                        if (ret < 0) {
                                dev_err(wm831x->dev,
                                        "Failed to request update GPIO: %d\n",
@@ -270,7 +271,7 @@ static int wm831x_wdt_probe(struct platform_device *pdev)
                } else {
                        dev_err(wm831x->dev,
                                "Failed to unlock security key: %d\n", ret);
-                       goto err_gpio;
+                       goto err;
                }
        }
 
@@ -278,16 +279,13 @@ static int wm831x_wdt_probe(struct platform_device *pdev)
        if (ret != 0) {
                dev_err(wm831x->dev, "watchdog_register_device() failed: %d\n",
                        ret);
-               goto err_gpio;
+               goto err;
        }
 
        dev_set_drvdata(&pdev->dev, driver_data);
 
        return 0;
 
-err_gpio:
-       if (driver_data->update_gpio)
-               gpio_free(driver_data->update_gpio);
 err:
        return ret;
 }
@@ -298,9 +296,6 @@ static int wm831x_wdt_remove(struct platform_device *pdev)
 
        watchdog_unregister_device(&driver_data->wdt);
 
-       if (driver_data->update_gpio)
-               gpio_free(driver_data->update_gpio);
-
        return 0;
 }
 
This page took 0.027352 seconds and 5 git commands to generate.