linux-renesas-soc.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/8] watchdog: rzg2l_wdt: Add support for RZ/G3S
@ 2024-02-02  7:58 Claudiu
  2024-02-02  7:58 ` [PATCH v3 1/8] watchdog: rzg2l_wdt: Select PM Claudiu
                   ` (7 more replies)
  0 siblings, 8 replies; 16+ messages in thread
From: Claudiu @ 2024-02-02  7:58 UTC (permalink / raw)
  To: wim, linux, robh, krzysztof.kozlowski+dt, conor+dt, p.zabel,
	geert+renesas, magnus.damm, biju.das.jz
  Cc: linux-watchdog, devicetree, linux-kernel, linux-renesas-soc,
	claudiu.beznea, Claudiu Beznea

From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>

Hi,

Series adds watchdog support for Renesas RZ/G3S (R9A08G045) SoC.

Patches do the following:
- patch 1/8 makes the driver depend on CONFIG_PM
- patches 2-6/8 adds fixes and cleanups for the watchdog driver
- patch 7/8 adds suspend to RAM to the watchdog driver (to be used by
  RZ/G3S)
- patch 8/8 documents the RZ/G3S support

Thank you,
Claudiu Beznea

Changes in v3:
- make driver depend on PM not select it
- drop patches already accepted (patches 1, 10, 11 from v2)
- re-arranged the tags in patch 8/8 as they were messed by b4 am/shazam

Changes in v2:
- added patch "watchdog: rzg2l_wdt: Select PM"
- propagate the return status of rzg2l_wdt_start() to it's callers
  in patch "watchdog: rzg2l_wdt: Use pm_runtime_resume_and_get()" 
- propagate the return status of rzg2l_wdt_stop() to it's callers
  in patch "watchdog: rzg2l_wdt: Check return status of pm_runtime_put()" 
- removed pm_ptr() from patch "watchdog: rzg2l_wdt: Add suspend/resume support"
- s/G2UL/G2L in patch "dt-bindings: watchdog: renesas,wdt: Document RZ/G3S support"
- collected tags


Claudiu Beznea (8):
  watchdog: rzg2l_wdt: Select PM
  watchdog: rzg2l_wdt: Use pm_runtime_resume_and_get()
  watchdog: rzg2l_wdt: Check return status of pm_runtime_put()
  watchdog: rzg2l_wdt: Remove reset de-assert on probe/stop
  watchdog: rzg2l_wdt: Remove comparison with zero
  watchdog: rzg2l_wdt: Rely on the reset driver for doing proper reset
  watchdog: rzg2l_wdt: Add suspend/resume support
  dt-bindings: watchdog: renesas,wdt: Document RZ/G3S support

 .../bindings/watchdog/renesas,wdt.yaml        |   1 +
 drivers/watchdog/Kconfig                      |   2 +-
 drivers/watchdog/rzg2l_wdt.c                  | 111 ++++++++++--------
 3 files changed, 63 insertions(+), 51 deletions(-)

-- 
2.39.2


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH v3 1/8] watchdog: rzg2l_wdt: Select PM
  2024-02-02  7:58 [PATCH v3 0/8] watchdog: rzg2l_wdt: Add support for RZ/G3S Claudiu
@ 2024-02-02  7:58 ` Claudiu
  2024-02-02  8:03   ` Biju Das
  2024-02-02  7:58 ` [PATCH v3 2/8] watchdog: rzg2l_wdt: Use pm_runtime_resume_and_get() Claudiu
                   ` (6 subsequent siblings)
  7 siblings, 1 reply; 16+ messages in thread
From: Claudiu @ 2024-02-02  7:58 UTC (permalink / raw)
  To: wim, linux, robh, krzysztof.kozlowski+dt, conor+dt, p.zabel,
	geert+renesas, magnus.damm, biju.das.jz
  Cc: linux-watchdog, devicetree, linux-kernel, linux-renesas-soc,
	claudiu.beznea, Claudiu Beznea

From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>

The rzg2l_wdt watchdog driver cannot work w/o CONFIG_PM=y (e.g. the
clocks are enabled though pm_runtime_* specific APIs). To avoid building
a driver that doesn't work make it depend on CONFIG_PM.

Suggested-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
---

Changes in v3:
- make driver depend on PM; with that the "unmet direct dependency"
  Reported-by: kernel test robot <lkp@intel.com>
  was also fixed
- adapt commit message

Changes in v2:
- this patch is new

 drivers/watchdog/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
index 7d22051b15a2..c9abe8f307bb 100644
--- a/drivers/watchdog/Kconfig
+++ b/drivers/watchdog/Kconfig
@@ -910,7 +910,7 @@ config RENESAS_RZN1WDT
 
 config RENESAS_RZG2LWDT
 	tristate "Renesas RZ/G2L WDT Watchdog"
-	depends on ARCH_RENESAS || COMPILE_TEST
+	depends on (ARCH_RENESAS && PM) || COMPILE_TEST
 	select WATCHDOG_CORE
 	help
 	  This driver adds watchdog support for the integrated watchdogs in the
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH v3 2/8] watchdog: rzg2l_wdt: Use pm_runtime_resume_and_get()
  2024-02-02  7:58 [PATCH v3 0/8] watchdog: rzg2l_wdt: Add support for RZ/G3S Claudiu
  2024-02-02  7:58 ` [PATCH v3 1/8] watchdog: rzg2l_wdt: Select PM Claudiu
@ 2024-02-02  7:58 ` Claudiu
  2024-02-02  7:58 ` [PATCH v3 3/8] watchdog: rzg2l_wdt: Check return status of pm_runtime_put() Claudiu
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 16+ messages in thread
From: Claudiu @ 2024-02-02  7:58 UTC (permalink / raw)
  To: wim, linux, robh, krzysztof.kozlowski+dt, conor+dt, p.zabel,
	geert+renesas, magnus.damm, biju.das.jz
  Cc: linux-watchdog, devicetree, linux-kernel, linux-renesas-soc,
	claudiu.beznea, Claudiu Beznea

From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>

pm_runtime_get_sync() may return with error. In case it returns with error
dev->power.usage_count needs to be decremented. pm_runtime_resume_and_get()
takes care of this. Thus use it.

Along with it the rzg2l_wdt_set_timeout() function was updated to
propagate the result of rzg2l_wdt_start() to its caller.

Fixes: 2cbc5cd0b55f ("watchdog: Add Watchdog Timer driver for RZ/G2L")
Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
---

Changes in v3:
- none

Changes in v2:
- propagate the return code of rzg2l_wdt_start() to it's callers

 drivers/watchdog/rzg2l_wdt.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/drivers/watchdog/rzg2l_wdt.c b/drivers/watchdog/rzg2l_wdt.c
index 1741f98ca67c..d87d4f50180c 100644
--- a/drivers/watchdog/rzg2l_wdt.c
+++ b/drivers/watchdog/rzg2l_wdt.c
@@ -123,8 +123,11 @@ static void rzg2l_wdt_init_timeout(struct watchdog_device *wdev)
 static int rzg2l_wdt_start(struct watchdog_device *wdev)
 {
 	struct rzg2l_wdt_priv *priv = watchdog_get_drvdata(wdev);
+	int ret;
 
-	pm_runtime_get_sync(wdev->parent);
+	ret = pm_runtime_resume_and_get(wdev->parent);
+	if (ret)
+		return ret;
 
 	/* Initialize time out */
 	rzg2l_wdt_init_timeout(wdev);
@@ -150,6 +153,8 @@ static int rzg2l_wdt_stop(struct watchdog_device *wdev)
 
 static int rzg2l_wdt_set_timeout(struct watchdog_device *wdev, unsigned int timeout)
 {
+	int ret = 0;
+
 	wdev->timeout = timeout;
 
 	/*
@@ -159,10 +164,10 @@ static int rzg2l_wdt_set_timeout(struct watchdog_device *wdev, unsigned int time
 	 */
 	if (watchdog_active(wdev)) {
 		rzg2l_wdt_stop(wdev);
-		rzg2l_wdt_start(wdev);
+		ret = rzg2l_wdt_start(wdev);
 	}
 
-	return 0;
+	return ret;
 }
 
 static int rzg2l_wdt_restart(struct watchdog_device *wdev,
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH v3 3/8] watchdog: rzg2l_wdt: Check return status of pm_runtime_put()
  2024-02-02  7:58 [PATCH v3 0/8] watchdog: rzg2l_wdt: Add support for RZ/G3S Claudiu
  2024-02-02  7:58 ` [PATCH v3 1/8] watchdog: rzg2l_wdt: Select PM Claudiu
  2024-02-02  7:58 ` [PATCH v3 2/8] watchdog: rzg2l_wdt: Use pm_runtime_resume_and_get() Claudiu
@ 2024-02-02  7:58 ` Claudiu
  2024-02-02  7:58 ` [PATCH v3 4/8] watchdog: rzg2l_wdt: Remove reset de-assert on probe/stop Claudiu
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 16+ messages in thread
From: Claudiu @ 2024-02-02  7:58 UTC (permalink / raw)
  To: wim, linux, robh, krzysztof.kozlowski+dt, conor+dt, p.zabel,
	geert+renesas, magnus.damm, biju.das.jz
  Cc: linux-watchdog, devicetree, linux-kernel, linux-renesas-soc,
	claudiu.beznea, Claudiu Beznea

From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>

pm_runtime_put() may return an error code. Check its return status.

Along with it the rzg2l_wdt_set_timeout() function was updated to
propagate the result of rzg2l_wdt_stop() to its caller.

Fixes: 2cbc5cd0b55f ("watchdog: Add Watchdog Timer driver for RZ/G2L")
Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
---

Changes in v3:
- none

Changes in v2:
- propagate the return code of rzg2l_wdt_stop() to it's callers

 drivers/watchdog/rzg2l_wdt.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/drivers/watchdog/rzg2l_wdt.c b/drivers/watchdog/rzg2l_wdt.c
index d87d4f50180c..7bce093316c4 100644
--- a/drivers/watchdog/rzg2l_wdt.c
+++ b/drivers/watchdog/rzg2l_wdt.c
@@ -144,9 +144,13 @@ static int rzg2l_wdt_start(struct watchdog_device *wdev)
 static int rzg2l_wdt_stop(struct watchdog_device *wdev)
 {
 	struct rzg2l_wdt_priv *priv = watchdog_get_drvdata(wdev);
+	int ret;
 
 	rzg2l_wdt_reset(priv);
-	pm_runtime_put(wdev->parent);
+
+	ret = pm_runtime_put(wdev->parent);
+	if (ret < 0)
+		return ret;
 
 	return 0;
 }
@@ -163,7 +167,10 @@ static int rzg2l_wdt_set_timeout(struct watchdog_device *wdev, unsigned int time
 	 * to reset the module) so that it is updated with new timeout values.
 	 */
 	if (watchdog_active(wdev)) {
-		rzg2l_wdt_stop(wdev);
+		ret = rzg2l_wdt_stop(wdev);
+		if (ret)
+			return ret;
+
 		ret = rzg2l_wdt_start(wdev);
 	}
 
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH v3 4/8] watchdog: rzg2l_wdt: Remove reset de-assert on probe/stop
  2024-02-02  7:58 [PATCH v3 0/8] watchdog: rzg2l_wdt: Add support for RZ/G3S Claudiu
                   ` (2 preceding siblings ...)
  2024-02-02  7:58 ` [PATCH v3 3/8] watchdog: rzg2l_wdt: Check return status of pm_runtime_put() Claudiu
@ 2024-02-02  7:58 ` Claudiu
  2024-02-02  7:58 ` [PATCH v3 5/8] watchdog: rzg2l_wdt: Remove comparison with zero Claudiu
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 16+ messages in thread
From: Claudiu @ 2024-02-02  7:58 UTC (permalink / raw)
  To: wim, linux, robh, krzysztof.kozlowski+dt, conor+dt, p.zabel,
	geert+renesas, magnus.damm, biju.das.jz
  Cc: linux-watchdog, devicetree, linux-kernel, linux-renesas-soc,
	claudiu.beznea, Claudiu Beznea

From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>

There is no need to de-assert the reset signal on probe as the watchdog
is not used prior executing start. Also, the clocks are not enabled in
probe (pm_runtime_enable() doesn't do that), thus this is another indicator
that the watchdog wasn't used previously like this. Instead, keep the
watchdog hardware in its previous state at probe (by default it is in
reset state), enable it when it is started and move it to reset state
when it is stopped. This saves some extra power when the watchdog is
unused.

Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
---

Changes in v3:
- none

Changes in v2:
- none

 drivers/watchdog/rzg2l_wdt.c | 26 +++++++++++++++-----------
 1 file changed, 15 insertions(+), 11 deletions(-)

diff --git a/drivers/watchdog/rzg2l_wdt.c b/drivers/watchdog/rzg2l_wdt.c
index 7bce093316c4..93a49fd0c7aa 100644
--- a/drivers/watchdog/rzg2l_wdt.c
+++ b/drivers/watchdog/rzg2l_wdt.c
@@ -129,6 +129,10 @@ static int rzg2l_wdt_start(struct watchdog_device *wdev)
 	if (ret)
 		return ret;
 
+	ret = reset_control_deassert(priv->rstc);
+	if (ret)
+		return ret;
+
 	/* Initialize time out */
 	rzg2l_wdt_init_timeout(wdev);
 
@@ -146,7 +150,9 @@ static int rzg2l_wdt_stop(struct watchdog_device *wdev)
 	struct rzg2l_wdt_priv *priv = watchdog_get_drvdata(wdev);
 	int ret;
 
-	rzg2l_wdt_reset(priv);
+	ret = reset_control_assert(priv->rstc);
+	if (ret)
+		return ret;
 
 	ret = pm_runtime_put(wdev->parent);
 	if (ret < 0)
@@ -186,6 +192,12 @@ static int rzg2l_wdt_restart(struct watchdog_device *wdev,
 	clk_prepare_enable(priv->osc_clk);
 
 	if (priv->devtype == WDT_RZG2L) {
+		int ret;
+
+		ret = reset_control_deassert(priv->rstc);
+		if (ret)
+			return ret;
+
 		/* Generate Reset (WDTRSTB) Signal on parity error */
 		rzg2l_wdt_write(priv, 0, PECR);
 
@@ -236,13 +248,11 @@ static const struct watchdog_ops rzg2l_wdt_ops = {
 	.restart = rzg2l_wdt_restart,
 };
 
-static void rzg2l_wdt_reset_assert_pm_disable(void *data)
+static void rzg2l_wdt_pm_disable(void *data)
 {
 	struct watchdog_device *wdev = data;
-	struct rzg2l_wdt_priv *priv = watchdog_get_drvdata(wdev);
 
 	pm_runtime_disable(wdev->parent);
-	reset_control_assert(priv->rstc);
 }
 
 static int rzg2l_wdt_probe(struct platform_device *pdev)
@@ -285,10 +295,6 @@ static int rzg2l_wdt_probe(struct platform_device *pdev)
 		return dev_err_probe(&pdev->dev, PTR_ERR(priv->rstc),
 				     "failed to get cpg reset");
 
-	ret = reset_control_deassert(priv->rstc);
-	if (ret)
-		return dev_err_probe(dev, ret, "failed to deassert");
-
 	priv->devtype = (uintptr_t)of_device_get_match_data(dev);
 
 	if (priv->devtype == WDT_RZV2M) {
@@ -309,9 +315,7 @@ static int rzg2l_wdt_probe(struct platform_device *pdev)
 	priv->wdev.timeout = WDT_DEFAULT_TIMEOUT;
 
 	watchdog_set_drvdata(&priv->wdev, priv);
-	ret = devm_add_action_or_reset(&pdev->dev,
-				       rzg2l_wdt_reset_assert_pm_disable,
-				       &priv->wdev);
+	ret = devm_add_action_or_reset(&pdev->dev, rzg2l_wdt_pm_disable, &priv->wdev);
 	if (ret < 0)
 		return ret;
 
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH v3 5/8] watchdog: rzg2l_wdt: Remove comparison with zero
  2024-02-02  7:58 [PATCH v3 0/8] watchdog: rzg2l_wdt: Add support for RZ/G3S Claudiu
                   ` (3 preceding siblings ...)
  2024-02-02  7:58 ` [PATCH v3 4/8] watchdog: rzg2l_wdt: Remove reset de-assert on probe/stop Claudiu
@ 2024-02-02  7:58 ` Claudiu
  2024-02-02  7:58 ` [PATCH v3 6/8] watchdog: rzg2l_wdt: Rely on the reset driver for doing proper reset Claudiu
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 16+ messages in thread
From: Claudiu @ 2024-02-02  7:58 UTC (permalink / raw)
  To: wim, linux, robh, krzysztof.kozlowski+dt, conor+dt, p.zabel,
	geert+renesas, magnus.damm, biju.das.jz
  Cc: linux-watchdog, devicetree, linux-kernel, linux-renesas-soc,
	claudiu.beznea, Claudiu Beznea

From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>

devm_add_action_or_reset() could return -ENOMEM or zero. Thus, remove
comparison with zero of the returning value to make code simpler.

Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
---

Changes in v3:
- none

Changes in v2:
- none

 drivers/watchdog/rzg2l_wdt.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/watchdog/rzg2l_wdt.c b/drivers/watchdog/rzg2l_wdt.c
index 93a49fd0c7aa..29eb47bcf984 100644
--- a/drivers/watchdog/rzg2l_wdt.c
+++ b/drivers/watchdog/rzg2l_wdt.c
@@ -316,7 +316,7 @@ static int rzg2l_wdt_probe(struct platform_device *pdev)
 
 	watchdog_set_drvdata(&priv->wdev, priv);
 	ret = devm_add_action_or_reset(&pdev->dev, rzg2l_wdt_pm_disable, &priv->wdev);
-	if (ret < 0)
+	if (ret)
 		return ret;
 
 	watchdog_set_nowayout(&priv->wdev, nowayout);
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH v3 6/8] watchdog: rzg2l_wdt: Rely on the reset driver for doing proper reset
  2024-02-02  7:58 [PATCH v3 0/8] watchdog: rzg2l_wdt: Add support for RZ/G3S Claudiu
                   ` (4 preceding siblings ...)
  2024-02-02  7:58 ` [PATCH v3 5/8] watchdog: rzg2l_wdt: Remove comparison with zero Claudiu
@ 2024-02-02  7:58 ` Claudiu
  2024-02-02  8:03   ` Philipp Zabel
  2024-02-02  7:58 ` [PATCH v3 7/8] watchdog: rzg2l_wdt: Add suspend/resume support Claudiu
  2024-02-02  7:58 ` [PATCH v3 8/8] dt-bindings: watchdog: renesas,wdt: Document RZ/G3S support Claudiu
  7 siblings, 1 reply; 16+ messages in thread
From: Claudiu @ 2024-02-02  7:58 UTC (permalink / raw)
  To: wim, linux, robh, krzysztof.kozlowski+dt, conor+dt, p.zabel,
	geert+renesas, magnus.damm, biju.das.jz
  Cc: linux-watchdog, devicetree, linux-kernel, linux-renesas-soc,
	claudiu.beznea, Claudiu Beznea

From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>

The reset driver has been adapted in commit da235d2fac21
("clk: renesas: rzg2l: Check reset monitor registers") to check the reset
monitor bits before declaring reset asserts/de-asserts as
successful/failure operations. With that, there is no need to keep the
reset workaround for RZ/V2M in place in the watchdog driver.

Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
---

Changes in v3:
- none

Changes in v2:
- none

 drivers/watchdog/rzg2l_wdt.c | 39 ++++--------------------------------
 1 file changed, 4 insertions(+), 35 deletions(-)

diff --git a/drivers/watchdog/rzg2l_wdt.c b/drivers/watchdog/rzg2l_wdt.c
index 29eb47bcf984..42f1d5d6f07e 100644
--- a/drivers/watchdog/rzg2l_wdt.c
+++ b/drivers/watchdog/rzg2l_wdt.c
@@ -8,7 +8,6 @@
 #include <linux/clk.h>
 #include <linux/delay.h>
 #include <linux/io.h>
-#include <linux/iopoll.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/of.h>
@@ -54,35 +53,11 @@ struct rzg2l_wdt_priv {
 	struct reset_control *rstc;
 	unsigned long osc_clk_rate;
 	unsigned long delay;
-	unsigned long minimum_assertion_period;
 	struct clk *pclk;
 	struct clk *osc_clk;
 	enum rz_wdt_type devtype;
 };
 
-static int rzg2l_wdt_reset(struct rzg2l_wdt_priv *priv)
-{
-	int err, status;
-
-	if (priv->devtype == WDT_RZV2M) {
-		/* WDT needs TYPE-B reset control */
-		err = reset_control_assert(priv->rstc);
-		if (err)
-			return err;
-		ndelay(priv->minimum_assertion_period);
-		err = reset_control_deassert(priv->rstc);
-		if (err)
-			return err;
-		err = read_poll_timeout(reset_control_status, status,
-					status != 1, 0, 1000, false,
-					priv->rstc);
-	} else {
-		err = reset_control_reset(priv->rstc);
-	}
-
-	return err;
-}
-
 static void rzg2l_wdt_wait_delay(struct rzg2l_wdt_priv *priv)
 {
 	/* delay timer when change the setting register */
@@ -187,13 +162,12 @@ static int rzg2l_wdt_restart(struct watchdog_device *wdev,
 			     unsigned long action, void *data)
 {
 	struct rzg2l_wdt_priv *priv = watchdog_get_drvdata(wdev);
+	int ret;
 
 	clk_prepare_enable(priv->pclk);
 	clk_prepare_enable(priv->osc_clk);
 
 	if (priv->devtype == WDT_RZG2L) {
-		int ret;
-
 		ret = reset_control_deassert(priv->rstc);
 		if (ret)
 			return ret;
@@ -205,7 +179,9 @@ static int rzg2l_wdt_restart(struct watchdog_device *wdev,
 		rzg2l_wdt_write(priv, PEEN_FORCE, PEEN);
 	} else {
 		/* RZ/V2M doesn't have parity error registers */
-		rzg2l_wdt_reset(priv);
+		ret = reset_control_reset(priv->rstc);
+		if (ret)
+			return ret;
 
 		wdev->timeout = 0;
 
@@ -297,13 +273,6 @@ static int rzg2l_wdt_probe(struct platform_device *pdev)
 
 	priv->devtype = (uintptr_t)of_device_get_match_data(dev);
 
-	if (priv->devtype == WDT_RZV2M) {
-		priv->minimum_assertion_period = RZV2M_A_NSEC +
-			3 * F2CYCLE_NSEC(pclk_rate) + 5 *
-			max(F2CYCLE_NSEC(priv->osc_clk_rate),
-			    F2CYCLE_NSEC(pclk_rate));
-	}
-
 	pm_runtime_enable(&pdev->dev);
 
 	priv->wdev.info = &rzg2l_wdt_ident;
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH v3 7/8] watchdog: rzg2l_wdt: Add suspend/resume support
  2024-02-02  7:58 [PATCH v3 0/8] watchdog: rzg2l_wdt: Add support for RZ/G3S Claudiu
                   ` (5 preceding siblings ...)
  2024-02-02  7:58 ` [PATCH v3 6/8] watchdog: rzg2l_wdt: Rely on the reset driver for doing proper reset Claudiu
@ 2024-02-02  7:58 ` Claudiu
  2024-02-02  7:58 ` [PATCH v3 8/8] dt-bindings: watchdog: renesas,wdt: Document RZ/G3S support Claudiu
  7 siblings, 0 replies; 16+ messages in thread
From: Claudiu @ 2024-02-02  7:58 UTC (permalink / raw)
  To: wim, linux, robh, krzysztof.kozlowski+dt, conor+dt, p.zabel,
	geert+renesas, magnus.damm, biju.das.jz
  Cc: linux-watchdog, devicetree, linux-kernel, linux-renesas-soc,
	claudiu.beznea, Claudiu Beznea

From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>

The RZ/G3S supports deep sleep states where power to most of the IP blocks
is cut off. To ensure proper working of the watchdog when resuming from
such states, the suspend function is stopping the watchdog and the resume
function is starting it. There is no need to configure the watchdog
in case the watchdog was stopped prior to starting suspend.

Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
---

Changes in v3:
- none

Changes in v2:
- remove the usage of pm_ptr()

 drivers/watchdog/rzg2l_wdt.c | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/drivers/watchdog/rzg2l_wdt.c b/drivers/watchdog/rzg2l_wdt.c
index 42f1d5d6f07e..c8c20cfb97a3 100644
--- a/drivers/watchdog/rzg2l_wdt.c
+++ b/drivers/watchdog/rzg2l_wdt.c
@@ -284,6 +284,7 @@ static int rzg2l_wdt_probe(struct platform_device *pdev)
 	priv->wdev.timeout = WDT_DEFAULT_TIMEOUT;
 
 	watchdog_set_drvdata(&priv->wdev, priv);
+	dev_set_drvdata(dev, priv);
 	ret = devm_add_action_or_reset(&pdev->dev, rzg2l_wdt_pm_disable, &priv->wdev);
 	if (ret)
 		return ret;
@@ -305,10 +306,35 @@ static const struct of_device_id rzg2l_wdt_ids[] = {
 };
 MODULE_DEVICE_TABLE(of, rzg2l_wdt_ids);
 
+static int rzg2l_wdt_suspend_late(struct device *dev)
+{
+	struct rzg2l_wdt_priv *priv = dev_get_drvdata(dev);
+
+	if (!watchdog_active(&priv->wdev))
+		return 0;
+
+	return rzg2l_wdt_stop(&priv->wdev);
+}
+
+static int rzg2l_wdt_resume_early(struct device *dev)
+{
+	struct rzg2l_wdt_priv *priv = dev_get_drvdata(dev);
+
+	if (!watchdog_active(&priv->wdev))
+		return 0;
+
+	return rzg2l_wdt_start(&priv->wdev);
+}
+
+static const struct dev_pm_ops rzg2l_wdt_pm_ops = {
+	LATE_SYSTEM_SLEEP_PM_OPS(rzg2l_wdt_suspend_late, rzg2l_wdt_resume_early)
+};
+
 static struct platform_driver rzg2l_wdt_driver = {
 	.driver = {
 		.name = "rzg2l_wdt",
 		.of_match_table = rzg2l_wdt_ids,
+		.pm = &rzg2l_wdt_pm_ops,
 	},
 	.probe = rzg2l_wdt_probe,
 };
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH v3 8/8] dt-bindings: watchdog: renesas,wdt: Document RZ/G3S support
  2024-02-02  7:58 [PATCH v3 0/8] watchdog: rzg2l_wdt: Add support for RZ/G3S Claudiu
                   ` (6 preceding siblings ...)
  2024-02-02  7:58 ` [PATCH v3 7/8] watchdog: rzg2l_wdt: Add suspend/resume support Claudiu
@ 2024-02-02  7:58 ` Claudiu
  2024-02-02 16:40   ` Conor Dooley
  7 siblings, 1 reply; 16+ messages in thread
From: Claudiu @ 2024-02-02  7:58 UTC (permalink / raw)
  To: wim, linux, robh, krzysztof.kozlowski+dt, conor+dt, p.zabel,
	geert+renesas, magnus.damm, biju.das.jz
  Cc: linux-watchdog, devicetree, linux-kernel, linux-renesas-soc,
	claudiu.beznea, Claudiu Beznea, Conor Dooley

From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>

Document the support for the watchdog IP available on RZ/G3S SoC. The
watchdog IP available on RZ/G3S SoC is identical to the one found on
RZ/G2L SoC.

Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
---

Changes in v3:
- re-arranged the tags as my b4 am/shazam placed previously the
  Ab, Rb tags before the author's Sob

Changes in v2:
- collected tags
- s/G2UL/G2L in patch description

 Documentation/devicetree/bindings/watchdog/renesas,wdt.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/watchdog/renesas,wdt.yaml b/Documentation/devicetree/bindings/watchdog/renesas,wdt.yaml
index 951a7d54135a..220763838df0 100644
--- a/Documentation/devicetree/bindings/watchdog/renesas,wdt.yaml
+++ b/Documentation/devicetree/bindings/watchdog/renesas,wdt.yaml
@@ -29,6 +29,7 @@ properties:
               - renesas,r9a07g043-wdt    # RZ/G2UL and RZ/Five
               - renesas,r9a07g044-wdt    # RZ/G2{L,LC}
               - renesas,r9a07g054-wdt    # RZ/V2L
+              - renesas,r9a08g045-wdt    # RZ/G3S
           - const: renesas,rzg2l-wdt
 
       - items:
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* RE: [PATCH v3 1/8] watchdog: rzg2l_wdt: Select PM
  2024-02-02  7:58 ` [PATCH v3 1/8] watchdog: rzg2l_wdt: Select PM Claudiu
@ 2024-02-02  8:03   ` Biju Das
  2024-02-02  8:14     ` Biju Das
  0 siblings, 1 reply; 16+ messages in thread
From: Biju Das @ 2024-02-02  8:03 UTC (permalink / raw)
  To: Claudiu.Beznea, wim, linux, robh, krzysztof.kozlowski+dt,
	conor+dt, p.zabel, geert+renesas, magnus.damm
  Cc: linux-watchdog, devicetree, linux-kernel, linux-renesas-soc,
	Claudiu.Beznea, Claudiu Beznea

Hi Claudiu Beznea,

> -----Original Message-----
> From: Claudiu <claudiu.beznea@tuxon.dev>
> Sent: Friday, February 2, 2024 7:59 AM
> Subject: [PATCH v3 1/8] watchdog: rzg2l_wdt: Select PM
> 
> From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
> 
> The rzg2l_wdt watchdog driver cannot work w/o CONFIG_PM=y (e.g. the clocks
> are enabled though pm_runtime_* specific APIs). To avoid building a driver
> that doesn't work make it depend on CONFIG_PM.
> 
> Suggested-by: Guenter Roeck <linux@roeck-us.net>
> Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
> ---
> 
> Changes in v3:
> - make driver depend on PM; with that the "unmet direct dependency"
>   Reported-by: kernel test robot <lkp@intel.com>
>   was also fixed
> - adapt commit message
> 
> Changes in v2:
> - this patch is new
> 
>  drivers/watchdog/Kconfig | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig index
> 7d22051b15a2..c9abe8f307bb 100644
> --- a/drivers/watchdog/Kconfig
> +++ b/drivers/watchdog/Kconfig
> @@ -910,7 +910,7 @@ config RENESAS_RZN1WDT
> 
>  config RENESAS_RZG2LWDT
>  	tristate "Renesas RZ/G2L WDT Watchdog"
> -	depends on ARCH_RENESAS || COMPILE_TEST
> +	depends on (ARCH_RENESAS && PM) || COMPILE_TEST

