Commit 3f9d5133 authored by Linus Walleij's avatar Linus Walleij Committed by Wim Van Sebroeck

watchdog: wm831x_wdt: Remove GPIO handling

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: default avatarLinus Walleij <linus.walleij@linaro.org>
Reviewed-by: default avatarGuenter Roeck <linux@roeck-us.net>
Acked-by: default avatarCharles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20200229115046.57781-1-linus.walleij@linaro.orgSigned-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
Signed-off-by: default avatarWim Van Sebroeck <wim@linux-watchdog.org>
parent dca96e01
...@@ -13,7 +13,6 @@ ...@@ -13,7 +13,6 @@
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <linux/watchdog.h> #include <linux/watchdog.h>
#include <linux/uaccess.h> #include <linux/uaccess.h>
#include <linux/gpio.h>
#include <linux/mfd/wm831x/core.h> #include <linux/mfd/wm831x/core.h>
#include <linux/mfd/wm831x/pdata.h> #include <linux/mfd/wm831x/pdata.h>
...@@ -29,7 +28,6 @@ struct wm831x_wdt_drvdata { ...@@ -29,7 +28,6 @@ struct wm831x_wdt_drvdata {
struct watchdog_device wdt; struct watchdog_device wdt;
struct wm831x *wm831x; struct wm831x *wm831x;
struct mutex lock; struct mutex lock;
int update_gpio;
int update_state; int update_state;
}; };
...@@ -103,14 +101,6 @@ static int wm831x_wdt_ping(struct watchdog_device *wdt_dev) ...@@ -103,14 +101,6 @@ static int wm831x_wdt_ping(struct watchdog_device *wdt_dev)
mutex_lock(&driver_data->lock); 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); reg = wm831x_reg_read(wm831x, WM831X_WATCHDOG);
if (!(reg & WM831X_WDOG_RST_SRC)) { if (!(reg & WM831X_WDOG_RST_SRC)) {
...@@ -239,23 +229,6 @@ static int wm831x_wdt_probe(struct platform_device *pdev) ...@@ -239,23 +229,6 @@ static int wm831x_wdt_probe(struct platform_device *pdev)
reg |= pdata->secondary << WM831X_WDOG_SECACT_SHIFT; reg |= pdata->secondary << WM831X_WDOG_SECACT_SHIFT;
reg |= pdata->software << WM831X_WDOG_RST_SRC_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); ret = wm831x_reg_unlock(wm831x);
if (ret == 0) { if (ret == 0) {
ret = wm831x_reg_write(wm831x, WM831X_WATCHDOG, reg); ret = wm831x_reg_write(wm831x, WM831X_WATCHDOG, reg);
......
...@@ -89,7 +89,6 @@ enum wm831x_watchdog_action { ...@@ -89,7 +89,6 @@ enum wm831x_watchdog_action {
struct wm831x_watchdog_pdata { struct wm831x_watchdog_pdata {
enum wm831x_watchdog_action primary, secondary; enum wm831x_watchdog_action primary, secondary;
int update_gpio;
unsigned int software:1; unsigned int software:1;
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment