devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: fu.wei-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org
To: Suravee.Suthikulpanit-5C7GfCeVMHo@public.gmane.org,
	linaro-acpi-cunTk1MwBs8s++Sfvej+rw@public.gmane.org,
	linux-watchdog-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-doc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Cc: tekkamanninja-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	graeme.gregory-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org,
	al.stone-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org,
	hanjun.guo-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org,
	timur-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org,
	ashwin.chaugule-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org,
	arnd-r2nGTMty4D4@public.gmane.org,
	linux-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org,
	vgandhi-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org,
	wim-IQzOog9fTRqzQB+pC5nmwQ@public.gmane.org,
	jcm-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
	leo.duran-5C7GfCeVMHo@public.gmane.org,
	corbet-T1hC0tSOHrs@public.gmane.org,
	mark.rutland-5wv7dgnIgG8@public.gmane.org,
	catalin.marinas-5wv7dgnIgG8@public.gmane.org,
	will.deacon-5wv7dgnIgG8@public.gmane.org,
	rjw-LthD3rsA81gm4RdzfppkhA@public.gmane.org,
	Fu Wei <fu.wei-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
Subject: [PATCH v4 4/7] Watchdog: introdouce "pretimeout" into framework
Date: Tue,  2 Jun 2015 12:05:04 +0800	[thread overview]
Message-ID: <1433217907-928-5-git-send-email-fu.wei@linaro.org> (raw)
In-Reply-To: <1433217907-928-1-git-send-email-fu.wei-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>

From: Fu Wei <fu.wei-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>

Also update Documentation/watchdog/watchdog-kernel-api.txt to
introduce:
(1)the new elements in the watchdog_device and watchdog_ops struct;
(2)the new API "watchdog_init_timeouts"

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 drivers are going to use this: ARM SBSA Generic Watchdog

Signed-off-by: Fu Wei <fu.wei-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
---
 Documentation/watchdog/watchdog-kernel-api.txt |  47 ++++++++--
 drivers/watchdog/watchdog_core.c               | 115 +++++++++++++++++++------
 drivers/watchdog/watchdog_dev.c                |  53 ++++++++++++
 include/linux/watchdog.h                       |  33 ++++++-
 4 files changed, 212 insertions(+), 36 deletions(-)

diff --git a/Documentation/watchdog/watchdog-kernel-api.txt b/Documentation/watchdog/watchdog-kernel-api.txt
index a0438f3..95b355d 100644
--- a/Documentation/watchdog/watchdog-kernel-api.txt
+++ b/Documentation/watchdog/watchdog-kernel-api.txt
@@ -49,6 +49,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;
@@ -70,6 +73,9 @@ It contains following fields:
 * timeout: the watchdog timer's timeout value (in seconds).
 * min_timeout: the watchdog timer's minimum timeout value (in seconds).
 * max_timeout: the watchdog timer's maximum timeout value (in seconds).
+* pretimeout: the watchdog timer's pretimeout value (in seconds).
+* min_pretimeout: the watchdog timer's minimum pretimeout value (in seconds).
+* max_pretimeout: the watchdog timer's maximum pretimeout value (in seconds).
 * bootstatus: status of the device after booting (reported with watchdog
   WDIOF_* status bits).
 * driver_data: a pointer to the drivers private data of a watchdog device.