Since you are touching here, maybe ARCH_RZG2L?? like other RZ/G2L drivers.

Cheers,
BIju

>  	select WATCHDOG_CORE
>  	help
>  	  This driver adds watchdog support for the integrated watchdogs in
> the
> --
> 2.39.2


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v3 6/8] watchdog: rzg2l_wdt: Rely on the reset driver for doing proper reset
  2024-02-02  7:58 ` [PATCH v3 6/8] watchdog: rzg2l_wdt: Rely on the reset driver for doing proper reset Claudiu
@ 2024-02-02  8:03   ` Philipp Zabel
  0 siblings, 0 replies; 16+ messages in thread
From: Philipp Zabel @ 2024-02-02  8:03 UTC (permalink / raw)
  To: Claudiu, wim, linux, robh, krzysztof.kozlowski+dt, conor+dt,
	geert+renesas, magnus.damm, biju.das.jz
  Cc: linux-watchdog, devicetree, linux-kernel, linux-renesas-soc,
	Claudiu Beznea

On Fr, 2024-02-02 at 09:58 +0200, Claudiu wrote:
> From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
> 
> The reset driver has been adapted in commit da235d2fac21
> ("clk: renesas: rzg2l: Check reset monitor registers") to check the reset
> monitor bits before declaring reset asserts/de-asserts as
> successful/failure operations. With that, there is no need to keep the
> reset workaround for RZ/V2M in place in the watchdog driver.
> 
> Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>

Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>

