All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/8] watchdog: Convert drivers to DEFINE_SIMPLE_DEV_PM_OPS()
@ 2026-08-26  6:08 Triet Hoang
  2026-08-26  6:08 ` [PATCH 1/8] watchdog: cadence_wdt: Convert " Triet Hoang
                   ` (7 more replies)
  0 siblings, 8 replies; 16+ messages in thread
From: Triet Hoang @ 2026-08-26  6:08 UTC (permalink / raw)
  To: wim; +Cc: linux, linux-watchdog, linux-kernel, Triet Hoang

This series converts the watchdog drivers to use DEFINE_SIMPLE_DEV_PM_OPS()
and pm_sleep_ptr().

This is a straightforward cleanup with no functional change intended.

Signed-off-by: Triet Hoang <triet.hoang.dev@gmail.com>

Triet Hoang (8):
  watchdog: cadence_wdt: Convert to DEFINE_SIMPLE_DEV_PM_OPS()
  watchdog: da9062: Convert to DEFINE_SIMPLE_DEV_PM_OPS()
  watchdog: keembay_wdt: Convert to DEFINE_SIMPLE_DEV_PM_OPS()
  watchdog: msc313e_wdt: Convert to DEFINE_SIMPLE_DEV_PM_OPS()
  watchdog: of_xilinx_wdt: Convert to DEFINE_SIMPLE_DEV_PM_OPS()
  watchdog: pm8916_wdt: Convert to DEFINE_SIMPLE_DEV_PM_OPS()
  watchdog: sp805_wdt: Convert to DEFINE_SIMPLE_DEV_PM_OPS()
  watchdog: stmp3xxx_rtc_wdt: Convert to DEFINE_SIMPLE_DEV_PM_OPS()

 drivers/watchdog/cadence_wdt.c      | 8 ++++----
 drivers/watchdog/da9062_wdt.c       | 8 ++++----
 drivers/watchdog/keembay_wdt.c      | 8 ++++----
 drivers/watchdog/msc313e_wdt.c      | 8 ++++----
 drivers/watchdog/of_xilinx_wdt.c    | 8 ++++----
 drivers/watchdog/pm8916_wdt.c       | 8 ++++----
 drivers/watchdog/sp805_wdt.c        | 8 ++++----
 drivers/watchdog/stmp3xxx_rtc_wdt.c | 8 ++++----
 8 files changed, 32 insertions(+), 32 deletions(-)

-- 
2.53.0


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

* [PATCH 1/8] watchdog: cadence_wdt: Convert to DEFINE_SIMPLE_DEV_PM_OPS()
  2026-08-26  6:08 [PATCH 0/8] watchdog: Convert drivers to DEFINE_SIMPLE_DEV_PM_OPS() Triet Hoang
@ 2026-08-26  6:08 ` Triet Hoang
  2026-08-26  6:08 ` [PATCH 2/8] watchdog: da9062: " Triet Hoang
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 16+ messages in thread
From: Triet Hoang @ 2026-08-26  6:08 UTC (permalink / raw)
  To: wim; +Cc: linux, linux-watchdog, linux-kernel, Triet Hoang

Convert deprecated SIMPLE_DEV_PM_OPS() to DEFINE_SIMPLE_DEV_PM_OPS()
and pm_sleep_ptr().

This lets us drop the __maybe_unused annotations from the resume callback.

Signed-off-by: Triet Hoang <triet.hoang.dev@gmail.com>
---
 drivers/watchdog/cadence_wdt.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/watchdog/cadence_wdt.c b/drivers/watchdog/cadence_wdt.c
index ad46b33ce5f2..ba2efccef467 100644
--- a/drivers/watchdog/cadence_wdt.c
+++ b/drivers/watchdog/cadence_wdt.c
@@ -359,7 +359,7 @@ static int cdns_wdt_probe(struct platform_device *pdev)
  * @dev: handle to the device structure.
  * Return: 0 always.
  */