@@ -92,6 +98,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 *);
@@ -153,9 +160,19 @@ they are supported. These optional routines/operations are:
   and -EIO for "could not write value to the watchdog". On success this
   routine should set the timeout value of the watchdog_device to the
   achieved timeout value (which may be different from the requested one
-  because the watchdog does not necessarily has a 1 second resolution).
+  because the watchdog does not necessarily has a 1 second resolution;
+  If the driver supports pretimeout, then the timeout value must be greater
+  than that).
   (Note: the WDIOF_SETTIMEOUT needs to be set in the options field of the
   watchdog's info structure).
+* set_pretimeout: this routine checks and changes the pretimeout of the
+  watchdog timer device. It returns 0 on success, -EINVAL for "parameter out of
+  range" and -EIO for "could not write value to the watchdog". On success this
+  routine should set the pretimeout value of the watchdog_device to the
+  achieved pretimeout value (which may be different from the requested one
+  because the watchdog does not necessarily has a 1 second resolution).
+  (Note: the WDIOF_PRETIMEOUT needs to be set in the options field of the
+  watchdog's info structure).
 * get_timeleft: this routines returns the time that's left before a reset.
 * ref: the operation that calls kref_get on the kref of a dynamically
   allocated watchdog_device struct.
@@ -219,8 +236,28 @@ extern int watchdog_init_timeout(struct watchdog_device *wdd,
                                   unsigned int timeout_parm, struct device *dev);
 
 The watchdog_init_timeout function allows you to initialize the timeout field
-using the module timeout parameter or by retrieving the timeout-sec property from
-the device tree (if the module timeout parameter is invalid). Best practice is
-to set the default timeout value as timeout value in the watchdog_device and
-then use this function to set the user "preferred" timeout value.
+using the module timeout parameter or by retrieving the first element of
+the timeout-sec property from the device tree (if the module timeout parameter
+is invalid). Best practice is to set the default timeout value as timeout value
+in the watchdog_device and then use this function to set the user "preferred"
+timeout value.
+This routine returns zero on success and a negative errno code for failure.
+
+Some watchdog timers have two stage of timeouts(timeout and pretimeout),
+to initialize the timeout and pretimeout fields at the same time, the following
+function can be used:
+
+extern int watchdog_init_timeouts(struct watchdog_device *wdd,
+                                  unsigned int pretimeout_parm,
+                                  unsigned int timeout_parm,
+                                  struct device *dev);
+
+The watchdog_init_timeouts function allows you to initialize the pretimeout and
+timeout fields using the module pretimeout and timeout parameter or by
+retrieving the elements in the timeout-sec property(the first element is for
+timeout, the second one is for pretimeout) from the device tree(if the module
+pretimeout and timeout parameter are invalid).
+Best practice is to set the default pretimeout and timeout value as pretimeout
+and timeout value in the watchdog_device and then use this function to set the
+user "preferred" pretimeout value.
 This routine returns zero on success and a negative errno code for failure.
diff --git a/drivers/watchdog/watchdog_core.c b/drivers/watchdog/watchdog_core.c
index cec9b55..ff18db3 100644
--- a/drivers/watchdog/watchdog_core.c
+++ b/drivers/watchdog/watchdog_core.c
@@ -43,60 +43,119 @@
 static DEFINE_IDA(watchdog_ida);
 static struct class *watchdog_class;
 
-static void watchdog_check_min_max_timeout(struct watchdog_device *wdd)
+static void watchdog_check_min_max_timeouts(struct watchdog_device *wdd)
 {
 	/*
-	 * Check that we have valid min and max timeout values, if
-	 * not reset them both to 0 (=not used or unknown)
+	 * Check that we have valid min and max pretimeout and timeout 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;
+	}
 	if (wdd->min_timeout > wdd->max_timeout) {
 		pr_info("Invalid min and max timeout values, resetting to 0!\n");
 		wdd->min_timeout = 0;
 		wdd->max_timeout = 0;
 	}
+	/*
+	 * Check that we have valid min timeout and max pretimeout values,
+	 * if not reset them.
+	 */
+	if (wdd->min_pretimeout && wdd->min_timeout < wdd->min_pretimeout) {
+		pr_info("Invalid min_timeout, resetting to min_pretimeout+1\n");
+		wdd->min_timeout = wdd->min_pretimeout + 1;
+	}
+	if (wdd->max_pretimeout && wdd->max_timeout < wdd->max_pretimeout) {
+		pr_info("Invalid max_pretimeout, resetting to max_timeout-1\n");
+		wdd->max_pretimeout = wdd->max_timeout - 1;
+	}
 }
 
 /**
- * watchdog_init_timeout() - initialize the timeout field
+ * watchdog_init_timeouts() - initialize the pretimeout and timeout field
+ * @pretimeout_parm: pretimeout module parameter
  * @timeout_parm: timeout module parameter
  * @dev: Device that stores the timeout-sec property
  *
- * Initialize the timeout field of the watchdog_device struct with either the
- * timeout 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 timeout value.
+ * Initialize the pretimeout and timeout field of the watchdog_device struct
+ * with either the pretimeout and timeout module parameter (if it is valid
+ * value) or the timeout-sec property (only if it is a valid value and the
+ * pretimeout_parm and timeout_parm is out of bounds). If none of them are
+ * valid, then we keep the old value (which should normally be the default
+ * timeout value).
  *
  * A zero is returned on success and -EINVAL for failure.
  */
-int watchdog_init_timeout(struct watchdog_device *wdd,
-				unsigned int timeout_parm, struct device *dev)
+int watchdog_init_timeouts(struct watchdog_device *wdd,
+			   unsigned int pretimeout_parm,
+			   unsigned int timeout_parm,
+			   struct device *dev)
 {
-	unsigned int t = 0;
-	int ret = 0;
+	int ret = 0, length = 0;
+	u32 timeouts[2] = {0};
 
-	watchdog_check_min_max_timeout(wdd);
+	watchdog_check_min_max_timeouts(wdd);
 
-	/* try to get the timeout module parameter first */
-	if (!watchdog_timeout_invalid(wdd, timeout_parm) && timeout_parm) {
-		wdd->timeout = timeout_parm;
-		return ret;
+	/*
+	 * Try to get the pretimeout module parameter first,
+	 * but it can be "0", that means we don't use pretimeout.
+	 */
+	if (pretimeout_parm) {
+		if (!watchdog_pretimeout_invalid(wdd, pretimeout_parm))
+			timeouts[1] = pretimeout_parm;
+		ret = -EINVAL; /* pretimeout_parm is not "0", and invalid */
 	}
-	if (timeout_parm)
+
+	/*
+	 * Try to get the timeout module parameter,
+	 * if it's valid and pretimeout is ont invalid(ret == 0),
+	 * assignment and return zero. Otherwise, try dtb.
+	 */
+	if (timeout_parm) {
+		if (!watchdog_timeout_invalid(wdd, timeout_parm) && !ret) {
+			wdd->timeout = timeout_parm;
+			wdd->pretimeout = timeouts[1];
+			return 0;
+		}
 		ret = -EINVAL;
+	}
 
-	/* try to get the timeout_sec property */
+	/*
+	 * We get here, the situation is one of them:
+	 * (1)at least one of parameters is invalid(ret = -EINVAL);
+	 * (2)both of them are 0.(ret = 0)
+	 * So give up the module parameter(at least drop the invalid one),
+	 * try to get the timeout_sec property from dtb.
+	 */
 	if (dev == NULL || dev->of_node == NULL)
 		return ret;
-	of_property_read_u32(dev->of_node, "timeout-sec", &t);
-	if (!watchdog_timeout_invalid(wdd, t) && t)
-		wdd->timeout = t;
-	else
-		ret = -EINVAL;
 
-	return ret;
+	/*
+	 * We get here, that means maybe we can get timeouts from dtb,
+	 * if "timeout-sec" is available and the data is valid.
+	 */
+	of_find_property(dev->of_node, "timeout-sec", &length);
+	if (length > 0 && length <= sizeof(u32) * 2) {
+		of_property_read_u32_array(dev->of_node,
+					   "timeout-sec", timeouts,
+					   length / sizeof(u32));
+		if (length == sizeof(u32) * 2 && timeouts[1] &&
+		    watchdog_pretimeout_invalid(wdd, timeouts[1]))
+				return -EINVAL; /* pretimeout is invalid */
+
+		if (!watchdog_timeout_invalid(wdd, timeouts[0]) &&
+		    timeouts[0]) {
+			wdd->timeout = timeouts[0];
+			wdd->pretimeout = timeouts[1];
+			return 0;
+		}
+	}
+
+	return -EINVAL;
 }
-EXPORT_SYMBOL_GPL(watchdog_init_timeout);
+EXPORT_SYMBOL_GPL(watchdog_init_timeouts);
 
 /**
  * watchdog_register_device() - register a watchdog device
@@ -119,7 +178,7 @@ int watchdog_register_device(struct watchdog_device *wdd)
 	if (wdd->ops->start == NULL || wdd->ops->stop == NULL)
 		return -EINVAL;
 
-	watchdog_check_min_max_timeout(wdd);
+	watchdog_check_min_max_timeouts(wdd);
 
 	/*
 	 * Note: now that all watchdog_device data has been verified, we
diff --git a/drivers/watchdog/watchdog_dev.c b/drivers/watchdog/watchdog_dev.c
index 6aaefba..af0777e 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,27 @@ 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:
+		/* check if we support the pretimeout */
+		if (!(wdd->info->options & WDIOF_PRETIMEOUT))
+			return -EOPNOTSUPP;
+		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 keeps running (and if
+		 * possible that it takes the new pretimeout)
+		 */
+		watchdog_ping(wdd);
+		/* Fall */
+	case WDIOC_GETPRETIMEOUT:
+		/* check if we support the pretimeout */
+		if (wdd->info->options & WDIOF_PRETIMEOUT)
+			return put_user(wdd->pretimeout, p);
+		return -EOPNOTSUPP;
 	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..b1e325d 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;
@@ -117,7 +125,17 @@ static inline void watchdog_set_nowayout(struct watchdog_device *wdd, bool noway
 static inline bool watchdog_timeout_invalid(struct watchdog_device *wdd, unsigned int t)
 {
 	return ((wdd->max_timeout != 0) &&
-		(t < wdd->min_timeout || t > wdd->max_timeout));
+		(t < wdd->min_timeout || t > wdd->max_timeout ||
+			t <= wdd->pretimeout));
+}
+
+/* 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 ||
+			(wdd->timeout != 0 && t >= wdd->timeout)));
 }
 
 /* Use the following functions to manipulate watchdog driver specific data */
@@ -132,11 +150,20 @@ 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_timeouts(struct watchdog_device *wdd,
+				  unsigned int pretimeout_parm,
+				  unsigned int timeout_parm,
+				  struct device *dev);
 extern int watchdog_register_device(struct watchdog_device *);
 extern void watchdog_unregister_device(struct watchdog_device *);
 
+static inline int watchdog_init_timeout(struct watchdog_device *wdd,
+					unsigned int timeout_parm,
+					struct device *dev)
+{
+	return watchdog_init_timeouts(wdd, 0, timeout_parm, dev);
+}
+
 #ifdef CONFIG_HARDLOCKUP_DETECTOR
 void watchdog_nmi_disable_all(void);
 void watchdog_nmi_enable_all(void);
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2015-06-02  4:05 UTC|newest]

Thread overview: 312+ 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
     [not found]     ` <1431688090-2145-2-git-send-email-fu.wei-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
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
     [not found]   ` <1431688090-2145-1-git-send-email-fu.wei-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-05-15 11:08     ` [PATCH 3/6] ARM64: add SBSA Generic Watchdog device node in amd-seattle-soc.dtsi fu.wei-QSEj5FYQhm4dnm+yROfE0A
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 ` [PATCH 4/6] Watchdog: introdouce "pretimeout" into framework fu.wei
2015-05-15 11:24   ` [PATCH 5/6] Watchdog: introdouce ARM SBSA watchdog driver fu.wei
2015-05-15 13:57     ` Arnd Bergmann
2015-05-16 12:01       ` Fu Wei
2015-05-16 12:26         ` Timur Tabi
     [not found]     ` <1431689090-3125-2-git-send-email-fu.wei-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-05-15 22:57       ` Guenter Roeck
     [not found]         ` <555679DE.4080502-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
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
     [not found]         ` <20150515180105.GB19230-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
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
     [not found]             ` <20150518201445.GA21230-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2015-05-19  1:12               ` Fu Wei
     [not found] ` <=fu.wei-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-05-21  8:32   ` [PATCH v2 0/7] Watchdog: introduce ARM SBSA watchdog driver fu.wei-QSEj5FYQhm4dnm+yROfE0A
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
     [not found]         ` <555D9FA8.9060106-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2015-05-21 10:05           ` Fu Wei
2015-05-21 10:17             ` Guenter Roeck
     [not found]               ` <555DB0B8.9000503-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2015-05-21 10:50                 ` Fu Wei
2015-05-21 13:28                   ` Guenter Roeck
2015-05-21 10:11       ` Guenter Roeck
     [not found]       ` <1432197156-16947-6-git-send-email-fu.wei-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-05-21 15:32         ` Guenter Roeck
2015-05-22  5:17           ` Fu Wei
     [not found]           ` <20150521153225.GA17441-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
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
     [not found]             ` <555EEFDB.2030907-20XrK1Fq8EXHOG6cAo2yLw@public.gmane.org>
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
     [not found]                   ` <555F2DED.2010200-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
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 7/7] ACPI: import watchdog info of GTDT into platform device fu.wei
     [not found]       ` <1432197156-16947-8-git-send-email-fu.wei-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-05-22 15:38         ` Hanjun Guo
2015-05-23 19:46         ` Timur Tabi
     [not found]     ` <1432197156-16947-1-git-send-email-fu.wei-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-05-21  8:32       ` [PATCH v2 1/7] clocksource: export "arch_timer_get_rate" for the other drivers fu.wei-QSEj5FYQhm4dnm+yROfE0A
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 6/7] Watchdog: introduce ARM SBSA watchdog driver fu.wei-QSEj5FYQhm4dnm+yROfE0A
     [not found]         ` <1432197156-16947-7-git-send-email-fu.wei-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-05-21 10:34           ` Guenter Roeck
2015-05-21 11:08             ` Fu Wei
     [not found]               ` <CADyBb7vbcHG69cpnx6sUwaT7abS7w3Er62+50D6PUrGHVnG9vQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-05-21 15:18                 ` Guenter Roeck
2015-05-21 15:46                   ` Fu Wei
2015-05-21 15:59                     ` Guenter Roeck
     [not found]                       ` <20150521155950.GA18300-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2015-05-21 16:12                         ` Fu Wei
     [not found]                           ` <CADyBb7vwGcdxeOE+QEzgmF5=2dsk83F4WyfJvp2ccZ12w1qYHQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-05-21 16:33                             ` Timur Tabi
     [not found]                               ` <555E08BD.9010603-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2015-05-22  5:05                                 ` Fu Wei
2015-05-21 13:09             ` Timur Tabi
     [not found]               ` <555DD8EE.1060607-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2015-05-21 15:28                 ` Guenter Roeck
     [not found]                   ` <20150521152838.GB16668-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2015-05-25  3:43                     ` Fu Wei
     [not found]                       ` <CADyBb7tH+oa_efFTA0V7YksNN+8L+4xGtWuXpxp91SO3e_f9Vg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-05-25  3:46                         ` Timur Tabi
     [not found]                           ` <55629B15.2060102-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
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
     [not found]               ` <CADyBb7vpC6ihvkrRG-htCS8-_xRkjtny=9ZGQsCsmK7-ng5AxA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-05-23 19:40                 ` Timur Tabi
     [not found]                   ` <5560D7AC.50009-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2015-05-23 20:01                     ` Guenter Roeck
     [not found]                       ` <5560DCB6.3090008-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
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
     [not found]                         ` <CADyBb7t7+aT=pF0we5umAGXJAJ0njU0zULFAZ-OHVpE0m=ueyg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-05-24 14:15                           ` Guenter Roeck
     [not found]                             ` <5561DD0B.1040008-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2015-05-24 15:50                               ` Fu Wei
2015-05-24 16:23                                 ` Guenter Roeck
2015-05-24 16:47                                   ` Fu Wei
     [not found]                                     ` <CADyBb7vAwXNFH50tFQUxoqWKx7VBLzo5xd7takBgdVYpJ_0d8g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-05-24 16:58                                       ` Guenter Roeck
     [not found]                                         ` <5562031D.3040808-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2015-05-24 17:04                                           ` Fu Wei
2015-05-24 15:02                         ` Timur Tabi
     [not found]                           ` <5561E7EA.5090702-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2015-05-24 16:04                             ` Fu Wei
     [not found]                               ` <CADyBb7tYL7ATRKNAoRYTXo53LKdCiFZ2YDib4g0nZ8=YxTgO+A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-05-24 16:13                                 ` Timur Tabi
     [not found]                                   ` <5561F8A8.4080607-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
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
     [not found]                                           ` <CADyBb7snhcR43KT_xrFipBH3PBNBfj39-hE-mSjJ3vMb7Ehp+A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-05-24 17:19                                             ` Timur Tabi
2015-05-24 17:23                                               ` Fu Wei
     [not found]                                               ` <55620808.4030605-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
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
     [not found]                 ` <20150522150145.GA2930-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2015-05-22 15:18                   ` Hanjun Guo
     [not found]                     ` <555F48BD.4010605-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
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
     [not found]                           ` <CADyBb7sW8GTJmRR2ysUAYtZ=mkSCFZBzXuor=puLck0Q983NMw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-05-24 14:06                             ` Guenter Roeck
     [not found]                               ` <5561DAF3.8020805-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2015-05-24 15:06                                 ` Timur Tabi
2015-05-24 15:37                                 ` Fu Wei
2015-05-23 18:40                   ` Timur Tabi
     [not found]                     ` <5560C984.10108-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2015-05-23 19:14                       ` Fu Wei
2015-05-23 19:21                         ` Timur Tabi
2015-05-21  8:46       ` [Linaro-acpi] [PATCH v2 0/7] " 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-QSEj5FYQhm4dnm+yROfE0A
     [not found]     ` <1432548193-19569-1-git-send-email-fu.wei-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-05-25 10:03       ` [PATCH v3 1/6] Documentation: add sbsa-gwdt.txt documentation fu.wei-QSEj5FYQhm4dnm+yROfE0A
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
     [not found]       ` <1432548193-19569-5-git-send-email-fu.wei-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-05-25 19:28         ` Guenter Roeck
2015-05-25 10:03     ` [PATCH v3 5/6] Watchdog: introduce ARM SBSA watchdog driver fu.wei
     [not found]       ` <1432548193-19569-6-git-send-email-fu.wei-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-05-25 19:39         ` Guenter Roeck
     [not found]           ` <55637A6D.3080403-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
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
     [not found]         ` <5564A44A.5000606-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2015-05-29 10:17           ` Fu Wei
     [not found]             ` <CADyBb7uQCPoerjyiGT3uUxXJk6XVTEkEuOdEB+-w6G-=RrdTmA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-05-29 13:28               ` Timur Tabi
     [not found]                 ` <55686960.5010503-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2015-05-29 14:32                   ` Fu Wei
     [not found]                     ` <CADyBb7tdoajU4crdjrjCf68_Lz=8KbxAX4+Gd_H15aNaimHXww-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-05-29 15:46                       ` Timur Tabi
2015-05-29 17:53                         ` Fu Wei
     [not found]                           ` <CADyBb7t4moXr_a9unRXDHZCcmbvjWui2ifJ6=eiv8Ce=FOWoYA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-05-29 18:27                             ` Timur Tabi
     [not found]                         ` <556889D9.5070707-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
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
     [not found]           ` <5564A0C7.1090306-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2015-05-26 18:24             ` Guenter Roeck
2015-05-27  3:01           ` Hanjun Guo
     [not found]             ` <5565336D.6040904-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-05-27  3:08               ` Timur Tabi
     [not found]       ` <1432548193-19569-7-git-send-email-fu.wei-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
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
     [not found]                 ` <20150526153613.GA22487-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2015-05-26 16:27                   ` Fu Wei
     [not found]                     ` <CADyBb7uMh3vKktXa1VJJdchcCQPyOuZ=5ztxoujjyjmxWGhq5w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-05-27 10:44                       ` Will Deacon
     [not found]                         ` <20150527104408.GB29002-5wv7dgnIgG8@public.gmane.org>
2015-05-29 11:13                           ` Fu Wei
2015-06-10 13:41   ` [PATCH v5 0/8] Watchdog: introduce ARM SBSA watchdog driver fu.wei-QSEj5FYQhm4dnm+yROfE0A
2015-06-10 13:41     ` [PATCH v5 1/8] Documentation: add sbsa-gwdt.txt documentation fu.wei
     [not found]     ` <1433943713-32466-1-git-send-email-fu.wei-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-06-10 13:41       ` [PATCH v5 2/8] ARM64: add SBSA Generic Watchdog device node in foundation-v8.dts fu.wei-QSEj5FYQhm4dnm+yROfE0A
2015-06-10 13:41       ` [PATCH v5 3/8] ARM64: add SBSA Generic Watchdog device node in amd-seattle-soc.dtsi fu.wei-QSEj5FYQhm4dnm+yROfE0A
2015-06-10 13:41       ` [PATCH v5 5/8] Watchdog: introduce ARM SBSA watchdog driver fu.wei-QSEj5FYQhm4dnm+yROfE0A
2015-06-10 13:41       ` [PATCH v5 6/8] ACPI: add GTDT table parse driver into ACPI driver fu.wei-QSEj5FYQhm4dnm+yROfE0A
2015-06-10 13:41       ` [PATCH v5 7/8] Watchdog: enable ACPI GTDT support for ARM SBSA watchdog driver fu.wei-QSEj5FYQhm4dnm+yROfE0A
2015-06-10 13:41     ` [PATCH v5 4/8] Watchdog: introdouce "pretimeout" into framework fu.wei
     [not found]       ` <1433943713-32466-5-git-send-email-fu.wei-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-06-10 16:21         ` Guenter Roeck
2015-06-11 11:22           ` Fu Wei
     [not found]             ` <CADyBb7uzf0CUop5q9V2xmzmNvxPr8b+OEaV-0GxjmVvxKvRCeA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-06-11 16:38               ` Guenter Roeck
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-QSEj5FYQhm4dnm+yROfE0A
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 4/7] Watchdog: introduce ARM SBSA watchdog driver fu.wei
2015-06-11 16:28       ` [non-pretimeout,4/7] " Guenter Roeck
2015-06-23 13:26         ` Fu Wei
     [not found]           ` <CADyBb7uGT9bTNiG7524wrd14xiFfgwoDNMq1_J2HDxiK-ogc8Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-06-23 15:21             ` Guenter Roeck
2015-06-23 16:17               ` Fu Wei
2015-06-23 16:43                 ` Guenter Roeck
     [not found]                   ` <20150623164314.GB20017-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2015-06-23 17:01                     ` Fu Wei
     [not found]       ` <1433958452-23721-5-git-send-email-fu.wei-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-06-11  5:33         ` [PATCH non-pretimeout 4/7] " Guenter Roeck
2015-06-11  5:44           ` Fu Wei
2015-06-11  5:49             ` Guenter Roeck
     [not found]               ` <55792171.7050600-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2015-06-11  5:59                 ` Fu Wei
2015-06-12  3:57         ` Timur Tabi
     [not found]           ` <557A58A5.4010208-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
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
     [not found]     ` <1433958452-23721-1-git-send-email-fu.wei-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-06-10 17:47       ` [PATCH non-pretimeout 1/7] Documentation: add sbsa-gwdt.txt documentation fu.wei-QSEj5FYQhm4dnm+yROfE0A
2015-06-10 17:47       ` [PATCH non-pretimeout 3/7] ARM64: add SBSA Generic Watchdog device node in amd-seattle-soc.dtsi fu.wei-QSEj5FYQhm4dnm+yROfE0A
     [not found]         ` <1433958452-23721-4-git-send-email-fu.wei-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-06-12 20:54           ` Timur Tabi
2015-06-14 10:05             ` Fu Wei
     [not found]               ` <CADyBb7seDgmQYxjsxCo_thPr_w847oy7d0AEiL8w9T_ZCF9+BQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
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 6/7] Watchdog: enable ACPI GTDT support for ARM SBSA watchdog driver fu.wei-QSEj5FYQhm4dnm+yROfE0A
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-QSEj5FYQhm4dnm+yROfE0A
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
     [not found]   ` <1433217907-928-1-git-send-email-fu.wei-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-06-02  4:05     ` [PATCH v4 3/7] ARM64: add SBSA Generic Watchdog device node in amd-seattle-soc.dtsi fu.wei-QSEj5FYQhm4dnm+yROfE0A