regards
Philipp

^ permalink raw reply	[flat|nested] 16+ messages in thread

* RE: [PATCH v3 1/8] watchdog: rzg2l_wdt: Select PM
  2024-02-02  8:03   ` Biju Das
@ 2024-02-02  8:14     ` Biju Das
  2024-02-02  8:29       ` Biju Das
  0 siblings, 1 reply; 16+ messages in thread
From: Biju Das @ 2024-02-02  8:14 UTC (permalink / raw)
  To: Claudiu.Beznea, wim, linux, robh, krzysztof.kozlowski+dt,
	conor+dt, p.zabel, geert+renesas, magnus.damm
  Cc: linux-watchdog, devicetree, linux-kernel, linux-renesas-soc,
	Claudiu.Beznea, Claudiu Beznea



> -----Original Message-----
> From: Biju Das
> Sent: Friday, February 2, 2024 8:03 AM
> Subject: RE: [PATCH v3 1/8] watchdog: rzg2l_wdt: Select PM
> 
> Hi Claudiu Beznea,
> 
> > -----Original Message-----
> > From: Claudiu <claudiu.beznea@tuxon.dev>
> > Sent: Friday, February 2, 2024 7:59 AM
> > Subject: [PATCH v3 1/8] watchdog: rzg2l_wdt: Select PM
> >
> > From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
> >
> > The rzg2l_wdt watchdog driver cannot work w/o CONFIG_PM=y (e.g. the
> > clocks are enabled though pm_runtime_* specific APIs). To avoid
> > building a driver that doesn't work make it depend on CONFIG_PM.
> >
> > Suggested-by: Guenter Roeck <linux@roeck-us.net>
> > Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
> > ---
> >
> > Changes in v3:
> > - make driver depend on PM; with that the "unmet direct dependency"
> >   Reported-by: kernel test robot <lkp@intel.com>
> >   was also fixed
> > - adapt commit message
> >
> > Changes in v2:
> > - this patch is new
> >
> >  drivers/watchdog/Kconfig | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig index
> > 7d22051b15a2..c9abe8f307bb 100644
> > --- a/drivers/watchdog/Kconfig
> > +++ b/drivers/watchdog/Kconfig
> > @@ -910,7 +910,7 @@ config RENESAS_RZN1WDT
> >
> >  config RENESAS_RZG2LWDT
> >  	tristate "Renesas RZ/G2L WDT Watchdog"
> > -	depends on ARCH_RENESAS || COMPILE_TEST
> > +	depends on (ARCH_RENESAS && PM) || COMPILE_TEST
> 
> Since you are touching here, maybe ARCH_RZG2L?? like other RZ/G2L drivers.

Also RZ/V2M "ARCH_R9A09G011" as both these families using same driver.

Cheers,
Biju

^ permalink raw reply	[flat|nested] 16+ messages in thread

* RE: [PATCH v3 1/8] watchdog: rzg2l_wdt: Select PM
  2024-02-02  8:14     ` Biju Das
