Revert "[COMMON] watchdog: Add watchdog reset confirm function."
authorJaehyoung Choi <jkkkkk.choi@samsung.com>
Thu, 10 May 2018 04:38:13 +0000 (13:38 +0900)
committerJaehyoung Choi <jkkkkk.choi@samsung.com>
Fri, 11 May 2018 01:20:29 +0000 (10:20 +0900)
This reverts commit 816981102c4237b5a40746c6a2d0fa3389584ce0.

drivers/watchdog/s3c2410_wdt.c
drivers/watchdog/watchdog_dev.c
include/linux/watchdog.h

index dded8831010b51ad32777eb3e9f3e341b422ff89..5821234c862bb0ac40e0cc3b05b2aa7d18fea452 100644 (file)
@@ -434,53 +434,6 @@ static int s3c2410wdt_restart(struct watchdog_device *wdd, unsigned long action,
        return 0;
 }
 
-inline void s3c2410wdt_reset_confirm(struct watchdog_device *wdd)
-{
-       struct s3c2410_wdt *wdt = watchdog_get_drvdata(wdd);
-       unsigned int wtcon, wtdat, wtcnt, disable_reg, mask_reset_reg;
-       unsigned long total_time = 0;
-       int ret;
-
-       if (!wdt)
-               return;
-
-       wtcon = readl(wdt->reg_base + S3C2410_WTCON);
-
-       dev_info(wdt->dev, "Current Little_cluster watchdog %sable, wtcon = %x\n",
-                       (wtcon & S3C2410_WTCON_ENABLE) ? "en" : "dis", wtcon);
-
-       ret = regmap_read(wdt->pmureg, wdt->drv_data->mask_reset_reg, &mask_reset_reg);
-       if (ret) {
-               dev_err(wdt->dev, "Couldn't get MASK_WDT_RESET register\n");
-               return;
-       }
-
-       ret = regmap_read(wdt->pmureg, wdt->drv_data->disable_reg, &disable_reg);
-       if (ret) {
-               dev_err(wdt->dev, "Couldn't get DISABLE_WDT register\n");
-               return;
-       }
-
-       /*  Fake watchdog bits in both registers must be cleared. */
-       dev_info(wdt->dev, "DISABLE_WDT reg:  %x, MASK_WDT_RESET reg: %x\n", disable_reg, mask_reset_reg);
-
-       /* If watchdog is disabled, do not print wtcnt value. */
-       if (!(wtcon & S3C2410_WTCON_ENABLE))
-               return;
-
-       do {
-               /* It continues to print the wtcnt and wddat values
-                * until watchdog reset is taken.
-                */
-               wtdat = readl(wdt->reg_base + S3C2410_WTDAT);
-               wtcnt = readl(wdt->reg_base + S3C2410_WTCNT);
-               dev_info(wdt->dev, "%lu milliseconds, wtdat = %u, wtcnt = %u",
-                               total_time, wtdat, wtcnt);
-               total_time += 500;
-               mdelay(500);
-       } while (total_time < (wdd->timeout * 1000));
-}
-
 #define OPTIONS (WDIOF_SETTIMEOUT | WDIOF_KEEPALIVEPING | WDIOF_MAGICCLOSE)
 
 static const struct watchdog_info s3c2410_wdt_ident = {
@@ -496,7 +449,6 @@ static const struct watchdog_ops s3c2410wdt_ops = {
        .ping = s3c2410wdt_keepalive,
        .set_timeout = s3c2410wdt_set_heartbeat,
        .restart = s3c2410wdt_restart,
-       .reset_confirm = s3c2410wdt_reset_confirm,
 };
 
 static const struct watchdog_device s3c2410_wdd = {
@@ -706,7 +658,6 @@ inline int s3c2410wdt_set_emergency_reset(unsigned int timeout_cnt, int index)
 
        return 0;
 }
-
 #endif
 
 #ifdef CONFIG_PM_SLEEP
index dd69fd69f99baa65041b51139986dce313be6ba4..b30fb637ae947885e04eba1819e7d8cd145764d1 100644 (file)
@@ -527,23 +527,6 @@ static ssize_t pretimeout_governor_store(struct device *dev,
 }
 static DEVICE_ATTR_RW(pretimeout_governor);
 
-static ssize_t reset_confirm_show(struct device *dev,
-                               struct device_attribute *attr,
-                               char *buf)
-{
-       struct watchdog_device *wdd = dev_get_drvdata(dev);
-       int ret = watchdog_start(wdd);
-
-       if (ret)
-               return ret;
-
-       if (wdd->ops->reset_confirm)
-               wdd->ops->reset_confirm(wdd);
-
-       return sprintf(buf, "watchdog reset failed..\n");
-}
-static DEVICE_ATTR_RO(reset_confirm);
-
 static umode_t wdt_is_visible(struct kobject *kobj, struct attribute *attr,
                                int n)
 {
@@ -575,7 +558,6 @@ static struct attribute *wdt_attrs[] = {
        &dev_attr_nowayout.attr,
        &dev_attr_pretimeout_governor.attr,
        &dev_attr_pretimeout_available_governors.attr,
-       &dev_attr_reset_confirm.attr,
        NULL,
 };
 
index 6099de359a18c5fea15b6f41a6644a866fe6a7f3..44985c4a1e86214dca6579b42bda3c6d666bcdc9 100644 (file)
@@ -53,7 +53,6 @@ struct watchdog_ops {
        unsigned int (*get_timeleft)(struct watchdog_device *);
        int (*restart)(struct watchdog_device *, unsigned long, void *);
        long (*ioctl)(struct watchdog_device *, unsigned int, unsigned long);
-       void (*reset_confirm)(struct watchdog_device *);
 };
 
 /** struct watchdog_device - The structure that defines a watchdog device