2015-06-02  4:05     ` fu.wei-QSEj5FYQhm4dnm+yROfE0A [this message]
     [not found]       ` <1433217907-928-5-git-send-email-fu.wei-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-06-02 16:12         ` [PATCH v4 4/7] Watchdog: introdouce "pretimeout" into framework 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-QSEj5FYQhm4dnm+yROfE0A
     [not found]       ` <1433217907-928-6-git-send-email-fu.wei-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-06-02 15:32         ` Timur Tabi
     [not found]           ` <556DCC95.806-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2015-06-02 15:37             ` Guenter Roeck
2015-06-02 16:55             ` Fu Wei
     [not found]               ` <CADyBb7sXiMNtrH+Eu1Qj00TPNLMMr5cCTPObzFmKnHLsbWH79Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-06-02 17:07                 ` Guenter Roeck
     [not found]                   ` <556DE2D5.3090906-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2015-06-08 16:05                     ` Fu Wei
     [not found]                       ` <CADyBb7uT=gFJkK8s-QF1n4Z+Zov9Lurp1nvBO-C-qszTqbMYXQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-06-08 18:26                         ` Guenter Roeck
2015-06-09  3:59                           ` Fu Wei
     [not found]                             ` <CADyBb7sYPnvDVEJYVQm65B1JV=yvq10+ezs2x3f8F=TJCZ+OJA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-06-09  4:37                               ` Guenter Roeck
     [not found]                                 ` <55766D74.2060401-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2015-06-09  6:37                                   ` Fu Wei
     [not found]                                     ` <CADyBb7vR-jP6ZjzMSnprrSXbNayk8umx+cXV3TsGypfhZcCwTw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-06-09  8:04                                       ` Guenter Roeck
2015-06-09 10:46                                         ` Fu Wei
2015-06-09 16:22                                           ` Guenter Roeck
     [not found]                                             ` <557712CF.8010802-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2015-06-09 16:29                                               ` Timur Tabi
2015-06-09 16:45                                                 ` Guenter Roeck
     [not found]                                                   ` <5577180E.4070804-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2015-06-09 16:53                                                     ` Timur Tabi