@ 2024-02-02  8:29       ` Biju Das
  2024-02-05  6:12         ` claudiu beznea
  0 siblings, 1 reply; 16+ messages in thread
From: Biju Das @ 2024-02-02  8:29 UTC (permalink / raw)
  To: Biju Das, Claudiu.Beznea, wim, linux, robh,
	krzysztof.kozlowski+dt, conor+dt, p.zabel, geert+renesas,
	magnus.damm
  Cc: linux-watchdog, devicetree, linux-kernel, linux-renesas-soc,
	Claudiu.Beznea, Claudiu Beznea

> > -----Original Message-----
> > From: Biju Das
> > Sent: Friday, February 2, 2024 8:03 AM
> > Subject: RE: [PATCH v3 1/8] watchdog: rzg2l_wdt: Select PM
> >
> > Hi Claudiu Beznea,
> >
> > > -----Original Message-----
> > > From: Claudiu <claudiu.beznea@tuxon.dev>
> > > Sent: Friday, February 2, 2024 7:59 AM
> > > Subject: [PATCH v3 1/8] watchdog: rzg2l_wdt: Select PM
> > >
> > > From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
> > >
> > > The rzg2l_wdt watchdog driver cannot work w/o CONFIG_PM=y (e.g. the
> > > clocks are enabled though pm_runtime_* specific APIs). To avoid
> > > building a driver that doesn't work make it depend on CONFIG_PM.
> > >
> > > Suggested-by: Guenter Roeck <linux@roeck-us.net>
> > > Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
> > > ---
> > >
> > > Changes in v3:
> > > - make driver depend on PM; with that the "unmet direct dependency"
> > >   Reported-by: kernel test robot <lkp@intel.com>
> > >   was also fixed
> > > - adapt commit message
> > >
> > > Changes in v2:
> > > - this patch is new
> > >
> > >  drivers/watchdog/Kconfig | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
> > > index 7d22051b15a2..c9abe8f307bb 100644
> > > --- a/drivers/watchdog/Kconfig
> > > +++ b/drivers/watchdog/Kconfig
> > > @@ -910,7 +910,7 @@ config RENESAS_RZN1WDT
> > >
> > >  config RENESAS_RZG2LWDT
> > >  	tristate "Renesas RZ/G2L WDT Watchdog"
> > > -	depends on ARCH_RENESAS || COMPILE_TEST
> > > +	depends on (ARCH_RENESAS && PM) || COMPILE_TEST
> >
> > Since you are touching here, maybe ARCH_RZG2L?? like other RZ/G2L
> drivers.
> 
> Also RZ/V2M "ARCH_R9A09G011" as both these families using same driver.