-static int __maybe_unused cdns_wdt_suspend(struct device *dev)
+static int cdns_wdt_suspend(struct device *dev)
 {
 	struct cdns_wdt *wdt = dev_get_drvdata(dev);
 
@@ -377,7 +377,7 @@ static int __maybe_unused cdns_wdt_suspend(struct device *dev)
  * @dev: handle to the device structure.
  * Return: 0 on success, errno otherwise.
  */
-static int __maybe_unused cdns_wdt_resume(struct device *dev)
+static int cdns_wdt_resume(struct device *dev)
 {
 	int ret;
 	struct cdns_wdt *wdt = dev_get_drvdata(dev);
@@ -394,7 +394,7 @@ static int __maybe_unused cdns_wdt_resume(struct device *dev)
 	return 0;
 }
 
-static SIMPLE_DEV_PM_OPS(cdns_wdt_pm_ops, cdns_wdt_suspend, cdns_wdt_resume);
+static DEFINE_SIMPLE_DEV_PM_OPS(cdns_wdt_pm_ops, cdns_wdt_suspend, cdns_wdt_resume);
 
 static const struct of_device_id cdns_wdt_of_match[] = {
 	{ .compatible = "cdns,wdt-r1p2", },
@@ -408,7 +408,7 @@ static struct platform_driver cdns_wdt_driver = {
 	.driver		= {
 		.name	= "cdns-wdt",
 		.of_match_table = cdns_wdt_of_match,
-		.pm	= &cdns_wdt_pm_ops,
+		.pm	= pm_sleep_ptr(&cdns_wdt_pm_ops),
 	},
 };
 
-- 
2.53.0


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

* [PATCH 2/8] watchdog: da9062: Convert to DEFINE_SIMPLE_DEV_PM_OPS()
  2026-08-26  6:08 [PATCH 0/8] watchdog: Convert drivers to DEFINE_SIMPLE_DEV_PM_OPS() Triet Hoang
  2026-08-26  6:08 ` [PATCH 1/8] watchdog: cadence_wdt: Convert " Triet Hoang
@ 2026-08-26  6:08 ` Triet Hoang
  2026-08-27  7:42   ` Tzung-Bi Shih
  2026-08-26  6:08 ` [PATCH 3/8] watchdog: keembay_wdt: " Triet Hoang
                   ` (5 subsequent siblings)
  7 siblings, 1 reply; 16+ messages in thread
From: Triet Hoang @ 2026-08-26  6:08 UTC (permalink / raw)
  To: wim; +Cc: linux, linux-watchdog, linux-kernel, Triet Hoang

Convert deprecated SIMPLE_DEV_PM_OPS() to DEFINE_SIMPLE_DEV_PM_OPS()
and pm_sleep_ptr().

This lets us drop the __maybe_unused annotations from the resume callback.

Signed-off-by: Triet Hoang <triet.hoang.dev@gmail.com>
---
 drivers/watchdog/da9062_wdt.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/watchdog/da9062_wdt.c b/drivers/watchdog/da9062_wdt.c
index 426962547df1..2b6946478527 100644
--- a/drivers/watchdog/da9062_wdt.c
+++ b/drivers/watchdog/da9062_wdt.c
@@ -248,7 +248,7 @@ static int da9062_wdt_probe(struct platform_device *pdev)
 	return devm_watchdog_register_device(dev, &wdt->wdtdev);
 }
 
-static int __maybe_unused da9062_wdt_suspend(struct device *dev)
+static int da9062_wdt_suspend(struct device *dev)
 {
 	struct watchdog_device *wdd = dev_get_drvdata(dev);
 	struct da9062_watchdog *wdt = watchdog_get_drvdata(wdd);
@@ -262,7 +262,7 @@ static int __maybe_unused da9062_wdt_suspend(struct device *dev)
 	return 0;
 }
 
-static int __maybe_unused da9062_wdt_resume(struct device *dev)
+static int da9062_wdt_resume(struct device *dev)
 {
 	struct watchdog_device *wdd = dev_get_drvdata(dev);
 	struct da9062_watchdog *wdt = watchdog_get_drvdata(wdd);
@@ -276,14 +276,14 @@ static int __maybe_unused da9062_wdt_resume(struct device *dev)
 	return 0;
 }
 
-static SIMPLE_DEV_PM_OPS(da9062_wdt_pm_ops,
+static DEFINE_SIMPLE_DEV_PM_OPS(da9062_wdt_pm_ops,
 			 da9062_wdt_suspend, da9062_wdt_resume);
 
 static struct platform_driver da9062_wdt_driver = {
 	.probe = da9062_wdt_probe,
 	.driver = {
 		.name = "da9062-watchdog",
-		.pm = &da9062_wdt_pm_ops,
+		.pm = pm_sleep_ptr(&da9062_wdt_pm_ops),
 		.of_match_table = da9062_compatible_id_table,
 	},
 };
-- 
2.53.0


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

* [PATCH 3/8] watchdog: keembay_wdt: Convert to DEFINE_SIMPLE_DEV_PM_OPS()
  2026-08-26  6:08 [PATCH 0/8] watchdog: Convert drivers to DEFINE_SIMPLE_DEV_PM_OPS() Triet Hoang
  2026-08-26  6:08 ` [PATCH 1/8] watchdog: cadence_wdt: Convert " Triet Hoang
  2026-08-26  6:08 ` [PATCH 2/8] watchdog: da9062: " Triet Hoang
@ 2026-08-26  6:08 ` Triet Hoang
  2026-08-26  6:17   ` sashiko-bot
  2026-08-26  6:08 ` [PATCH 4/8] watchdog: msc313e_wdt: " Triet Hoang
                   ` (4 subsequent siblings)
  7 siblings, 1 reply; 16+ messages in thread
From: Triet Hoang @ 2026-08-26  6:08 UTC (permalink / raw)
  To: wim; +Cc: linux, linux-watchdog, linux-kernel, Triet Hoang

Convert deprecated SIMPLE_DEV_PM_OPS() to DEFINE_SIMPLE_DEV_PM_OPS()
and pm_sleep_ptr().

This lets us drop the __maybe_unused annotations from the resume callback.

Signed-off-by: Triet Hoang <triet.hoang.dev@gmail.com>
---
 drivers/watchdog/keembay_wdt.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/watchdog/keembay_wdt.c b/drivers/watchdog/keembay_wdt.c
index 7c8e53921e40..20b9eb6a2727 100644
--- a/drivers/watchdog/keembay_wdt.c
+++ b/drivers/watchdog/keembay_wdt.c
@@ -250,7 +250,7 @@ static int keembay_wdt_probe(struct platform_device *pdev)
 	return 0;
 }
 
-static int __maybe_unused keembay_wdt_suspend(struct device *dev)
+static int keembay_wdt_suspend(struct device *dev)
 {
 	struct keembay_wdt *wdt = dev_get_drvdata(dev);
 
@@ -260,7 +260,7 @@ static int __maybe_unused keembay_wdt_suspend(struct device *dev)
 	return 0;
 }
 
-static int __maybe_unused keembay_wdt_resume(struct device *dev)
+static int keembay_wdt_resume(struct device *dev)
 {
 	struct keembay_wdt *wdt = dev_get_drvdata(dev);
 
@@ -270,7 +270,7 @@ static int __maybe_unused keembay_wdt_resume(struct device *dev)
 	return 0;
 }
 
-static SIMPLE_DEV_PM_OPS(keembay_wdt_pm_ops, keembay_wdt_suspend,
+static DEFINE_SIMPLE_DEV_PM_OPS(keembay_wdt_pm_ops, keembay_wdt_suspend,
 			 keembay_wdt_resume);
 
 static const struct of_device_id keembay_wdt_match[] = {
@@ -284,7 +284,7 @@ static struct platform_driver keembay_wdt_driver = {
 	.driver	= {
 		.name		= "keembay_wdt",
 		.of_match_table	= keembay_wdt_match,
-		.pm		= &keembay_wdt_pm_ops,
+		.pm		= pm_sleep_ptr(&keembay_wdt_pm_ops),
 	},
 };
 
-- 
2.53.0


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

* [PATCH 4/8] watchdog: msc313e_wdt: Convert to DEFINE_SIMPLE_DEV_PM_OPS()
  2026-08-26  6:08 [PATCH 0/8] watchdog: Convert drivers to DEFINE_SIMPLE_DEV_PM_OPS() Triet Hoang
                   ` (2 preceding siblings ...)
  2026-08-26  6:08 ` [PATCH 3/8] watchdog: keembay_wdt: " Triet Hoang
@ 2026-08-26  6:08 ` Triet Hoang
  2026-08-26  6:20   ` sashiko-bot
  2026-08-26  6:08 ` [PATCH 5/8] watchdog: of_xilinx_wdt: " Triet Hoang
                   ` (3 subsequent siblings)
  7 siblings, 1 reply; 16+ messages in thread
From: Triet Hoang @ 2026-08-26  6:08 UTC (permalink / raw)
  To: wim; +Cc: linux, linux-watchdog, linux-kernel, Triet Hoang

Convert deprecated SIMPLE_DEV_PM_OPS() to DEFINE_SIMPLE_DEV_PM_OPS()
and pm_sleep_ptr().

This lets us drop the __maybe_unused annotations from the resume callback.

Signed-off-by: Triet Hoang <triet.hoang.dev@gmail.com>
---
 drivers/watchdog/msc313e_wdt.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/watchdog/msc313e_wdt.c b/drivers/watchdog/msc313e_wdt.c
index d962589e2c55..10de94205600 100644
--- a/drivers/watchdog/msc313e_wdt.c
+++ b/drivers/watchdog/msc313e_wdt.c
@@ -132,7 +132,7 @@ static int msc313e_wdt_probe(struct platform_device *pdev)
 	return devm_watchdog_register_device(dev, &priv->wdev);
 }
 
-static int __maybe_unused msc313e_wdt_suspend(struct device *dev)
+static int msc313e_wdt_suspend(struct device *dev)
 {
 	struct msc313e_wdt_priv *priv = dev_get_drvdata(dev);
 
@@ -142,7 +142,7 @@ static int __maybe_unused msc313e_wdt_suspend(struct device *dev)
 	return 0;
 }
 
-static int __maybe_unused msc313e_wdt_resume(struct device *dev)
+static int msc313e_wdt_resume(struct device *dev)
 {
 	struct msc313e_wdt_priv *priv = dev_get_drvdata(dev);
 
@@ -152,13 +152,13 @@ static int __maybe_unused msc313e_wdt_resume(struct device *dev)
 	return 0;
 }
 
-static SIMPLE_DEV_PM_OPS(msc313e_wdt_pm_ops, msc313e_wdt_suspend, msc313e_wdt_resume);
+static DEFINE_SIMPLE_DEV_PM_OPS(msc313e_wdt_pm_ops, msc313e_wdt_suspend, msc313e_wdt_resume);
 
 static struct platform_driver msc313e_wdt_driver = {
 	.driver = {
 		.name = "msc313e-wdt",
 		.of_match_table = msc313e_wdt_of_match,
-		.pm = &msc313e_wdt_pm_ops,
+		.pm = pm_sleep_ptr(&msc313e_wdt_pm_ops),
 	},
 	.probe = msc313e_wdt_probe,
 };
-- 
2.53.0


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

* [PATCH 5/8] watchdog: of_xilinx_wdt: Convert to DEFINE_SIMPLE_DEV_PM_OPS()
  2026-08-26  6:08 [PATCH 0/8] watchdog: Convert drivers to DEFINE_SIMPLE_DEV_PM_OPS() Triet Hoang
                   ` (3 preceding siblings ...)
  2026-08-26  6:08 ` [PATCH 4/8] watchdog: msc313e_wdt: " Triet Hoang
@ 2026-08-26  6:08 ` Triet Hoang
  2026-08-26  6:08 ` [PATCH 6/8] watchdog: pm8916_wdt: " Triet Hoang
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 16+ messages in thread
From: Triet Hoang @ 2026-08-26  6:08 UTC (permalink / raw)
  To: wim; +Cc: linux, linux-watchdog, linux-kernel, Triet Hoang

Convert deprecated SIMPLE_DEV_PM_OPS() to DEFINE_SIMPLE_DEV_PM_OPS()
and pm_sleep_ptr().

This lets us drop the __maybe_unused annotations from the resume callback.

Signed-off-by: Triet Hoang <triet.hoang.dev@gmail.com>
---
 drivers/watchdog/of_xilinx_wdt.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/watchdog/of_xilinx_wdt.c b/drivers/watchdog/of_xilinx_wdt.c
index 352853e6fe71..d6b1adfe31d1 100644
--- a/drivers/watchdog/of_xilinx_wdt.c
+++ b/drivers/watchdog/of_xilinx_wdt.c
@@ -251,7 +251,7 @@ static int xwdt_probe(struct platform_device *pdev)
  * @dev: handle to the device structure.
  * Return: 0 always.
  */
-static int __maybe_unused xwdt_suspend(struct device *dev)
+static int xwdt_suspend(struct device *dev)
 {
 	struct xwdt_device *xdev = dev_get_drvdata(dev);
 
@@ -267,7 +267,7 @@ static int __maybe_unused xwdt_suspend(struct device *dev)
  * @dev: handle to the device structure.
  * Return: 0 on success, errno otherwise.
  */
-static int __maybe_unused xwdt_resume(struct device *dev)
+static int xwdt_resume(struct device *dev)
 {
 	struct xwdt_device *xdev = dev_get_drvdata(dev);
 	int ret = 0;
@@ -278,7 +278,7 @@ static int __maybe_unused xwdt_resume(struct device *dev)
 	return ret;
 }
 
-static SIMPLE_DEV_PM_OPS(xwdt_pm_ops, xwdt_suspend, xwdt_resume);
+static DEFINE_SIMPLE_DEV_PM_OPS(xwdt_pm_ops, xwdt_suspend, xwdt_resume);
 
 /* Match table for of_platform binding */
 static const struct of_device_id xwdt_of_match[] = {
@@ -293,7 +293,7 @@ static struct platform_driver xwdt_driver = {
 	.driver = {
 		.name  = WATCHDOG_NAME,
 		.of_match_table = xwdt_of_match,
-		.pm = &xwdt_pm_ops,
+		.pm = pm_sleep_ptr(&xwdt_pm_ops),
 	},
 };
 
-- 
2.53.0


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

* [PATCH 6/8] watchdog: pm8916_wdt: Convert to DEFINE_SIMPLE_DEV_PM_OPS()
  2026-08-26  6:08 [PATCH 0/8] watchdog: Convert drivers to DEFINE_SIMPLE_DEV_PM_OPS() Triet Hoang
                   ` (4 preceding siblings ...)
  2026-08-26  6:08 ` [PATCH 5/8] watchdog: of_xilinx_wdt: " Triet Hoang
@ 2026-08-26  6:08 ` Triet Hoang
  2026-08-26  6:08 ` [PATCH 7/8] watchdog: sp805_wdt: " Triet Hoang
  2026-08-26  6:08 ` [PATCH 8/8] watchdog: stmp3xxx_rtc_wdt: " Triet Hoang
  7 siblings, 0 replies; 16+ messages in thread
From: Triet Hoang @ 2026-08-26  6:08 UTC (permalink / raw)
  To: wim; +Cc: linux, linux-watchdog, linux-kernel, Triet Hoang

Convert deprecated SIMPLE_DEV_PM_OPS() to DEFINE_SIMPLE_DEV_PM_OPS()
and pm_sleep_ptr().

This lets us drop the __maybe_unused annotations from the resume callback.

Signed-off-by: Triet Hoang <triet.hoang.dev@gmail.com>
---
 drivers/watchdog/pm8916_wdt.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/watchdog/pm8916_wdt.c b/drivers/watchdog/pm8916_wdt.c
index 007ed139ab96..a7ae57fb2453 100644
--- a/drivers/watchdog/pm8916_wdt.c
+++ b/drivers/watchdog/pm8916_wdt.c
@@ -233,7 +233,7 @@ static int pm8916_wdt_probe(struct platform_device *pdev)
 	return devm_watchdog_register_device(dev, &wdt->wdev);
 }
 
-static int __maybe_unused pm8916_wdt_suspend(struct device *dev)
+static int pm8916_wdt_suspend(struct device *dev)
 {
 	struct pm8916_wdt *wdt = dev_get_drvdata(dev);
 
@@ -243,7 +243,7 @@ static int __maybe_unused pm8916_wdt_suspend(struct device *dev)
 	return 0;
 }
 
-static int __maybe_unused pm8916_wdt_resume(struct device *dev)
+static int pm8916_wdt_resume(struct device *dev)
 {
 	struct pm8916_wdt *wdt = dev_get_drvdata(dev);
 
@@ -253,7 +253,7 @@ static int __maybe_unused pm8916_wdt_resume(struct device *dev)
 	return 0;
 }
 
-static SIMPLE_DEV_PM_OPS(pm8916_wdt_pm_ops, pm8916_wdt_suspend,
+static DEFINE_SIMPLE_DEV_PM_OPS(pm8916_wdt_pm_ops, pm8916_wdt_suspend,
 			 pm8916_wdt_resume);
 
 static const struct of_device_id pm8916_wdt_id_table[] = {
@@ -267,7 +267,7 @@ static struct platform_driver pm8916_wdt_driver = {
 	.driver = {
 		.name = "pm8916-wdt",
 		.of_match_table = pm8916_wdt_id_table,
-		.pm = &pm8916_wdt_pm_ops,
+		.pm = pm_sleep_ptr(&pm8916_wdt_pm_ops),
 	},
 };
 module_platform_driver(pm8916_wdt_driver);
-- 
2.53.0


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

* [PATCH 7/8] watchdog: sp805_wdt: Convert to DEFINE_SIMPLE_DEV_PM_OPS()
  2026-08-26  6:08 [PATCH 0/8] watchdog: Convert drivers to DEFINE_SIMPLE_DEV_PM_OPS() Triet Hoang
                   ` (5 preceding siblings ...)
  2026-08-26  6:08 ` [PATCH 6/8] watchdog: pm8916_wdt: " Triet Hoang
@ 2026-08-26  6:08 ` Triet Hoang
  2026-08-26  6:18   ` sashiko-bot
  2026-08-26  6:08 ` [PATCH 8/8] watchdog: stmp3xxx_rtc_wdt: " Triet Hoang
  7 siblings, 1 reply; 16+ messages in thread
From: Triet Hoang @ 2026-08-26  6:08 UTC (permalink / raw)
  To: wim; +Cc: linux, linux-watchdog, linux-kernel, Triet Hoang

Convert deprecated SIMPLE_DEV_PM_OPS() to DEFINE_SIMPLE_DEV_PM_OPS()
and pm_sleep_ptr().

This lets us drop the __maybe_unused annotations from the resume callback.

Signed-off-by: Triet Hoang <triet.hoang.dev@gmail.com>
---
 drivers/watchdog/sp805_wdt.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/watchdog/sp805_wdt.c b/drivers/watchdog/sp805_wdt.c
index c2125f204a13..7b01011a5bc8 100644
--- a/drivers/watchdog/sp805_wdt.c
+++ b/drivers/watchdog/sp805_wdt.c
@@ -321,7 +321,7 @@ static void sp805_wdt_remove(struct amba_device *adev)
 	watchdog_set_drvdata(&wdt->wdd, NULL);
 }
 
-static int __maybe_unused sp805_wdt_suspend(struct device *dev)
+static int sp805_wdt_suspend(struct device *dev)
 {
 	struct sp805_wdt *wdt = dev_get_drvdata(dev);
 
@@ -331,7 +331,7 @@ static int __maybe_unused sp805_wdt_suspend(struct device *dev)
 	return 0;
 }
 
-static int __maybe_unused sp805_wdt_resume(struct device *dev)
+static int sp805_wdt_resume(struct device *dev)
 {
 	struct sp805_wdt *wdt = dev_get_drvdata(dev);
 
@@ -341,7 +341,7 @@ static int __maybe_unused sp805_wdt_resume(struct device *dev)
 	return 0;
 }
 
-static SIMPLE_DEV_PM_OPS(sp805_wdt_dev_pm_ops, sp805_wdt_suspend,
+static DEFINE_SIMPLE_DEV_PM_OPS(sp805_wdt_dev_pm_ops, sp805_wdt_suspend,
 		sp805_wdt_resume);
 
 static const struct amba_id sp805_wdt_ids[] = {
@@ -361,7 +361,7 @@ MODULE_DEVICE_TABLE(amba, sp805_wdt_ids);
 static struct amba_driver sp805_wdt_driver = {
 	.drv = {
 		.name	= MODULE_NAME,
-		.pm	= &sp805_wdt_dev_pm_ops,
+		.pm	= pm_sleep_ptr(&sp805_wdt_dev_pm_ops),
 	},
 	.id_table	= sp805_wdt_ids,
 	.probe		= sp805_wdt_probe,
-- 
2.53.0


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

* [PATCH 8/8] watchdog: stmp3xxx_rtc_wdt: Convert to DEFINE_SIMPLE_DEV_PM_OPS()
  2026-08-26  6:08 [PATCH 0/8] watchdog: Convert drivers to DEFINE_SIMPLE_DEV_PM_OPS() Triet Hoang
                   ` (6 preceding siblings ...)
  2026-08-26  6:08 ` [PATCH 7/8] watchdog: sp805_wdt: " Triet Hoang
@ 2026-08-26  6:08 ` Triet Hoang
  2026-08-26  6:19   ` sashiko-bot
  7 siblings, 1 reply; 16+ messages in thread
From: Triet Hoang @ 2026-08-26  6:08 UTC (permalink / raw)
  To: wim; +Cc: linux, linux-watchdog, linux-kernel, Triet Hoang

Convert deprecated SIMPLE_DEV_PM_OPS() to DEFINE_SIMPLE_DEV_PM_OPS()
and pm_sleep_ptr().

This lets us drop the __maybe_unused annotations from the resume callback.

Signed-off-by: Triet Hoang <triet.hoang.dev@gmail.com>
---
 drivers/watchdog/stmp3xxx_rtc_wdt.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/watchdog/stmp3xxx_rtc_wdt.c b/drivers/watchdog/stmp3xxx_rtc_wdt.c
index 060447101f48..958e68746f8e 100644
--- a/drivers/watchdog/stmp3xxx_rtc_wdt.c
+++ b/drivers/watchdog/stmp3xxx_rtc_wdt.c
@@ -114,7 +114,7 @@ static void stmp3xxx_wdt_remove(struct platform_device *pdev)
 	unregister_reboot_notifier(&wdt_notifier);
 }
 
-static int __maybe_unused stmp3xxx_wdt_suspend(struct device *dev)
+static int stmp3xxx_wdt_suspend(struct device *dev)
 {
 	struct watchdog_device *wdd = &stmp3xxx_wdd;
 
@@ -124,7 +124,7 @@ static int __maybe_unused stmp3xxx_wdt_suspend(struct device *dev)
 	return 0;
 }
 
-static int __maybe_unused stmp3xxx_wdt_resume(struct device *dev)
+static int stmp3xxx_wdt_resume(struct device *dev)
 {
 	struct watchdog_device *wdd = &stmp3xxx_wdd;
 
@@ -134,13 +134,13 @@ static int __maybe_unused stmp3xxx_wdt_resume(struct device *dev)
 	return 0;
 }
 
-static SIMPLE_DEV_PM_OPS(stmp3xxx_wdt_pm_ops,
+static DEFINE_SIMPLE_DEV_PM_OPS(stmp3xxx_wdt_pm_ops,
 			 stmp3xxx_wdt_suspend, stmp3xxx_wdt_resume);
 
 static struct platform_driver stmp3xxx_wdt_driver = {
 	.driver = {
 		.name = "stmp3xxx_rtc_wdt",
-		.pm = &stmp3xxx_wdt_pm_ops,
+		.pm = pm_sleep_ptr(&stmp3xxx_wdt_pm_ops),
 	},
 	.probe = stmp3xxx_wdt_probe,
 	.remove = stmp3xxx_wdt_remove,
-- 
2.53.0


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

* Re: [PATCH 3/8] watchdog: keembay_wdt: Convert to DEFINE_SIMPLE_DEV_PM_OPS()
  2026-08-26  6:08 ` [PATCH 3/8] watchdog: keembay_wdt: " Triet Hoang
@ 2026-08-26  6:17   ` sashiko-bot
  2026-08-26 21:38     ` Guenter Roeck
  0 siblings, 1 reply; 16+ messages in thread
From: sashiko-bot @ 2026-08-26  6:17 UTC (permalink / raw)
  To: Triet Hoang; +Cc: linux-watchdog

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] The driver uses `pm_sleep_ptr()` for the `dev_pm_ops` structure pointer in the platform driver definition, which violates the strict subsystem guidelines mandating `pm_ptr()`.
--

commit a755ace210f3814431fd01a8ffbd96e121f18dda
Author: Triet Hoang <triet.hoang.dev@gmail.com>

watchdog: keembay_wdt: Convert to DEFINE_SIMPLE_DEV_PM_OPS()

This commit converts the deprecated SIMPLE_DEV_PM_OPS() to
DEFINE_SIMPLE_DEV_PM_OPS() and wraps the PM operations pointer with
pm_sleep_ptr(). This enables dropping the __maybe_unused annotations from
the suspend and resume callbacks.

> diff --git a/drivers/watchdog/keembay_wdt.c b/drivers/watchdog/keembay_wdt.c
> index 2a39114dbc641..9424ea4155f07 100644
> --- a/drivers/watchdog/keembay_wdt.c
> +++ b/drivers/watchdog/keembay_wdt.c
[ ... ]
> @@ -285,7 +285,7 @@ static struct platform_driver keembay_wdt_driver = {
>  	.driver	= {
>  		.name		= "keembay_wdt",
>  		.of_match_table	= keembay_wdt_match,
> -		.pm		= &keembay_wdt_pm_ops,
> +		.pm		= pm_sleep_ptr(&keembay_wdt_pm_ops),

[Severity: Low]
Is it correct to use pm_sleep_ptr() here for the dev_pm_ops structure pointer?
The PM subsystem guidelines require using pm_ptr() for dev_pm_ops structure
pointers, reserving pm_sleep_ptr() for the sleep callbacks themselves.

>  	},
>  };

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260826060839.203297-1-triet.hoang.dev@gmail.com?part=3

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

* Re: [PATCH 7/8] watchdog: sp805_wdt: Convert to DEFINE_SIMPLE_DEV_PM_OPS()
  2026-08-26  6:08 ` [PATCH 7/8] watchdog: sp805_wdt: " Triet Hoang
@ 2026-08-26  6:18   ` sashiko-bot
  0 siblings, 0 replies; 16+ messages in thread
From: sashiko-bot @ 2026-08-26  6:18 UTC (permalink / raw)
  To: Triet Hoang; +Cc: linux-watchdog

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] Incorrect PM macro used for dev_pm_ops structure pointer
--

commit 9fbd3f6262590348a0368f82478f6de749787ec2
Author: Triet Hoang <triet.hoang.dev@gmail.com>

watchdog: sp805_wdt: Convert to DEFINE_SIMPLE_DEV_PM_OPS()

This commit converts the deprecated SIMPLE_DEV_PM_OPS() to
DEFINE_SIMPLE_DEV_PM_OPS() and wraps the struct pointer. This allows the
removal of __maybe_unused annotations from the callbacks.

> diff --git a/drivers/watchdog/sp805_wdt.c b/drivers/watchdog/sp805_wdt.c
> index c2125f204a137..7b01011a5bc86 100644
> --- a/drivers/watchdog/sp805_wdt.c
> +++ b/drivers/watchdog/sp805_wdt.c

[ ... ]

> @@ -361,7 +361,7 @@ MODULE_DEVICE_TABLE(amba, sp805_wdt_ids);
>  static struct amba_driver sp805_wdt_driver = {
>  	.drv = {
>  		.name	= MODULE_NAME,
> -		.pm	= &sp805_wdt_dev_pm_ops,
> +		.pm	= pm_sleep_ptr(&sp805_wdt_dev_pm_ops),

[Severity: Low]
Should this use pm_ptr() instead of pm_sleep_ptr() for the structure pointer?

According to the power management guidelines, dev_pm_ops structure pointers
should be wrapped with pm_ptr() rather than pm_sleep_ptr(). Using
pm_sleep_ptr() here drops the entire dev_pm_ops structure when CONFIG_PM_SLEEP
is disabled. If runtime PM callbacks are added to this structure in the future,
they will be incorrectly discarded even when CONFIG_PM is enabled.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260826060839.203297-1-triet.hoang.dev@gmail.com?part=7

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

* Re: [PATCH 8/8] watchdog: stmp3xxx_rtc_wdt: Convert to DEFINE_SIMPLE_DEV_PM_OPS()
  2026-08-26  6:08 ` [PATCH 8/8] watchdog: stmp3xxx_rtc_wdt: " Triet Hoang
@ 2026-08-26  6:19   ` sashiko-bot
  0 siblings, 0 replies; 16+ messages in thread
From: sashiko-bot @ 2026-08-26  6:19 UTC (permalink / raw)
  To: Triet Hoang; +Cc: linux-watchdog

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] Incorrect wrapper macro used for the dev_pm_ops structure pointer.
--

commit 1f11ea674c46c75875588fac7d892578dd01a7b5
Author: Triet Hoang <triet.hoang.dev@gmail.com>

watchdog: stmp3xxx_rtc_wdt: Convert to DEFINE_SIMPLE_DEV_PM_OPS()

This commit converts the deprecated SIMPLE_DEV_PM_OPS macro to
DEFINE_SIMPLE_DEV_PM_OPS and wraps the pm_ops pointer, which allows dropping
the maybe_unused annotations from the suspend and resume callbacks.

> diff --git a/drivers/watchdog/stmp3xxx_rtc_wdt.c b/drivers/watchdog/stmp3xxx_rtc_wdt.c
> --- a/drivers/watchdog/stmp3xxx_rtc_wdt.c
> +++ b/drivers/watchdog/stmp3xxx_rtc_wdt.c
[ ... ]
> -static SIMPLE_DEV_PM_OPS(stmp3xxx_wdt_pm_ops,
> +static DEFINE_SIMPLE_DEV_PM_OPS(stmp3xxx_wdt_pm_ops,
>  			 stmp3xxx_wdt_suspend, stmp3xxx_wdt_resume);
>  
>  static struct platform_driver stmp3xxx_wdt_driver = {
>  	.driver = {
>  		.name = "stmp3xxx_rtc_wdt",
> -		.pm = &stmp3xxx_wdt_pm_ops,
> +		.pm = pm_sleep_ptr(&stmp3xxx_wdt_pm_ops),

[Severity: Low]
Is it correct to use pm_sleep_ptr() here instead of pm_ptr() for the
dev_pm_ops structure pointer?

According to the power management callback conditional compilation
guidelines, pm_ptr() should be used for dev_pm_ops structure pointers,
while pm_sleep_ptr() is intended for the specific sleep callbacks
(like suspend, resume, freeze, thaw, etc.).

By using pm_sleep_ptr() on the structure pointer itself, it will evaluate
to NULL when CONFIG_PM_SLEEP is disabled. If any runtime PM callbacks were
later added to this dev_pm_ops structure, they would be silently compiled
out even if CONFIG_PM is enabled.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260826060839.203297-1-triet.hoang.dev@gmail.com?part=8

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

* Re: [PATCH 4/8] watchdog: msc313e_wdt: Convert to DEFINE_SIMPLE_DEV_PM_OPS()
  2026-08-26  6:08 ` [PATCH 4/8] watchdog: msc313e_wdt: " Triet Hoang
@ 2026-08-26  6:20   ` sashiko-bot
  2026-08-27  4:53     ` Tzung-Bi Shih
  0 siblings, 1 reply; 16+ messages in thread
From: sashiko-bot @ 2026-08-26  6:20 UTC (permalink / raw)
  To: Triet Hoang; +Cc: linux-watchdog

Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:

Pre-existing issues:
- [High] Missing platform_set_drvdata() or dev_set_drvdata() in the probe function leads to a guaranteed NULL pointer dereference during suspend/resume operations.
- [High] The driver accesses hardware registers without ensuring the required clock is enabled, which can lead to a synchronous bus fault.
--

commit 906c6a1c7ebc485b90aee7c86e2994040111e762
Author: Triet Hoang <triet.hoang.dev@gmail.com>

watchdog: msc313e_wdt: Convert to DEFINE_SIMPLE_DEV_PM_OPS()
    
Convert deprecated SIMPLE_DEV_PM_OPS() to DEFINE_SIMPLE_DEV_PM_OPS()
and pm_sleep_ptr(). This lets us drop the __maybe_unused annotations
from the resume callback.

> diff --git a/drivers/watchdog/msc313e_wdt.c b/drivers/watchdog/msc313e_wdt.c
> index 90171431fc594..b8edf85f10236 100644
> --- a/drivers/watchdog/msc313e_wdt.c
> +++ b/drivers/watchdog/msc313e_wdt.c
> @@ -133,7 +133,7 @@ static int msc313e_wdt_probe(struct platform_device *pdev)
>  	return devm_watchdog_register_device(dev, &priv->wdev);
>  }
>  
> -static int __maybe_unused msc313e_wdt_suspend(struct device *dev)
> +static int msc313e_wdt_suspend(struct device *dev)
>  {
>  	struct msc313e_wdt_priv *priv = dev_get_drvdata(dev);

[Severity: High]
This isn't a bug introduced by this patch, but does this result in a NULL
pointer dereference when the system suspends?

The PM core invokes msc313e_wdt_suspend() and passes the platform device as the
dev parameter. However, msc313e_wdt_probe() never calls platform_set_drvdata()
or dev_set_drvdata() for the platform device:

drivers/watchdog/msc313e_wdt.c:msc313e_wdt_probe() {
    ...
	watchdog_set_drvdata(&priv->wdev, priv);

	watchdog_init_timeout(&priv->wdev, timeout, dev);
	watchdog_stop_on_reboot(&priv->wdev);
	watchdog_stop_on_unregister(&priv->wdev);

	return devm_watchdog_register_device(dev, &priv->wdev);
}

Because the driver data is uninitialized, dev_get_drvdata(dev) evaluates to
NULL. The callback then computes an offset into this NULL pointer via
&priv->wdev and passes it to watchdog_active(), which unconditionally
dereferences it via test_bit(WDOG_ACTIVE, &wdd->status), causing a fatal
page fault.

The identical NULL pointer dereference logic also executes on the resume path
in msc313e_wdt_resume().

[Severity: High]
This is also a pre-existing issue, but does this driver access hardware
registers without ensuring the required clock is enabled?

The probe function reads from hardware registers without first calling
clk_prepare_enable(), which can crash if the clock is disabled by the
bootloader:

drivers/watchdog/msc313e_wdt.c:msc313e_wdt_probe() {
    ...
	/* If the period is non-zero the WDT is running */
	if (readw(priv->base + REG_WDT_MAX_PRD_L) | (readw(priv->base + REG_WDT_MAX_PRD_H) << 16))
		set_bit(WDOG_HW_RUNNING, &priv->wdev.status);
    ...
}

Additionally, because the clock is never enabled in the probe function, when
the Common Clock Framework's late_initcall executes, it physically disables
the unreferenced clock. If the watchdog is already running at boot time, the
watchdog core will periodically call the background ping callback:

drivers/watchdog/msc313e_wdt.c:msc313e_wdt_ping() {
    ...
	writew(1, priv->base + REG_WDT_CLR);
    ...
}

Writing to these unclocked watchdog registers will trigger a synchronous
bus fault.

[ ... ]

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260826060839.203297-1-triet.hoang.dev@gmail.com?part=4

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

* Re: [PATCH 3/8] watchdog: keembay_wdt: Convert to DEFINE_SIMPLE_DEV_PM_OPS()
  2026-08-26  6:17   ` sashiko-bot
@ 2026-08-26 21:38     ` Guenter Roeck
  0 siblings, 0 replies; 16+ messages in thread
From: Guenter Roeck @ 2026-08-26 21:38 UTC (permalink / raw)
  To: sashiko-reviews, Triet Hoang; +Cc: linux-watchdog

On 8/25/26 23:17, sashiko-bot@kernel.org wrote:
> Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
> - [Low] The driver uses `pm_sleep_ptr()` for the `dev_pm_ops` structure pointer in the platform driver definition, which violates the strict subsystem guidelines mandating `pm_ptr()`.
> --
> 
> commit a755ace210f3814431fd01a8ffbd96e121f18dda
> Author: Triet Hoang <triet.hoang.dev@gmail.com>
> 
> watchdog: keembay_wdt: Convert to DEFINE_SIMPLE_DEV_PM_OPS()
> 
> This commit converts the deprecated SIMPLE_DEV_PM_OPS() to
> DEFINE_SIMPLE_DEV_PM_OPS() and wraps the PM operations pointer with
> pm_sleep_ptr(). This enables dropping the __maybe_unused annotations from
> the suspend and resume callbacks.
> 
>> diff --git a/drivers/watchdog/keembay_wdt.c b/drivers/watchdog/keembay_wdt.c
>> index 2a39114dbc641..9424ea4155f07 100644
>> --- a/drivers/watchdog/keembay_wdt.c
>> +++ b/drivers/watchdog/keembay_wdt.c
> [ ... ]
>> @@ -285,7 +285,7 @@ static struct platform_driver keembay_wdt_driver = {
>>   	.driver	= {
>>   		.name		= "keembay_wdt",
>>   		.of_match_table	= keembay_wdt_match,
>> -		.pm		= &keembay_wdt_pm_ops,
>> +		.pm		= pm_sleep_ptr(&keembay_wdt_pm_ops),
> 
> [Severity: Low]
> Is it correct to use pm_sleep_ptr() here for the dev_pm_ops structure pointer?
> The PM subsystem guidelines require using pm_ptr() for dev_pm_ops structure
> pointers, reserving pm_sleep_ptr() for the sleep callbacks themselves.
> 

The use of pm_sleep_ptr() for .pm is widely used in the kernel, but at
least Sashiko's guidance suggests that pm_ptr() should be used instead.
Please do that for .pm pointers.

Thanks,
Guenter


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

* Re: [PATCH 4/8] watchdog: msc313e_wdt: Convert to DEFINE_SIMPLE_DEV_PM_OPS()
  2026-08-26  6:20   ` sashiko-bot
@ 2026-08-27  4:53     ` Tzung-Bi Shih
  0 siblings, 0 replies; 16+ messages in thread
From: Tzung-Bi Shih @ 2026-08-27  4:53 UTC (permalink / raw)
  To: sashiko-reviews; +Cc: Triet Hoang, linux-watchdog

On Wed, Aug 26, 2026 at 06:20:35AM +0000, sashiko-bot@kernel.org wrote:
> Pre-existing issues:
> - [High] Missing platform_set_drvdata() or dev_set_drvdata() in the probe function leads to a guaranteed NULL pointer dereference during suspend/resume operations.
> - [High] The driver accesses hardware registers without ensuring the required clock is enabled, which can lead to a synchronous bus fault.

They are real issues.  Sent [1] for fixing if they are still relevant.

[1] https://lore.kernel.org/linux-watchdog/20260827044700.554333-1-tzungbi@kernel.org

> > -static int __maybe_unused msc313e_wdt_suspend(struct device *dev)
> > +static int msc313e_wdt_suspend(struct device *dev)
> >  {
> >  	struct msc313e_wdt_priv *priv = dev_get_drvdata(dev);
> 
> [Severity: High]
> This isn't a bug introduced by this patch, but does this result in a NULL
> pointer dereference when the system suspends?
> 
> The PM core invokes msc313e_wdt_suspend() and passes the platform device as the
> dev parameter. However, msc313e_wdt_probe() never calls platform_set_drvdata()
> or dev_set_drvdata() for the platform device:
> 
> drivers/watchdog/msc313e_wdt.c:msc313e_wdt_probe() {
>     ...
> 	watchdog_set_drvdata(&priv->wdev, priv);
> 
> 	watchdog_init_timeout(&priv->wdev, timeout, dev);
> 	watchdog_stop_on_reboot(&priv->wdev);
> 	watchdog_stop_on_unregister(&priv->wdev);
> 
> 	return devm_watchdog_register_device(dev, &priv->wdev);
> }
> 
> Because the driver data is uninitialized, dev_get_drvdata(dev) evaluates to
> NULL. The callback then computes an offset into this NULL pointer via
> &priv->wdev and passes it to watchdog_active(), which unconditionally
> dereferences it via test_bit(WDOG_ACTIVE, &wdd->status), causing a fatal
> page fault.
> 
> The identical NULL pointer dereference logic also executes on the resume path
> in msc313e_wdt_resume().

https://lore.kernel.org/linux-watchdog/20260827044700.554333-2-tzungbi@kernel.org

> [Severity: High]
> This is also a pre-existing issue, but does this driver access hardware
> registers without ensuring the required clock is enabled?
> 
> The probe function reads from hardware registers without first calling
> clk_prepare_enable(), which can crash if the clock is disabled by the
> bootloader:
> 
> drivers/watchdog/msc313e_wdt.c:msc313e_wdt_probe() {
>     ...
> 	/* If the period is non-zero the WDT is running */
> 	if (readw(priv->base + REG_WDT_MAX_PRD_L) | (readw(priv->base + REG_WDT_MAX_PRD_H) << 16))
> 		set_bit(WDOG_HW_RUNNING, &priv->wdev.status);
>     ...
> }
> 
> Additionally, because the clock is never enabled in the probe function, when
> the Common Clock Framework's late_initcall executes, it physically disables
> the unreferenced clock. If the watchdog is already running at boot time, the
> watchdog core will periodically call the background ping callback:
> 
> drivers/watchdog/msc313e_wdt.c:msc313e_wdt_ping() {
>     ...
> 	writew(1, priv->base + REG_WDT_CLR);
>     ...
> }
> 
> Writing to these unclocked watchdog registers will trigger a synchronous
> bus fault.

https://lore.kernel.org/linux-watchdog/20260827044700.554333-3-tzungbi@kernel.org

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

* Re: [PATCH 2/8] watchdog: da9062: Convert to DEFINE_SIMPLE_DEV_PM_OPS()
  2026-08-26  6:08 ` [PATCH 2/8] watchdog: da9062: " Triet Hoang
@ 2026-08-27  7:42   ` Tzung-Bi Shih
  0 siblings, 0 replies; 16+ messages in thread
From: Tzung-Bi Shih @ 2026-08-27  7:42 UTC (permalink / raw)
  To: Triet Hoang; +Cc: wim, linux, linux-watchdog, linux-kernel

On Wed, Aug 26, 2026 at 01:08:33PM +0700, Triet Hoang wrote:
> diff --git a/drivers/watchdog/da9062_wdt.c b/drivers/watchdog/da9062_wdt.c
...
> -static SIMPLE_DEV_PM_OPS(da9062_wdt_pm_ops,
> +static DEFINE_SIMPLE_DEV_PM_OPS(da9062_wdt_pm_ops,
>  			 da9062_wdt_suspend, da9062_wdt_resume);

To be neat, it'd probably like to align the parameters to '(' or simply
combine them into a single line if it fits within the 100-col limit.

The suggestion applies to all other patches in the series as well.

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

end of thread, other threads:[~2026-08-27  7:42 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-26  6:08 [PATCH 0/8] watchdog: Convert drivers to DEFINE_SIMPLE_DEV_PM_OPS() Triet Hoang
2026-08-26  6:08 ` [PATCH 1/8] watchdog: cadence_wdt: Convert " Triet Hoang
2026-08-26  6:08 ` [PATCH 2/8] watchdog: da9062: " Triet Hoang
2026-08-27  7:42   ` Tzung-Bi Shih
2026-08-26  6:08 ` [PATCH 3/8] watchdog: keembay_wdt: " Triet Hoang
2026-08-26  6:17   ` sashiko-bot
2026-08-26 21:38     ` Guenter Roeck
2026-08-26  6:08 ` [PATCH 4/8] watchdog: msc313e_wdt: " Triet Hoang
2026-08-26  6:20   ` sashiko-bot
2026-08-27  4:53     ` Tzung-Bi Shih
2026-08-26  6:08 ` [PATCH 5/8] watchdog: of_xilinx_wdt: " Triet Hoang
2026-08-26  6:08 ` [PATCH 6/8] watchdog: pm8916_wdt: " Triet Hoang
2026-08-26  6:08 ` [PATCH 7/8] watchdog: sp805_wdt: " Triet Hoang
2026-08-26  6:18   ` sashiko-bot
2026-08-26  6:08 ` [PATCH 8/8] watchdog: stmp3xxx_rtc_wdt: " Triet Hoang
2026-08-26  6:19   ` sashiko-bot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.