2015-06-10  3:41                                                     ` Fu Wei
2015-06-10  4:20                                                       ` Fu Wei
     [not found]                                                         ` <CADyBb7s7NpQJFiFFGbbjCTQ0+bNCZoVMC4KwaZbWwGs_Wa=mLg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-06-10 14:22                                                           ` Timur Tabi
     [not found]                                                             ` <5578482E.70307-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2015-06-10 14:36                                                               ` Fu Wei
     [not found]                                                                 ` <CADyBb7sT=NbtNVfR4wPYi2gbWq73CDY-fu+XAURS_yTY6sL_mQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-06-10 14:41                                                                   ` Fu Wei
     [not found]                                                       ` <CADyBb7sVd5nLwb3eHRPiNt-WTynfaJonOyuE_bD694dayyvevA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-06-10 15:38                                                         ` Fu Wei
     [not found]                                                           ` <CADyBb7tSkdRc0GHbX_vAdDAeFGVS=CFCdC_jMCm5LYmg9m1Qow-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
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
     [not found]                                                             ` <55790455.7090809-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2015-06-11  5:32                                                               ` Fu Wei
2015-06-02 17:21                 ` Timur Tabi
2015-06-03 18:16         ` Timur Tabi
     [not found]           ` <556F4489.6030206-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2015-06-03 18:25             ` Guenter Roeck
     [not found]               ` <20150603182503.GD6460-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
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
     [not found]                       ` <20150914042104.GA4682-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2015-09-14 15:27                         ` Fu Wei