Also commit header it is "Depend on" not "Select"?

Cheers,
Biju

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v3 8/8] dt-bindings: watchdog: renesas,wdt: Document RZ/G3S support
  2024-02-02  7:58 ` [PATCH v3 8/8] dt-bindings: watchdog: renesas,wdt: Document RZ/G3S support Claudiu
@ 2024-02-02 16:40   ` Conor Dooley
  2024-02-05  6:14     ` claudiu beznea
  0 siblings, 1 reply; 16+ messages in thread
From: Conor Dooley @ 2024-02-02 16:40 UTC (permalink / raw)
  To: Claudiu
  Cc: wim, linux, robh, krzysztof.kozlowski+dt, conor+dt, p.zabel,
	geert+renesas, magnus.damm, biju.das.jz, linux-watchdog,
	devicetree, linux-kernel, linux-renesas-soc, Claudiu Beznea,
	Conor Dooley

[-- Attachment #1: Type: text/plain, Size: 736 bytes --]

On Fri, Feb 02, 2024 at 09:58:49AM +0200, Claudiu wrote:
> From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
> 
> Document the support for the watchdog IP available on RZ/G3S SoC. The
> watchdog IP available on RZ/G3S SoC is identical to the one found on
> RZ/G2L SoC.
> 
> Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
> Acked-by: Conor Dooley <conor.dooley@microchip.com>
> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
> ---
> 
> Changes in v3:
> - re-arranged the tags as my b4 am/shazam placed previously the
>   Ab, Rb tags before the author's Sob

What's wrong with that?
You resent the patch, so I don't think there's any chain of custody
issues there.

Cheers,
Conor.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v3 1/8] watchdog: rzg2l_wdt: Select PM
  2024-02-02  8:29       ` Biju Das
