watchdog: wm831x_wdt: Remove GPIO handling
authorLinus Walleij <linus.walleij@linaro.org>
Sat, 29 Feb 2020 11:50:46 +0000 (12:50 +0100)
committerWim Van Sebroeck <wim@linux-watchdog.org>
Wed, 18 Mar 2020 10:15:24 +0000 (11:15 +0100)
An attempt to convert the driver to using GPIO descriptors
(see Link tag) was discouraged in favor of deleting the
handling of the update GPIO altogehter since there are
no in-tree users.

This patch deletes the GPIO handling instead.

Cc: Richard Fitzgerald <rf@opensource.cirrus.com>
Cc: Charles Keepax <ckeepax@opensource.cirrus.com>
Cc: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/linux-watchdog/20200210102209.289379-1-linus.walleij@linaro.org/
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20200229115046.57781-1-linus.walleij@linaro.org
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
drivers/watchdog/wm831x_wdt.c
include/linux/mfd/wm831x/pdata.h

index 030ce24..d96ad8f 100644 (file)
@@ -13,7 +13,6 @@
 #include <linux/platform_device.h>
 #include <linux/watchdog.h>
 #include <linux/uaccess.h>
-#include <linux/gpio.h>
 
 #include <linux/mfd/wm831x/core.h>
 #include <linux/mfd/wm831x/pdata.h>
@@ -29,7 +28,6 @@ struct wm831x_wdt_drvdata {
        struct watchdog_device wdt;
        struct wm831x *wm831x;
        struct mutex lock;
-       int update_gpio;
        int update_state;
 };
 
@@ -103,14 +101,6 @@ static int wm831x_wdt_ping(struct watchdog_device *wdt_dev)
 
        mutex_lock(&driver_data->lock);
 
-       if (driver_data->update_gpio) {
-               gpio_set_value_cansleep(driver_data->update_gpio,
-                                       driver_data->update_state);
-               driver_data->update_state = !driver_data->update_state;
-               ret = 0;
-               goto out;
-       }
-
        reg = wm831x_reg_read(wm831x, WM831X_WATCHDOG);
 
        if (!(reg & WM831X_WDOG_RST_SRC)) {
@@ -239,23 +229,6 @@ static int wm831x_wdt_probe(struct platform_device *pdev)
                reg |= pdata->secondary << WM831X_WDOG_SECACT_SHIFT;
                reg |= pdata->software << WM831X_WDOG_RST_SRC_SHIFT;
 
-               if (pdata->update_gpio) {
-                       ret = devm_gpio_request_one(dev, pdata->update_gpio,
-                                                   GPIOF_OUT_INIT_LOW,
-                                                   "Watchdog update");
-                       if (ret < 0) {
-                               dev_err(wm831x->dev,
-                                       "Failed to request update GPIO: %d\n",
-                                       ret);
-                               return ret;
-                       }
-
-                       driver_data->update_gpio = pdata->update_gpio;
-
-                       /* Make sure the watchdog takes hardware updates */
-                       reg |= WM831X_WDOG_RST_SRC;
-               }
-
                ret = wm831x_reg_unlock(wm831x);
                if (ret == 0) {
                        ret = wm831x_reg_write(wm831x, WM831X_WATCHDOG, reg);
index 986986f..75aa94d 100644 (file)
@@ -89,7 +89,6 @@ enum wm831x_watchdog_action {
 
 struct wm831x_watchdog_pdata {
        enum wm831x_watchdog_action primary, secondary;
-       int update_gpio;
        unsigned int software:1;
 };