2015-09-14  8:51                     ` Catalin Marinas
     [not found]                     ` <55F207FD.2030007-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
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-23 14:16 ` [PATCH v6 0/8] Watchdog: introduce ARM SBSA watchdog driver 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
     [not found]   ` <1435068994-13526-1-git-send-email-fu.wei-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-06-23 14:16     ` [PATCH v6 1/8] Documentation: add sbsa-gwdt.txt documentation fu.wei-QSEj5FYQhm4dnm+yROfE0A
     [not found]       ` <1435068994-13526-2-git-send-email-fu.wei-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
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-QSEj5FYQhm4dnm+yROfE0A
2015-06-23 14:16     ` [PATCH v6 4/8] Watchdog: introdouce "pretimeout" into framework fu.wei-QSEj5FYQhm4dnm+yROfE0A
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
     [not found]         ` <559199AB.8090106-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2015-07-13  9:09           ` Fu Wei
2015-07-13 15:34             ` Guenter Roeck
     [not found]               ` <20150713153437.GA10688-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2015-07-14  0:42                 ` Fu Wei
2015-06-23 15:59 ` [PATCH v6 5/8] " fu.wei
     [not found]   ` <1435075182-20182-1-git-send-email-fu.wei-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-06-23 15:59     ` [PATCH v6 6/8] ACPI: add GTDT table parse driver into ACPI driver fu.wei-QSEj5FYQhm4dnm+yROfE0A
     [not found]       ` <1435075182-20182-2-git-send-email-fu.wei-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
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-QSEj5FYQhm4dnm+yROfE0A
2015-06-23 15:59     ` [PATCH v6 8/8] clocksource: simplify ACPI code in arm_arch_timer.c fu.wei-QSEj5FYQhm4dnm+yROfE0A
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
     [not found]     ` <1440435683-7343-3-git-send-email-fu.wei-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
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
     [not found]       ` <55F20461.20904-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
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
     [not found]           ` <20150916015741.GA6699-0VdLhd/A9PlKO6g2yTT9Sx/sF2h8X+2i0E9HWUfgJXw@public.gmane.org>
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
     [not found]   ` <1440435683-7343-1-git-send-email-fu.wei-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-08-24 17:01     ` [PATCH v7 8/8] clocksource: simplify ACPI code in arm_arch_timer.c fu.wei-QSEj5FYQhm4dnm+yROfE0A