@ 2024-02-05  6:12         ` claudiu beznea
  0 siblings, 0 replies; 16+ messages in thread
From: claudiu beznea @ 2024-02-05  6:12 UTC (permalink / raw)
  To: Biju Das, wim, linux, robh, krzysztof.kozlowski+dt, conor+dt,
	p.zabel, geert+renesas, magnus.damm
  Cc: linux-watchdog, devicetree, linux-kernel, linux-renesas-soc,
	Claudiu Beznea

Hi, Biju,

On 02.02.2024 10:29, Biju Das wrote:
>>> -----Original Message-----
>>> From: Biju Das
>>> Sent: Friday, February 2, 2024 8:03 AM
>>> Subject: RE: [PATCH v3 1/8] watchdog: rzg2l_wdt: Select PM
>>>
>>> Hi Claudiu Beznea,
>>>
>>>> -----Original Message-----
>>>> From: Claudiu <claudiu.beznea@tuxon.dev>
>>>> Sent: Friday, February 2, 2024 7:59 AM
>>>> Subject: [PATCH v3 1/8] watchdog: rzg2l_wdt: Select PM
>>>>
>>>> From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
>>>>
>>>> The rzg2l_wdt watchdog driver cannot work w/o CONFIG_PM=y (e.g. the
>>>> clocks are enabled though pm_runtime_* specific APIs). To avoid
>>>> building a driver that doesn't work make it depend on CONFIG_PM.
>>>>
>>>> Suggested-by: Guenter Roeck <linux@roeck-us.net>
>>>> Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
>>>> ---
>>>>
>>>> Changes in v3:
>>>> - make driver depend on PM; with that the "unmet direct dependency"
>>>>   Reported-by: kernel test robot <lkp@intel.com>
>>>>   was also fixed
>>>> - adapt commit message
>>>>
>>>> Changes in v2:
>>>> - this patch is new
>>>>
>>>>  drivers/watchdog/Kconfig | 2 +-
>>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>>
>>>> diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
>>>> index 7d22051b15a2..c9abe8f307bb 100644
>>>> --- a/drivers/watchdog/Kconfig
>>>> +++ b/drivers/watchdog/Kconfig
>>>> @@ -910,7 +910,7 @@ config RENESAS_RZN1WDT
>>>>
>>>>  config RENESAS_RZG2LWDT
>>>>  	tristate "Renesas RZ/G2L WDT Watchdog"
>>>> -	depends on ARCH_RENESAS || COMPILE_TEST
>>>> +	depends on (ARCH_RENESAS && PM) || COMPILE_TEST
>>>
>>> Since you are touching here, maybe ARCH_RZG2L?? like other RZ/G2L
>> drivers.
>>
>> Also RZ/V2M "ARCH_R9A09G011" as both these families using same driver.

Ok, I'll have another patch for that.

> 
> Also commit header it is "Depend on" not "Select"?

Ok!

Thank you,
Claudiu Beznea

> 
> Cheers,
> Biju

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v3 8/8] dt-bindings: watchdog: renesas,wdt: Document RZ/G3S support
  2024-02-02 16:40   ` Conor Dooley
@ 2024-02-05  6:14     ` claudiu beznea
  0 siblings, 0 replies; 16+ messages in thread
From: claudiu beznea @ 2024-02-05  6:14 UTC (permalink / raw)
  To: Conor Dooley
  Cc: wim, linux, robh, krzysztof.kozlowski+dt, conor+dt, p.zabel,
	geert+renesas, magnus.damm, biju.das.jz, linux-watchdog,
	devicetree, linux-kernel, linux-renesas-soc, Claudiu Beznea,
	Conor Dooley



On 02.02.2024 18:40, Conor Dooley wrote:
> On Fri, Feb 02, 2024 at 09:58:49AM +0200, Claudiu wrote:
>> From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
>>
>> Document the support for the watchdog IP available on RZ/G3S SoC. The
>> watchdog IP available on RZ/G3S SoC is identical to the one found on
>> RZ/G2L SoC.
>>
>> Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
>> Acked-by: Conor Dooley <conor.dooley@microchip.com>
>> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
>> ---
>>
>> Changes in v3:
>> - re-arranged the tags as my b4 am/shazam placed previously the
>>   Ab, Rb tags before the author's Sob
> 
> What's wrong with that?

Nothing, I was just used to do it this way.

> You resent the patch, so I don't think there's any chain of custody
> issues there.
> 
> Cheers,
> Conor.

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2024-02-05  6:14 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-02-02  7:58 [PATCH v3 0/8] watchdog: rzg2l_wdt: Add support for RZ/G3S Claudiu
2024-02-02  7:58 ` [PATCH v3 1/8] watchdog: rzg2l_wdt: Select PM Claudiu
2024-02-02  8:03   ` Biju Das
2024-02-02  8:14     ` Biju Das
2024-02-02  8:29       ` Biju Das
2024-02-05  6:12         ` claudiu beznea
2024-02-02  7:58 ` [PATCH v3 2/8] watchdog: rzg2l_wdt: Use pm_runtime_resume_and_get() Claudiu
2024-02-02  7:58 ` [PATCH v3 3/8] watchdog: rzg2l_wdt: Check return status of pm_runtime_put() Claudiu
2024-02-02  7:58 ` [PATCH v3 4/8] watchdog: rzg2l_wdt: Remove reset de-assert on probe/stop Claudiu
2024-02-02  7:58 ` [PATCH v3 5/8] watchdog: rzg2l_wdt: Remove comparison with zero Claudiu
2024-02-02  7:58 ` [PATCH v3 6/8] watchdog: rzg2l_wdt: Rely on the reset driver for doing proper reset Claudiu
2024-02-02  8:03   ` Philipp Zabel
2024-02-02  7:58 ` [PATCH v3 7/8] watchdog: rzg2l_wdt: Add suspend/resume support Claudiu
2024-02-02  7:58 ` [PATCH v3 8/8] dt-bindings: watchdog: renesas,wdt: Document RZ/G3S support Claudiu
2024-02-02 16:40   ` Conor Dooley
2024-02-05  6:14     ` claudiu beznea

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).