linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: fu.wei@linaro.org
To: Suravee.Suthikulpanit@amd.com, linaro-acpi@lists.linaro.org,
	linux-watchdog@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org
Cc: tekkamanninja@gmail.com, graeme.gregory@linaro.org,
	al.stone@linaro.org, hanjun.guo@linaro.org, timur@codeaurora.org,
	ashwin.chaugule@linaro.org, arnd@arndb.de, linux@roeck-us.net,
	vgandhi@codeaurora.org, wim@iguana.be, jcm@redhat.com,
	leo.duran@amd.com, corbet@lwn.net, Fu Wei <fu.wei@linaro.org>
Subject: [PATCH 4/6] Watchdog: introdouce "pretimeout" into framework
Date: Fri, 15 May 2015 19:24:48 +0800	[thread overview]
Message-ID: <1431689090-3125-1-git-send-email-fu.wei@linaro.org> (raw)
In-Reply-To: <=fu.wei@linaro.org>

From: Fu Wei <fu.wei@linaro.org>

Reasons:
(1)kernel already has two watchdog drivers are using "pretimeout":
	drivers/char/ipmi/ipmi_watchdog.c
	drivers/watchdog/kempld_wdt.c(but the definition is different)
(2)some other dirvers are going to use this: ARM SBSA Generic Watchdog

Signed-off-by: Fu Wei <fu.wei@linaro.org>
---
 drivers/watchdog/watchdog_core.c | 66 ++++++++++++++++++++++++++++++++++++++++
 drivers/watchdog/watchdog_dev.c  | 48 +++++++++++++++++++++++++++++
 include/linux/watchdog.h         | 19 ++++++++++++
 3 files changed, 133 insertions(+)

diff --git a/drivers/watchdog/watchdog_core.c b/drivers/watchdog/watchdog_core.c
index cec9b55..6ca9578 100644
--- a/drivers/watchdog/watchdog_core.c
+++ b/drivers/watchdog/watchdog_core.c
@@ -54,6 +54,14 @@ static void watchdog_check_min_max_timeout(struct watchdog_device *wdd)
 		wdd->min_timeout = 0;
 		wdd->max_timeout = 0;
 	}