2015-08-24 17:50       ` Thomas Gleixner
2015-08-25 17:19         ` Fu Wei
     [not found]           ` <CADyBb7sVGePKtU45_DBGd74fykAPVshmbnRQJDDOrrvoHTGcKQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
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
     [not found]                       ` <55DF1257.9090303-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-08-27 13:40                         ` Thomas Gleixner
2015-08-27 13:51                           ` Fu Wei
     [not found]                             ` <CADyBb7vKQq_T_P27hZQs+6-TJo2YD=QXjVseQ8dOvixwSHwL5A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
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=1433217907-928-5-git-send-email-fu.wei@linaro.org \
    --to=fu.wei-qsej5fyqhm4dnm+yrofe0a@public.gmane.org \
    --cc=Suravee.Suthikulpanit-5C7GfCeVMHo@public.gmane.org \
    --cc=al.stone-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=arnd-r2nGTMty4D4@public.gmane.org \
    --cc=ashwin.chaugule-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=catalin.marinas-5wv7dgnIgG8@public.gmane.org \
    --cc=corbet-T1hC0tSOHrs@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=graeme.gregory-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=hanjun.guo-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=jcm-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=leo.duran-5C7GfCeVMHo@public.gmane.org \
    --cc=linaro-acpi-cunTk1MwBs8s++Sfvej+rw@public.gmane.org \
    --cc=linux-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org \
    --cc=linux-doc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-watchdog-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=mark.rutland-5wv7dgnIgG8@public.gmane.org \
    --cc=rjw-LthD3rsA81gm4RdzfppkhA@public.gmane.org \
    --cc=tekkamanninja-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=timur-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org \
    --cc=vgandhi-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org \
    --cc=will.deacon-5wv7dgnIgG8@public.gmane.org \
    --cc=wim-IQzOog9fTRqzQB+pC5nmwQ@public.gmane.org \
    /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).