]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/watchdog/da9052_wdt.c
net/mlx5e: Move mlx5e_rq struct declaration
[karo-tx-linux.git] / drivers / watchdog / da9052_wdt.c
index 2fc19a32a320bfcd49113c30e441bb837054d588..d6d5006efa717df162a4746341467d96a677f412 100644 (file)
@@ -128,19 +128,17 @@ static int da9052_wdt_ping(struct watchdog_device *wdt_dev)
        ret = da9052_reg_update(da9052, DA9052_CONTROL_D_REG,
                                DA9052_CONTROLD_WATCHDOG, 1 << 7);
        if (ret < 0)
-               goto err_strobe;
+               return ret;
 
        /*
         * FIXME: Reset the watchdog core, in general PMIC
         * is supposed to do this
         */
-       ret = da9052_reg_update(da9052, DA9052_CONTROL_D_REG,
-                               DA9052_CONTROLD_WATCHDOG, 0 << 7);
-err_strobe:
-       return ret;
+       return da9052_reg_update(da9052, DA9052_CONTROL_D_REG,
+                                DA9052_CONTROLD_WATCHDOG, 0 << 7);
 }
 
-static struct watchdog_info da9052_wdt_info = {
+static const struct watchdog_info da9052_wdt_info = {
        .options        = WDIOF_SETTIMEOUT | WDIOF_KEEPALIVEPING,
        .identity       = "DA9052 Watchdog",
 };
@@ -163,10 +161,8 @@ static int da9052_wdt_probe(struct platform_device *pdev)
 
        driver_data = devm_kzalloc(&pdev->dev, sizeof(*driver_data),
                                   GFP_KERNEL);
-       if (!driver_data) {
-               ret = -ENOMEM;
-               goto err;
-       }
+       if (!driver_data)
+               return -ENOMEM;
        driver_data->da9052 = da9052;
 
        da9052_wdt = &driver_data->wdt;
@@ -182,33 +178,21 @@ static int da9052_wdt_probe(struct platform_device *pdev)
        if (ret < 0) {
                dev_err(&pdev->dev, "Failed to disable watchdog bits, %d\n",
                        ret);
-               goto err;
+               return ret;
        }
 
-       ret = watchdog_register_device(&driver_data->wdt);
+       ret = devm_watchdog_register_device(&pdev->dev, &driver_data->wdt);
        if (ret != 0) {
                dev_err(da9052->dev, "watchdog_register_device() failed: %d\n",
                        ret);
-               goto err;
+               return ret;
        }
 
-       platform_set_drvdata(pdev, driver_data);
-err:
        return ret;
 }
 
-static int da9052_wdt_remove(struct platform_device *pdev)
-{
-       struct da9052_wdt_data *driver_data = platform_get_drvdata(pdev);
-
-       watchdog_unregister_device(&driver_data->wdt);
-
-       return 0;
-}
-
 static struct platform_driver da9052_wdt_driver = {
        .probe = da9052_wdt_probe,
-       .remove = da9052_wdt_remove,
        .driver = {
                .name   = "da9052-watchdog",
        },