+	if (wdd->min_pretimeout && wdd->min_timeout < wdd->min_pretimeout) {
+		pr_info("Invalid min timeout, resetting to min pretimeout!\n");
+		wdd->min_timeout = wdd->min_pretimeout;
+	}
+	if (wdd->max_pretimeout && wdd->max_timeout < wdd->max_pretimeout) {
+		pr_info("Invalid max timeout, resetting to max pretimeout!\n");
+		wdd->max_timeout = wdd->max_pretimeout;
+	}
 }
 
 /**
@@ -98,6 +106,63 @@ int watchdog_init_timeout(struct watchdog_device *wdd,
 }
 EXPORT_SYMBOL_GPL(watchdog_init_timeout);
 
+static void watchdog_check_min_max_pretimeout(struct watchdog_device *wdd)
+{
+	/*
+	 * Check that we have valid min and max pretimeout values, if
+	 * not reset them both to 0 (=not used or unknown)
+	 */
+	if (wdd->min_pretimeout > wdd->max_pretimeout) {
+		pr_info("Invalid min and max pretimeout, resetting to 0!\n");
+		wdd->min_pretimeout = 0;
+		wdd->max_pretimeout = 0;
+	}
+}
+
+/**
+ * watchdog_init_pretimeout() - initialize the pretimeout field
+ * @pretimeout_parm: pretimeout module parameter
+ * @dev: Device that stores the timeout-sec property
+ *
+ * Initialize the pretimeout field of the watchdog_device struct with either
+ * the pretimeout module parameter (if it is valid value) or the timeout-sec
+ * property (only if it is a valid value and the timeout_parm is out of bounds).
+ * If none of them are valid then we keep the old value (which should normally
+ * be the default pretimeout value.
+ *
+ * A zero is returned on success and -EINVAL for failure.
+ */
+int watchdog_init_pretimeout(struct watchdog_device *wdd,
+			     unsigned int pretimeout_parm, struct device *dev)
+{
+	int ret = 0;
+	u32 timeouts[2];
+
+	watchdog_check_min_max_pretimeout(wdd);
+
+	/* try to get the timeout module parameter first */
+	if (!watchdog_pretimeout_invalid(wdd, pretimeout_parm) &&
+	    pretimeout_parm) {
+		wdd->pretimeout = pretimeout_parm;
+		return ret;
+	}
+	if (pretimeout_parm)
+		ret = -EINVAL;
+
+	/* try to get the timeout_sec property */
+	if (!dev || !dev->of_node)
+		return ret;
+	ret = of_property_read_u32_array(dev->of_node,
+					 "timeout-sec", timeouts, 2);
+	if (!watchdog_pretimeout_invalid(wdd, timeouts[1]) && timeouts[1])
+		wdd->pretimeout = timeouts[1];
+	else
+		ret = -EINVAL;
+
+	return ret;
+}
+EXPORT_SYMBOL_GPL(watchdog_init_pretimeout);
+
 /**
  * watchdog_register_device() - register a watchdog device
  * @wdd: watchdog device
@@ -119,6 +184,7 @@ int watchdog_register_device(struct watchdog_device *wdd)
 	if (wdd->ops->start == NULL || wdd->ops->stop == NULL)
 		return -EINVAL;
 
+	watchdog_check_min_max_pretimeout(wdd);
 	watchdog_check_min_max_timeout(wdd);
 
 	/*
diff --git a/drivers/watchdog/watchdog_dev.c b/drivers/watchdog/watchdog_dev.c
index 6aaefba..b519257 100644
--- a/drivers/watchdog/watchdog_dev.c
+++ b/drivers/watchdog/watchdog_dev.c
@@ -218,6 +218,38 @@ out_timeout:
 }
 
 /*
+ *	watchdog_set_pretimeout: set the watchdog timer pretimeout
+ *	@wddev: the watchdog device to set the timeout for
+ *	@pretimeout: pretimeout to set in seconds
+ */
+
+static int watchdog_set_pretimeout(struct watchdog_device *wddev,
+				   unsigned int pretimeout)
+{
+	int err;
+
+	if (!wddev->ops->set_pretimeout ||
+	    !(wddev->info->options & WDIOF_PRETIMEOUT))
+		return -EOPNOTSUPP;
+
+	if (watchdog_pretimeout_invalid(wddev, pretimeout))
+		return -EINVAL;
+
+	mutex_lock(&wddev->lock);
+
+	if (test_bit(WDOG_UNREGISTERED, &wddev->status)) {
+		err = -ENODEV;
+		goto out_pretimeout;
+	}
+
+	err = wddev->ops->set_pretimeout(wddev, pretimeout);
+
+out_pretimeout:
+	mutex_unlock(&wddev->lock);
+	return err;
+}
+
+/*
  *	watchdog_get_timeleft: wrapper to get the time left before a reboot
  *	@wddev: the watchdog device to get the remaining time from
  *	@timeleft: the time that's left
@@ -388,6 +420,22 @@ static long watchdog_ioctl(struct file *file, unsigned int cmd,
 		if (wdd->timeout == 0)
 			return -EOPNOTSUPP;
 		return put_user(wdd->timeout, p);
+	case WDIOC_SETPRETIMEOUT:
+		if (get_user(val, p))
+			return -EFAULT;
+		err = watchdog_set_pretimeout(wdd, val);
+		if (err < 0)
+			return err;
+		/* If the watchdog is active then we send a keepalive ping
+		 * to make sure that the watchdog keep's running (and if
+		 * possible that it takes the new timeout) */
+		watchdog_ping(wdd);
+		/* Fall */
+	case WDIOC_GETPRETIMEOUT:
+		/* timeout == 0 means that we don't use the pretimeout */
+		if (wdd->pretimeout == 0)
+			return -EOPNOTSUPP;
+		return put_user(wdd->pretimeout, p);
 	case WDIOC_GETTIMELEFT:
 		err = watchdog_get_timeleft(wdd, &val);
 		if (err)
diff --git a/include/linux/watchdog.h b/include/linux/watchdog.h
index a746bf5..f0a3c5b 100644
--- a/include/linux/watchdog.h
+++ b/include/linux/watchdog.h
@@ -25,6 +25,7 @@ struct watchdog_device;
  * @ping:	The routine that sends a keepalive ping to the watchdog device.
  * @status:	The routine that shows the status of the watchdog device.
  * @set_timeout:The routine for setting the watchdog devices timeout value.
+ * @set_pretimeout:The routine for setting the watchdog devices pretimeout value
  * @get_timeleft:The routine that get's the time that's left before a reset.
  * @ref:	The ref operation for dyn. allocated watchdog_device structs
  * @unref:	The unref operation for dyn. allocated watchdog_device structs
@@ -44,6 +45,7 @@ struct watchdog_ops {
 	int (*ping)(struct watchdog_device *);
 	unsigned int (*status)(struct watchdog_device *);
 	int (*set_timeout)(struct watchdog_device *, unsigned int);
+	int (*set_pretimeout)(struct watchdog_device *, unsigned int);
 	unsigned int (*get_timeleft)(struct watchdog_device *);
 	void (*ref)(struct watchdog_device *);
 	void (*unref)(struct watchdog_device *);
@@ -62,6 +64,9 @@ struct watchdog_ops {
  * @timeout:	The watchdog devices timeout value.
  * @min_timeout:The watchdog devices minimum timeout value.
  * @max_timeout:The watchdog devices maximum timeout value.
+ * @pretimeout:	The watchdog devices pretimeout value.
+ * @min_pretimeout:The watchdog devices minimum pretimeout value.
+ * @max_pretimeout:The watchdog devices maximum pretimeout value.
  * @driver-data:Pointer to the drivers private data.
  * @lock:	Lock for watchdog core internal use only.
  * @status:	Field that contains the devices internal status bits.
@@ -86,6 +91,9 @@ struct watchdog_device {
 	unsigned int timeout;
 	unsigned int min_timeout;
 	unsigned int max_timeout;
+	unsigned int pretimeout;
+	unsigned int min_pretimeout;
+	unsigned int max_pretimeout;
 	void *driver_data;
 	struct mutex lock;
 	unsigned long status;
@@ -120,6 +128,14 @@ static inline bool watchdog_timeout_invalid(struct watchdog_device *wdd, unsigne
 		(t < wdd->min_timeout || t > wdd->max_timeout));
 }
 
+/* Use the following function to check if a pretimeout value is invalid */
+static inline bool watchdog_pretimeout_invalid(struct watchdog_device *wdd,
+					       unsigned int t)
+{
+	return ((wdd->max_pretimeout != 0) &&
+		(t < wdd->min_pretimeout || t > wdd->max_pretimeout));
+}
+
 /* Use the following functions to manipulate watchdog driver specific data */
 static inline void watchdog_set_drvdata(struct watchdog_device *wdd, void *data)
 {
@@ -134,6 +150,9 @@ static inline void *watchdog_get_drvdata(struct watchdog_device *wdd)
 /* drivers/watchdog/watchdog_core.c */
 extern int watchdog_init_timeout(struct watchdog_device *wdd,
 				  unsigned int timeout_parm, struct device *dev);
+extern int watchdog_init_pretimeout(struct watchdog_device *wdd,
+				    unsigned int pretimeout_parm,
+				    struct device *dev);
 extern int watchdog_register_device(struct watchdog_device *);
 extern void watchdog_unregister_device(struct watchdog_device *);
 
-- 
1.9.1


  parent reply	other threads:[~2015-05-15 11:25 UTC|newest]

Thread overview: 329+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <=fu.wei@linaro.org>
2015-05-15 11:08 ` [PATCH 0/6] Watchdog: introdouce ARM SBSA watchdog driver fu.wei
2015-05-15 11:08   ` [PATCH 1/6] Documentation: add sbsa-gwdt.txt documentation fu.wei
2015-05-15 14:06     ` Arnd Bergmann
2015-05-15 14:14       ` Fu Wei
2015-05-16 10:29       ` Fu Wei
2015-05-15 11:08   ` [PATCH 2/6] ARM64: add SBSA Generic Watchdog device node in foundation-v8.dts fu.wei
2015-05-15 11:08   ` [PATCH 3/6] ARM64: add SBSA Generic Watchdog device node in amd-seattle-soc.dtsi fu.wei
2015-05-15 14:07   ` [Linaro-acpi] [PATCH 0/6] Watchdog: introdouce ARM SBSA watchdog driver Arnd Bergmann
2015-05-16 10:33     ` Fu Wei
2015-05-15 11:24 ` fu.wei [this message]
2015-05-15 11:24   ` [PATCH 5/6] " fu.wei
2015-05-15 13:57     ` Arnd Bergmann
2015-05-16 12:01       ` Fu Wei
2015-05-16 12:26         ` Timur Tabi
2015-05-15 22:57     ` Guenter Roeck
2015-05-18 17:38       ` Fu Wei
2015-05-15 11:24   ` [PATCH 6/6] ACPI: import watchdog info of GTDT into platform device fu.wei
2015-05-15 13:33   ` [PATCH 4/6] Watchdog: introdouce "pretimeout" into framework Guenter Roeck
2015-05-15 13:49     ` Fu Wei
2015-05-15 13:55       ` Timur Tabi
2015-05-15 17:59         ` Guenter Roeck
2015-05-15 18:01       ` Guenter Roeck
2015-05-18 17:22         ` Fu Wei
2015-05-15 14:04   ` Arnd Bergmann
2015-05-18 17:19     ` Fu Wei
2015-05-18 17:23       ` Guenter Roeck
2015-05-18 17:39         ` Fu Wei
2015-05-18 20:03         ` Arnd Bergmann
2015-05-18 20:14           ` Guenter Roeck
2015-05-19  1:12             ` Fu Wei
2015-05-21  8:32 ` [PATCH v2 0/7] Watchdog: introduce ARM SBSA watchdog driver fu.wei
2015-05-21  8:32   ` [PATCH v2 1/7] clocksource: export "arch_timer_get_rate" for the other drivers fu.wei
2015-05-22 14:02     ` Hanjun Guo
2015-05-22 14:09     ` Timur Tabi
2015-05-22 15:16       ` Guenter Roeck
2015-05-22 16:22         ` Timur Tabi
2015-05-21  8:32   ` [PATCH v2 2/7] Documentation: add sbsa-gwdt.txt documentation fu.wei
2015-05-21  8:32   ` [PATCH v2 3/7] ARM64: add SBSA Generic Watchdog device node in foundation-v8.dts fu.wei
2015-05-21  8:45     ` Arnd Bergmann
2015-05-21  8:49       ` Fu Wei
2015-05-21  8:32   ` [PATCH v2 4/7] ARM64: add SBSA Generic Watchdog device node in amd-seattle-soc.dtsi fu.wei
2015-05-21 20:33     ` Suravee Suthikulpanit
2015-05-21  8:32   ` [PATCH v2 5/7] Watchdog: introduce "pretimeout" into framework fu.wei
2015-05-21  9:04     ` Guenter Roeck
2015-05-21 10:05       ` Fu Wei
2015-05-21 10:17         ` Guenter Roeck
2015-05-21 10:50           ` Fu Wei
2015-05-21 13:28             ` Guenter Roeck
2015-05-21 10:11     ` Guenter Roeck
2015-05-21 15:32     ` Guenter Roeck
2015-05-22  5:17       ` Fu Wei
2015-05-25  3:09       ` Fu Wei
2015-05-22  6:30     ` Timo Kokkonen
2015-05-22  8:23       ` Fu Wei
2015-05-22  8:59         ` Timo Kokkonen
2015-05-22 10:46           ` Fu Wei
2015-05-22 12:14             ` Timo Kokkonen
2015-05-22 13:37               ` Guenter Roeck
2015-05-22 13:23             ` Guenter Roeck
2015-05-22 14:38               ` Fu Wei
2015-05-22 15:05                 ` Guenter Roeck
2015-05-24 16:17                   ` Fu Wei
2015-05-21  8:32   ` [PATCH v2 6/7] Watchdog: introduce ARM SBSA watchdog driver fu.wei
2015-05-21 10:34     ` Guenter Roeck
2015-05-21 11:08       ` Fu Wei
2015-05-21 15:18         ` Guenter Roeck
2015-05-21 15:46           ` Fu Wei
2015-05-21 15:59             ` Guenter Roeck
2015-05-21 16:12               ` Fu Wei
2015-05-21 16:33                 ` Timur Tabi
2015-05-22  5:05                   ` Fu Wei
2015-05-21 13:09       ` Timur Tabi
2015-05-21 15:28         ` Guenter Roeck
2015-05-25  3:43           ` Fu Wei
2015-05-25  3:46             ` Timur Tabi
2015-05-25  4:11               ` Fu Wei
2015-05-21 15:42     ` Timur Tabi
2015-05-23 16:28       ` Fu Wei
2015-05-23 16:50         ` Fu Wei
2015-05-23 19:40         ` Timur Tabi
2015-05-23 20:01           ` Guenter Roeck
2015-05-23 20:27             ` Timur Tabi
2015-05-23 20:44               ` Guenter Roeck
2015-05-24 10:50                 ` Fu Wei
2015-05-24 10:15             ` Fu Wei
2015-05-24 14:15               ` Guenter Roeck
2015-05-24 15:50                 ` Fu Wei
2015-05-24 16:23                   ` Guenter Roeck
2015-05-24 16:47                     ` Fu Wei
2015-05-24 16:58                       ` Guenter Roeck
2015-05-24 17:04                         ` Fu Wei
2015-05-24 15:02               ` Timur Tabi
2015-05-24 16:04                 ` Fu Wei
2015-05-24 16:13                   ` Timur Tabi
2015-05-24 16:29                     ` Guenter Roeck
2015-05-24 16:33                       ` Fu Wei
2015-05-24 16:44                       ` Timur Tabi
2015-05-24 16:50                         ` Guenter Roeck
2015-05-24 16:52                         ` Fu Wei
2015-05-24 17:19                           ` Timur Tabi
2015-05-24 17:23                             ` Fu Wei
2015-05-24 17:32                             ` Guenter Roeck
2015-05-24 17:47                               ` Timur Tabi
2015-05-25  2:03                                 ` Fu Wei
2015-05-25  2:00                               ` Fu Wei
2015-05-24 16:29                     ` Fu Wei
2015-05-22 14:50     ` Hanjun Guo
2015-05-22 14:55       ` Arnd Bergmann
2015-05-22 15:01         ` Guenter Roeck
2015-05-22 15:18           ` Hanjun Guo
2015-05-22 15:24             ` [Linaro-acpi] " Arnd Bergmann
2015-05-22 16:19               ` Timur Tabi
2015-05-22 20:13                 ` Arnd Bergmann
2015-05-22 20:17                   ` Timur Tabi
2015-05-23  7:25               ` Fu Wei
2015-05-22 16:19           ` Timur Tabi
2015-05-23 14:47           ` Fu Wei
2015-05-22 16:18         ` Timur Tabi
2015-05-23 15:08         ` Timur Tabi
2015-05-23 17:26           ` Fu Wei
2015-05-23 18:35             ` Guenter Roeck
2015-05-23 18:37               ` Timur Tabi
2015-05-23 19:03                 ` Fu Wei
2015-05-23 19:51                 ` Guenter Roeck
2015-05-24  9:58                   ` Fu Wei
2015-05-24 14:06                     ` Guenter Roeck
2015-05-24 15:06                       ` Timur Tabi
2015-05-24 15:37                       ` Fu Wei
2015-05-23 18:40             ` Timur Tabi
2015-05-23 19:14               ` Fu Wei
2015-05-23 19:21                 ` Timur Tabi
2015-05-21  8:32   ` [PATCH v2 7/7] ACPI: import watchdog info of GTDT into platform device fu.wei
2015-05-22 15:38     ` Hanjun Guo
2015-05-23 19:46     ` Timur Tabi
2015-05-21  8:46   ` [Linaro-acpi] [PATCH v2 0/7] Watchdog: introduce ARM SBSA watchdog driver Arnd Bergmann
2015-05-21  9:01     ` Fu Wei
2015-05-21 20:36   ` Suravee Suthikulpanit
2015-05-22  5:08     ` Fu Wei
2015-05-25 10:03 ` [PATCH v3 0/6] " fu.wei
2015-05-25 10:03   ` [PATCH v3 1/6] Documentation: add sbsa-gwdt.txt documentation fu.wei
2015-05-25 10:03   ` [PATCH v3 2/6] ARM64: add SBSA Generic Watchdog device node in foundation-v8.dts fu.wei
2015-05-25 10:03   ` [PATCH v3 3/6] ARM64: add SBSA Generic Watchdog device node in amd-seattle-soc.dtsi fu.wei
2015-05-25 10:03   ` [PATCH v3 4/6] Watchdog: introdouce "pretimeout" into framework fu.wei
2015-05-25 19:28     ` Guenter Roeck
2015-05-25 10:03   ` [PATCH v3 5/6] Watchdog: introduce ARM SBSA watchdog driver fu.wei
2015-05-25 19:39     ` Guenter Roeck
2015-05-29  9:11       ` Fu Wei
2015-05-29 14:54         ` Guenter Roeck
2015-05-29 15:05           ` Fu Wei
2015-05-26 16:50     ` Timur Tabi
2015-05-29 10:17       ` Fu Wei
2015-05-29 13:28         ` Timur Tabi
2015-05-29 14:32           ` Fu Wei
2015-05-29 15:46             ` Timur Tabi
2015-05-29 17:53               ` Fu Wei
2015-05-29 18:27                 ` Timur Tabi
2015-05-29 22:10               ` Guenter Roeck
2015-06-01  7:50                 ` Fu Wei
2015-05-25 10:03   ` [PATCH v3 6/6] ACPI: import watchdog info of GTDT into platform device fu.wei
2015-05-26  8:28     ` Hanjun Guo
2015-05-26 16:35       ` Timur Tabi
2015-05-26 18:24         ` Guenter Roeck
2015-05-27  3:01         ` Hanjun Guo
2015-05-27  3:08           ` Timur Tabi
2015-05-26 12:28     ` Will Deacon
2015-05-26 15:02       ` Ashwin Chaugule
2015-05-26 15:18         ` Will Deacon
2015-05-26 15:35           ` Ashwin Chaugule
2015-05-26 15:36           ` Guenter Roeck
2015-05-26 16:27             ` Fu Wei
2015-05-27 10:44               ` Will Deacon
2015-05-29 11:13                 ` Fu Wei
2015-06-02  4:05 ` [PATCH v4 0/7] Watchdog: introduce ARM SBSA watchdog driver fu.wei
2015-06-02  4:05   ` [PATCH v4 1/7] Documentation: add sbsa-gwdt.txt documentation fu.wei
2015-06-02  4:05   ` [PATCH v4 2/7] ARM64: add SBSA Generic Watchdog device node in foundation-v8.dts fu.wei
2015-06-02  4:05   ` [PATCH v4 3/7] ARM64: add SBSA Generic Watchdog device node in amd-seattle-soc.dtsi fu.wei
2015-06-02  4:05   ` [PATCH v4 4/7] Watchdog: introdouce "pretimeout" into framework fu.wei
2015-06-02 16:12     ` Guenter Roeck
2015-06-08 16:44       ` Fu Wei
2015-06-02  4:05   ` [PATCH v4 5/7] Watchdog: introduce ARM SBSA watchdog driver fu.wei
2015-06-02 15:32     ` Timur Tabi
2015-06-02 15:37       ` Guenter Roeck
2015-06-02 16:55       ` Fu Wei
2015-06-02 17:07         ` Guenter Roeck
2015-06-08 16:05           ` Fu Wei
2015-06-08 18:26             ` Guenter Roeck
2015-06-09  3:59               ` Fu Wei
2015-06-09  4:37                 ` Guenter Roeck
2015-06-09  6:37                   ` Fu Wei
2015-06-09  8:04                     ` Guenter Roeck
2015-06-09 10:46                       ` Fu Wei
2015-06-09 16:22                         ` Guenter Roeck
2015-06-09 16:29                           ` Timur Tabi
2015-06-09 16:45                             ` Guenter Roeck
2015-06-09 16:53                               ` Timur Tabi
2015-06-10  3:41                               ` Fu Wei
2015-06-10  4:20                                 ` Fu Wei
2015-06-10 14:22                                   ` Timur Tabi
2015-06-10 14:36                                     ` Fu Wei
2015-06-10 14:41                                       ` Fu Wei
2015-06-10 15:38                                 ` Fu Wei
2015-06-10 17:54                                   ` Fu Wei
2015-06-11  0:22                                 ` Timur Tabi
2015-06-11  3:00                                   ` Fu Wei
2015-06-11  3:45                                     ` Timur Tabi
2015-06-11  5:13                                       ` Guenter Roeck
2015-06-11  5:33                                         ` Fu Wei
2015-06-11  5:32                                       ` Fu Wei
2015-06-02 17:21         ` Timur Tabi
2015-06-03 18:16     ` Timur Tabi
2015-06-03 18:25       ` Guenter Roeck
2015-06-03 18:53         ` Timur Tabi
2015-06-03 19:29           ` Arnd Bergmann
2015-09-10 22:45           ` Jon Masters
2015-09-14  4:21             ` Pratyush Anand
2015-09-14 15:27               ` Fu Wei
2015-09-14  8:51             ` Catalin Marinas
2015-09-15  3:16             ` Fu Wei
2015-06-08 16:10         ` Fu Wei
2015-06-02  4:05   ` [PATCH v4 6/7] ACPI: add GTDT table parse driver into ACPI driver fu.wei
2015-06-02  4:05   ` [PATCH v4 7/7] clocksource: simplify ACPI code in arm_arch_timer.c fu.wei
2015-06-10 13:41 ` [PATCH v5 0/8] Watchdog: introduce ARM SBSA watchdog driver fu.wei
2015-06-10 13:41   ` [PATCH v5 1/8] Documentation: add sbsa-gwdt.txt documentation fu.wei
2015-06-10 13:41   ` [PATCH v5 2/8] ARM64: add SBSA Generic Watchdog device node in foundation-v8.dts fu.wei
2015-06-10 13:41   ` [PATCH v5 3/8] ARM64: add SBSA Generic Watchdog device node in amd-seattle-soc.dtsi fu.wei
2015-06-10 13:41   ` [PATCH v5 4/8] Watchdog: introdouce "pretimeout" into framework fu.wei
2015-06-10 16:21     ` Guenter Roeck
2015-06-11 11:22       ` Fu Wei
2015-06-11 16:38         ` Guenter Roeck
2015-06-10 13:41   ` [PATCH v5 5/8] Watchdog: introduce ARM SBSA watchdog driver fu.wei
2015-06-10 13:41   ` [PATCH v5 6/8] ACPI: add GTDT table parse driver into ACPI driver fu.wei
2015-06-10 13:41   ` [PATCH v5 7/8] Watchdog: enable ACPI GTDT support for ARM SBSA watchdog driver fu.wei
2015-06-10 13:41   ` [PATCH v5 8/8] clocksource: simplify ACPI code in arm_arch_timer.c fu.wei
2015-06-10 17:47 ` [PATCH non-pretimeout 0/7] Watchdog: introduce ARM SBSA watchdog driver fu.wei
2015-06-10 17:47   ` [PATCH non-pretimeout 1/7] Documentation: add sbsa-gwdt.txt documentation fu.wei
2015-06-10 17:47   ` [PATCH non-pretimeout 2/7] ARM64: add SBSA Generic Watchdog device node in foundation-v8.dts fu.wei
2015-06-10 17:47   ` [PATCH non-pretimeout 3/7] ARM64: add SBSA Generic Watchdog device node in amd-seattle-soc.dtsi fu.wei
2015-06-12 20:54     ` Timur Tabi
2015-06-14 10:05       ` Fu Wei
2015-06-14 13:17         ` Timur Tabi
2015-06-14 13:57         ` Guenter Roeck
2015-06-15 11:00           ` Fu Wei
2015-06-10 17:47   ` [PATCH non-pretimeout 4/7] Watchdog: introduce ARM SBSA watchdog driver fu.wei
2015-06-11  5:33     ` Guenter Roeck
2015-06-11  5:44       ` Fu Wei
2015-06-11  5:49         ` Guenter Roeck
2015-06-11  5:59           ` Fu Wei
2015-06-11 16:28     ` [non-pretimeout,4/7] " Guenter Roeck
2015-06-23 13:26       ` Fu Wei
2015-06-23 15:21         ` Guenter Roeck
2015-06-23 16:17           ` Fu Wei
2015-06-23 16:43             ` Guenter Roeck
2015-06-23 17:01               ` Fu Wei
2015-06-12  3:57     ` [PATCH non-pretimeout 4/7] " Timur Tabi
2015-06-14 10:15       ` Fu Wei
2015-06-10 17:47   ` [PATCH non-pretimeout 5/7] ACPI: add GTDT table parse driver into ACPI driver fu.wei
2015-06-11 11:14     ` Hanjun Guo
2015-06-10 17:47   ` [PATCH non-pretimeout 6/7] Watchdog: enable ACPI GTDT support for ARM SBSA watchdog driver fu.wei
2015-06-12 13:16     ` Timur Tabi
2015-06-10 17:47   ` [PATCH non-pretimeout 7/7] clocksource: simplify ACPI code in arm_arch_timer.c fu.wei
2015-06-23 14:16 ` [PATCH v6 0/8] Watchdog: introduce ARM SBSA watchdog driver fu.wei
2015-06-23 14:16   ` [PATCH v6 1/8] Documentation: add sbsa-gwdt.txt documentation fu.wei
2015-07-14 14:49     ` Rob Herring
2015-07-14 15:48       ` Fu Wei
2015-07-15 12:52         ` Fu Wei
2015-06-23 14:16   ` [PATCH v6 2/8] ARM64: add SBSA Generic Watchdog device node in foundation-v8.dts fu.wei
2015-06-23 14:16   ` [PATCH v6 3/8] ARM64: add SBSA Generic Watchdog device node in amd-seattle-soc.dtsi fu.wei
2015-06-23 14:16   ` [PATCH v6 4/8] Watchdog: introdouce "pretimeout" into framework fu.wei
2015-06-29 16:53   ` [PATCH v6 0/8] Watchdog: introduce ARM SBSA watchdog driver Fu Wei
2015-06-29 19:16     ` Guenter Roeck
2015-06-30 23:47       ` Fu Wei
2015-07-13  9:09       ` Fu Wei
2015-07-13 15:34         ` Guenter Roeck
2015-07-14  0:42           ` Fu Wei
2015-06-23 15:59 ` [PATCH v6 5/8] " fu.wei
2015-06-23 15:59   ` [PATCH v6 6/8] ACPI: add GTDT table parse driver into ACPI driver fu.wei
2015-07-23  8:32     ` Fu Wei
2015-06-23 15:59   ` [PATCH v6 7/8] Watchdog: enable ACPI GTDT support for ARM SBSA watchdog driver fu.wei
2015-06-23 15:59   ` [PATCH v6 8/8] clocksource: simplify ACPI code in arm_arch_timer.c fu.wei
2015-08-14 12:35 ` [PATCH] acpi, apei, arm64: APEI initial support for aarch64 fu.wei
2015-08-14 12:39   ` Fu Wei
2015-08-14 18:27     ` Zhang, Jonathan Zhixiong
2015-08-15  6:45       ` Fu Wei
2015-08-17 10:01   ` Will Deacon
2015-08-17 23:19     ` Zhang, Jonathan Zhixiong
2015-08-18  8:31       ` Will Deacon
2015-08-18  9:26         ` Fu Wei
2015-08-18 16:44 ` [PATCH v2 0/2] acpi, apei: add BERT support fu.wei
2015-08-18 16:44   ` [PATCH v2 1/2] acpi, apei: add Boot Error Record Table (BERT) support fu.wei
2015-12-16 10:29     ` Borislav Petkov
2016-01-06 18:21       ` Fu Wei
2016-01-06 18:31         ` Borislav Petkov
2015-08-18 16:44   ` [PATCH v2 2/2] acpi, apei, bert: Clear error status at the end of error handling fu.wei
2015-12-16 10:30     ` Borislav Petkov
2015-12-15 16:39   ` [Linaro-acpi] [PATCH v2 0/2] acpi, apei: add BERT support Timur Tabi
2016-01-06 18:24     ` Fu Wei
2015-08-24 17:01 ` [PATCH v7 0/8] Watchdog: introduce ARM SBSA watchdog driver fu.wei
2015-08-24 17:01   ` [PATCH v7 1/8] Documentation: add sbsa-gwdt.txt documentation fu.wei
2015-08-24 17:01   ` [PATCH v7 2/8] ARM64: add SBSA Generic Watchdog device node in foundation-v8.dts fu.wei
2015-09-15  8:43     ` Dave Young
2015-09-15  9:44       ` Pratyush Anand
2015-09-15 10:23         ` Fu Wei
2015-09-15 10:15       ` Fu Wei
2015-08-24 17:01   ` [PATCH v7 3/8] ARM64: add SBSA Generic Watchdog device node in amd-seattle-soc.dtsi fu.wei
2015-08-24 17:01   ` [PATCH v7 4/8] Watchdog: introdouce "pretimeout" into framework fu.wei
2015-08-24 17:01   ` [PATCH v7 5/8] Watchdog: introduce ARM SBSA watchdog driver fu.wei
2015-09-10 22:29     ` Jon Masters
2015-09-11  2:05       ` Guenter Roeck
2015-09-11  2:50       ` Guenter Roeck
2015-09-14 17:11         ` Fu Wei
2015-09-15  8:38     ` Dave Young
2015-09-15 10:07       ` Fu Wei
2015-09-16  1:57         ` Dave Young
2015-10-13  8:34           ` Fu Wei
2015-08-24 17:01   ` [PATCH v7 6/8] ACPI: add GTDT table parse driver into ACPI driver fu.wei
2015-08-24 17:01   ` [PATCH v7 7/8] Watchdog: enable ACPI GTDT support for ARM SBSA watchdog driver fu.wei
2015-08-24 17:01   ` [PATCH v7 8/8] clocksource: simplify ACPI code in arm_arch_timer.c fu.wei
2015-08-24 17:50     ` Thomas Gleixner
2015-08-25 17:19       ` Fu Wei
2015-08-25 19:17         ` Thomas Gleixner
2015-08-27 12:02           ` Hanjun Guo
2015-08-27 12:08             ` Thomas Gleixner
2015-08-27 12:28               ` Hanjun Guo
2015-08-27 13:36                 ` Hanjun Guo
2015-08-27 13:40                   ` Thomas Gleixner
2015-08-27 13:51                     ` Fu Wei
2015-09-14 18:05                       ` Marc Zyngier
2015-09-30 17:13   ` [PATCH v7 0/8] Watchdog: introduce ARM SBSA watchdog driver Pratyush Anand
2015-09-30 17:22     ` Fu Wei

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1431689090-3125-1-git-send-email-fu.wei@linaro.org \
    --to=fu.wei@linaro.org \
    --cc=Suravee.Suthikulpanit@amd.com \
    --cc=al.stone@linaro.org \
    --cc=arnd@arndb.de \
    --cc=ashwin.chaugule@linaro.org \
    --cc=corbet@lwn.net \
    --cc=devicetree@vger.kernel.org \
    --cc=graeme.gregory@linaro.org \
    --cc=hanjun.guo@linaro.org \
    --cc=jcm@redhat.com \
    --cc=leo.duran@amd.com \
    --cc=linaro-acpi@lists.linaro.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-watchdog@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=tekkamanninja@gmail.com \
    --cc=timur@codeaurora.org \
    --cc=vgandhi@codeaurora.org \
    --cc=wim@iguana.be \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).