All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/8] watchdog: Remove #ifdef guards for PM related functions
@ 2022-06-28 19:34 Paul Cercueil
  2022-06-28 19:34 ` [PATCH 1/8] watchdog: bcm7038_wdt: " Paul Cercueil
                   ` (7 more replies)
  0 siblings, 8 replies; 32+ messages in thread
From: Paul Cercueil @ 2022-06-28 19:34 UTC (permalink / raw)
  To: Wim Van Sebroeck, Guenter Roeck
  Cc: linux-watchdog, linux-kernel, Paul Cercueil

After my work [1] to introduce a new set of macros to be used with PM
callback functions, update the few watchdog drivers that do still
protect their .suspend/.resume implementations with a #ifdef guard to
use the new macros instead.

These macros allow the suspend and resume functions to be automatically
dropped by the compiler when CONFIG_SUSPEND is disabled, without having
to use #ifdef guards. Not using #ifdef guards means that the code is
always compiled independently of any Kconfig option, and thanks to that
bugs and regressions are easier to catch.

Cheers,
-Paul

[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/include/linux/pm.h?id=c06ef740d401d0f4ab188882bf6f8d9cf0f75eaf


*** BLURB HERE ***

Paul Cercueil (8):
  watchdog: bcm7038_wdt: Remove #ifdef guards for PM related functions
  watchdog: dw_wdt: Remove #ifdef guards for PM related functions
  watchdog: mtk_wdt: Remove #ifdef guards for PM related functions
  watchdog: s3c2410_wdt: Remove #ifdef guards for PM related functions
  watchdog: sama5d4_wdt: Remove #ifdef guards for PM related functions
  watchdog: st_lpc_wdt: Remove #ifdef guards for PM related functions
  watchdog: tegra_wdt: Remove #ifdef guards for PM related functions
  watchdog: wdat_wdt: Remove #ifdef guards for PM related functions

 drivers/watchdog/bcm7038_wdt.c |  8 +++-----
 drivers/watchdog/dw_wdt.c      |  6 ++----
 drivers/watchdog/mtk_wdt.c     | 10 +++-------
 drivers/watchdog/s3c2410_wdt.c |  9 +++------
 drivers/watchdog/sama5d4_wdt.c |  8 +++-----
 drivers/watchdog/st_lpc_wdt.c  |  9 +++------
 drivers/watchdog/tegra_wdt.c   | 14 +++++---------
 drivers/watchdog/wdat_wdt.c    |  7 ++-----
 8 files changed, 24 insertions(+), 47 deletions(-)

-- 
2.35.1


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

* [PATCH 1/8] watchdog: bcm7038_wdt: Remove #ifdef guards for PM related functions
  2022-06-28 19:34 [PATCH 0/8] watchdog: Remove #ifdef guards for PM related functions Paul Cercueil
@ 2022-06-28 19:34 ` Paul Cercueil
  2022-06-28 20:02   ` Guenter Roeck
  2022-06-28 20:09   ` Florian Fainelli
  2022-06-28 19:34 ` [PATCH 2/8] watchdog: dw_wdt: " Paul Cercueil
                   ` (6 subsequent siblings)
  7 siblings, 2 replies; 32+ messages in thread
From: Paul Cercueil @ 2022-06-28 19:34 UTC (permalink / raw)
  To: Wim Van Sebroeck, Guenter Roeck
  Cc: linux-watchdog, linux-kernel, Paul Cercueil, Florian Fainelli,
	Broadcom internal kernel review list

Use the new DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() macros to
handle the .suspend/.resume callbacks.

These macros allow the suspend and resume functions to be automatically
dropped by the compiler when CONFIG_SUSPEND is disabled, without having
to use #ifdef guards. Not using #ifdef guards means that the code is
always compiled independently of any Kconfig option, and thanks to that
bugs and regressions are easier to catch.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Cc: Florian Fainelli <f.fainelli@gmail.com>
Cc: Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
---
 drivers/watchdog/bcm7038_wdt.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/drivers/watchdog/bcm7038_wdt.c b/drivers/watchdog/bcm7038_wdt.c
index 1ffcf6aca6ae..9388838899ac 100644
--- a/drivers/watchdog/bcm7038_wdt.c
+++ b/drivers/watchdog/bcm7038_wdt.c
@@ -192,7 +192,6 @@ static int bcm7038_wdt_probe(struct platform_device *pdev)
 	return 0;
 }
 
-#ifdef CONFIG_PM_SLEEP
 static int bcm7038_wdt_suspend(struct device *dev)
 {
 	struct bcm7038_watchdog *wdt = dev_get_drvdata(dev);
@@ -212,10 +211,9 @@ static int bcm7038_wdt_resume(struct device *dev)
 
 	return 0;
 }
-#endif
 
-static SIMPLE_DEV_PM_OPS(bcm7038_wdt_pm_ops, bcm7038_wdt_suspend,
-			 bcm7038_wdt_resume);
+static DEFINE_SIMPLE_DEV_PM_OPS(bcm7038_wdt_pm_ops,
+				bcm7038_wdt_suspend, bcm7038_wdt_resume);
 
 static const struct of_device_id bcm7038_wdt_match[] = {
 	{ .compatible = "brcm,bcm6345-wdt" },
@@ -236,7 +234,7 @@ static struct platform_driver bcm7038_wdt_driver = {
 	.driver		= {
 		.name		= "bcm7038-wdt",
 		.of_match_table	= bcm7038_wdt_match,
-		.pm		= &bcm7038_wdt_pm_ops,
+		.pm		= pm_sleep_ptr(&bcm7038_wdt_pm_ops),
 	}
 };
 module_platform_driver(bcm7038_wdt_driver);
-- 
2.35.1


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

* [PATCH 2/8] watchdog: dw_wdt: Remove #ifdef guards for PM related functions
  2022-06-28 19:34 [PATCH 0/8] watchdog: Remove #ifdef guards for PM related functions Paul Cercueil
  2022-06-28 19:34 ` [PATCH 1/8] watchdog: bcm7038_wdt: " Paul Cercueil
@ 2022-06-28 19:34 ` Paul Cercueil
  2022-06-28 20:02   ` Guenter Roeck
  2022-06-28 19:34   ` Paul Cercueil
                   ` (5 subsequent siblings)
  7 siblings, 1 reply; 32+ messages in thread
From: Paul Cercueil @ 2022-06-28 19:34 UTC (permalink / raw)
  To: Wim Van Sebroeck, Guenter Roeck
  Cc: linux-watchdog, linux-kernel, Paul Cercueil

Use the new DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() macros to
handle the .suspend/.resume callbacks.

These macros allow the suspend and resume functions to be automatically
dropped by the compiler when CONFIG_SUSPEND is disabled, without having
to use #ifdef guards. Not using #ifdef guards means that the code is
always compiled independently of any Kconfig option, and thanks to that
bugs and regressions are easier to catch.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
---
 drivers/watchdog/dw_wdt.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/watchdog/dw_wdt.c b/drivers/watchdog/dw_wdt.c
index cd578843277e..060dae67d852 100644
--- a/drivers/watchdog/dw_wdt.c
+++ b/drivers/watchdog/dw_wdt.c
@@ -375,7 +375,6 @@ static irqreturn_t dw_wdt_irq(int irq, void *devid)
 	return IRQ_HANDLED;
 }
 
-#ifdef CONFIG_PM_SLEEP
 static int dw_wdt_suspend(struct device *dev)
 {
 	struct dw_wdt *dw_wdt = dev_get_drvdata(dev);
@@ -410,9 +409,8 @@ static int dw_wdt_resume(struct device *dev)
 
 	return 0;
 }
-#endif /* CONFIG_PM_SLEEP */
 
-static SIMPLE_DEV_PM_OPS(dw_wdt_pm_ops, dw_wdt_suspend, dw_wdt_resume);
+static DEFINE_SIMPLE_DEV_PM_OPS(dw_wdt_pm_ops, dw_wdt_suspend, dw_wdt_resume);
 
 /*
  * In case if DW WDT IP core is synthesized with fixed TOP feature disabled the
@@ -710,7 +708,7 @@ static struct platform_driver dw_wdt_driver = {
 	.driver		= {
 		.name	= "dw_wdt",
 		.of_match_table = of_match_ptr(dw_wdt_of_match),
-		.pm	= &dw_wdt_pm_ops,
+		.pm	= pm_sleep_ptr(&dw_wdt_pm_ops),
 	},
 };
 
-- 
2.35.1


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

* [PATCH 3/8] watchdog: mtk_wdt: Remove #ifdef guards for PM related functions
  2022-06-28 19:34 [PATCH 0/8] watchdog: Remove #ifdef guards for PM related functions Paul Cercueil
@ 2022-06-28 19:34   ` Paul Cercueil
  2022-06-28 19:34 ` [PATCH 2/8] watchdog: dw_wdt: " Paul Cercueil
                     ` (6 subsequent siblings)
  7 siblings, 0 replies; 32+ messages in thread
From: Paul Cercueil @ 2022-06-28 19:34 UTC (permalink / raw)
  To: Wim Van Sebroeck, Guenter Roeck
  Cc: linux-watchdog, linux-kernel, Paul Cercueil, Matthias Brugger,
	linux-arm-kernel, linux-mediatek

Use the new DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() macros to
handle the .suspend/.resume callbacks.

These macros allow the suspend and resume functions to be automatically
dropped by the compiler when CONFIG_SUSPEND is disabled, without having
to use #ifdef guards. Not using #ifdef guards means that the code is
always compiled independently of any Kconfig option, and thanks to that
bugs and regressions are easier to catch.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Cc: Matthias Brugger <matthias.bgg@gmail.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-mediatek@lists.infradead.org
---
 drivers/watchdog/mtk_wdt.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/drivers/watchdog/mtk_wdt.c b/drivers/watchdog/mtk_wdt.c
index f0d4e3cc7459..e97787536792 100644
--- a/drivers/watchdog/mtk_wdt.c
+++ b/drivers/watchdog/mtk_wdt.c
@@ -401,7 +401,6 @@ static int mtk_wdt_probe(struct platform_device *pdev)
 	return 0;
 }
 
-#ifdef CONFIG_PM_SLEEP
 static int mtk_wdt_suspend(struct device *dev)
 {
 	struct mtk_wdt_dev *mtk_wdt = dev_get_drvdata(dev);
@@ -423,7 +422,6 @@ static int mtk_wdt_resume(struct device *dev)
 
 	return 0;
 }
-#endif
 
 static const struct of_device_id mtk_wdt_dt_ids[] = {
 	{ .compatible = "mediatek,mt2712-wdt", .data = &mt2712_data },
@@ -437,16 +435,14 @@ static const struct of_device_id mtk_wdt_dt_ids[] = {
 };
 MODULE_DEVICE_TABLE(of, mtk_wdt_dt_ids);
 
-static const struct dev_pm_ops mtk_wdt_pm_ops = {
-	SET_SYSTEM_SLEEP_PM_OPS(mtk_wdt_suspend,
-				mtk_wdt_resume)
-};
+static DEFINE_SIMPLE_DEV_PM_OPS(mtk_wdt_pm_ops,
+				mtk_wdt_suspend, mtk_wdt_resume);
 
 static struct platform_driver mtk_wdt_driver = {
 	.probe		= mtk_wdt_probe,
 	.driver		= {
 		.name		= DRV_NAME,
-		.pm		= &mtk_wdt_pm_ops,
+		.pm		= pm_sleep_ptr(&mtk_wdt_pm_ops),
 		.of_match_table	= mtk_wdt_dt_ids,
 	},
 };
-- 
2.35.1


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

* [PATCH 3/8] watchdog: mtk_wdt: Remove #ifdef guards for PM related functions
@ 2022-06-28 19:34   ` Paul Cercueil
  0 siblings, 0 replies; 32+ messages in thread
From: Paul Cercueil @ 2022-06-28 19:34 UTC (permalink / raw)
  To: Wim Van Sebroeck, Guenter Roeck
  Cc: linux-watchdog, linux-kernel, Paul Cercueil, Matthias Brugger,
	linux-arm-kernel, linux-mediatek

Use the new DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() macros to
handle the .suspend/.resume callbacks.

These macros allow the suspend and resume functions to be automatically
dropped by the compiler when CONFIG_SUSPEND is disabled, without having
to use #ifdef guards. Not using #ifdef guards means that the code is
always compiled independently of any Kconfig option, and thanks to that
bugs and regressions are easier to catch.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Cc: Matthias Brugger <matthias.bgg@gmail.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-mediatek@lists.infradead.org
---
 drivers/watchdog/mtk_wdt.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/drivers/watchdog/mtk_wdt.c b/drivers/watchdog/mtk_wdt.c
index f0d4e3cc7459..e97787536792 100644
--- a/drivers/watchdog/mtk_wdt.c
+++ b/drivers/watchdog/mtk_wdt.c
@@ -401,7 +401,6 @@ static int mtk_wdt_probe(struct platform_device *pdev)
 	return 0;
 }
 
-#ifdef CONFIG_PM_SLEEP
 static int mtk_wdt_suspend(struct device *dev)
 {
 	struct mtk_wdt_dev *mtk_wdt = dev_get_drvdata(dev);
@@ -423,7 +422,6 @@ static int mtk_wdt_resume(struct device *dev)
 
 	return 0;
 }
-#endif
 
 static const struct of_device_id mtk_wdt_dt_ids[] = {
 	{ .compatible = "mediatek,mt2712-wdt", .data = &mt2712_data },
@@ -437,16 +435,14 @@ static const struct of_device_id mtk_wdt_dt_ids[] = {
 };
 MODULE_DEVICE_TABLE(of, mtk_wdt_dt_ids);
 
-static const struct dev_pm_ops mtk_wdt_pm_ops = {
-	SET_SYSTEM_SLEEP_PM_OPS(mtk_wdt_suspend,
-				mtk_wdt_resume)
-};
+static DEFINE_SIMPLE_DEV_PM_OPS(mtk_wdt_pm_ops,
+				mtk_wdt_suspend, mtk_wdt_resume);
 
 static struct platform_driver mtk_wdt_driver = {
 	.probe		= mtk_wdt_probe,
 	.driver		= {
 		.name		= DRV_NAME,
-		.pm		= &mtk_wdt_pm_ops,
+		.pm		= pm_sleep_ptr(&mtk_wdt_pm_ops),
 		.of_match_table	= mtk_wdt_dt_ids,
 	},
 };
-- 
2.35.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH 4/8] watchdog: s3c2410_wdt: Remove #ifdef guards for PM related functions
  2022-06-28 19:34 [PATCH 0/8] watchdog: Remove #ifdef guards for PM related functions Paul Cercueil
@ 2022-06-28 19:34   ` Paul Cercueil
  2022-06-28 19:34 ` [PATCH 2/8] watchdog: dw_wdt: " Paul Cercueil
                     ` (6 subsequent siblings)
  7 siblings, 0 replies; 32+ messages in thread
From: Paul Cercueil @ 2022-06-28 19:34 UTC (permalink / raw)
  To: Wim Van Sebroeck, Guenter Roeck
  Cc: linux-watchdog, linux-kernel, Paul Cercueil, Krzysztof Kozlowski,
	Alim Akhtar, linux-arm-kernel, linux-samsung-soc

Use the new DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() macros to
handle the .suspend/.resume callbacks.

These macros allow the suspend and resume functions to be automatically
dropped by the compiler when CONFIG_SUSPEND is disabled, without having
to use #ifdef guards. Not using #ifdef guards means that the code is
always compiled independently of any Kconfig option, and thanks to that
bugs and regressions are easier to catch.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Cc: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Cc: Alim Akhtar <alim.akhtar@samsung.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-samsung-soc@vger.kernel.org
---
 drivers/watchdog/s3c2410_wdt.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/drivers/watchdog/s3c2410_wdt.c b/drivers/watchdog/s3c2410_wdt.c
index 6db22f2e3a4f..95919392927f 100644
--- a/drivers/watchdog/s3c2410_wdt.c
+++ b/drivers/watchdog/s3c2410_wdt.c
@@ -845,8 +845,6 @@ static void s3c2410wdt_shutdown(struct platform_device *dev)
 	s3c2410wdt_stop(&wdt->wdt_device);
 }
 
-#ifdef CONFIG_PM_SLEEP
-
 static int s3c2410wdt_suspend(struct device *dev)
 {
 	int ret;
@@ -885,10 +883,9 @@ static int s3c2410wdt_resume(struct device *dev)
 
 	return 0;
 }
-#endif
 
-static SIMPLE_DEV_PM_OPS(s3c2410wdt_pm_ops, s3c2410wdt_suspend,
-			s3c2410wdt_resume);
+static DEFINE_SIMPLE_DEV_PM_OPS(s3c2410wdt_pm_ops,
+				s3c2410wdt_suspend, s3c2410wdt_resume);
 
 static struct platform_driver s3c2410wdt_driver = {
 	.probe		= s3c2410wdt_probe,
@@ -897,7 +894,7 @@ static struct platform_driver s3c2410wdt_driver = {
 	.id_table	= s3c2410_wdt_ids,
 	.driver		= {
 		.name	= "s3c2410-wdt",
-		.pm	= &s3c2410wdt_pm_ops,
+		.pm	= pm_sleep_ptr(&s3c2410wdt_pm_ops),
 		.of_match_table	= of_match_ptr(s3c2410_wdt_match),
 	},
 };
-- 
2.35.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH 4/8] watchdog: s3c2410_wdt: Remove #ifdef guards for PM related functions
@ 2022-06-28 19:34   ` Paul Cercueil
  0 siblings, 0 replies; 32+ messages in thread
From: Paul Cercueil @ 2022-06-28 19:34 UTC (permalink / raw)
  To: Wim Van Sebroeck, Guenter Roeck
  Cc: linux-watchdog, linux-kernel, Paul Cercueil, Krzysztof Kozlowski,
	Alim Akhtar, linux-arm-kernel, linux-samsung-soc

Use the new DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() macros to
handle the .suspend/.resume callbacks.

These macros allow the suspend and resume functions to be automatically
dropped by the compiler when CONFIG_SUSPEND is disabled, without having
to use #ifdef guards. Not using #ifdef guards means that the code is
always compiled independently of any Kconfig option, and thanks to that
bugs and regressions are easier to catch.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Cc: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Cc: Alim Akhtar <alim.akhtar@samsung.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-samsung-soc@vger.kernel.org
---
 drivers/watchdog/s3c2410_wdt.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/drivers/watchdog/s3c2410_wdt.c b/drivers/watchdog/s3c2410_wdt.c
index 6db22f2e3a4f..95919392927f 100644
--- a/drivers/watchdog/s3c2410_wdt.c
+++ b/drivers/watchdog/s3c2410_wdt.c
@@ -845,8 +845,6 @@ static void s3c2410wdt_shutdown(struct platform_device *dev)
 	s3c2410wdt_stop(&wdt->wdt_device);
 }
 
-#ifdef CONFIG_PM_SLEEP
-
 static int s3c2410wdt_suspend(struct device *dev)
 {
 	int ret;
@@ -885,10 +883,9 @@ static int s3c2410wdt_resume(struct device *dev)
 
 	return 0;
 }
-#endif
 
-static SIMPLE_DEV_PM_OPS(s3c2410wdt_pm_ops, s3c2410wdt_suspend,
-			s3c2410wdt_resume);
+static DEFINE_SIMPLE_DEV_PM_OPS(s3c2410wdt_pm_ops,
+				s3c2410wdt_suspend, s3c2410wdt_resume);
 
 static struct platform_driver s3c2410wdt_driver = {
 	.probe		= s3c2410wdt_probe,
@@ -897,7 +894,7 @@ static struct platform_driver s3c2410wdt_driver = {
 	.id_table	= s3c2410_wdt_ids,
 	.driver		= {
 		.name	= "s3c2410-wdt",
-		.pm	= &s3c2410wdt_pm_ops,
+		.pm	= pm_sleep_ptr(&s3c2410wdt_pm_ops),
 		.of_match_table	= of_match_ptr(s3c2410_wdt_match),
 	},
 };
-- 
2.35.1


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

* [PATCH 5/8] watchdog: sama5d4_wdt: Remove #ifdef guards for PM related functions
  2022-06-28 19:34 [PATCH 0/8] watchdog: Remove #ifdef guards for PM related functions Paul Cercueil
@ 2022-06-28 19:34   ` Paul Cercueil
  2022-06-28 19:34 ` [PATCH 2/8] watchdog: dw_wdt: " Paul Cercueil
                     ` (6 subsequent siblings)
  7 siblings, 0 replies; 32+ messages in thread
From: Paul Cercueil @ 2022-06-28 19:34 UTC (permalink / raw)
  To: Wim Van Sebroeck, Guenter Roeck
  Cc: Alexandre Belloni, linux-watchdog, linux-kernel, Paul Cercueil,
	Claudiu Beznea, linux-arm-kernel

Use the new LATE_SYSTEM_SLEEP_PM_OPS() and pm_sleep_ptr() macros to
handle the .suspend/.resume callbacks.

These macros allow the suspend and resume functions to be automatically
dropped by the compiler when CONFIG_SUSPEND is disabled, without having
to use #ifdef guards. Not using #ifdef guards means that the code is
always compiled independently of any Kconfig option, and thanks to that
bugs and regressions are easier to catch.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Cc: Nicolas Ferre <nicolas.ferre@microchip.com>
Cc: Alexandre Belloni <alexandre.belloni@bootlin.com>
Cc: Claudiu Beznea <claudiu.beznea@microchip.com>
Cc: linux-arm-kernel@lists.infradead.org
---
 drivers/watchdog/sama5d4_wdt.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/drivers/watchdog/sama5d4_wdt.c b/drivers/watchdog/sama5d4_wdt.c
index ec20ad4e534f..aeee934ca51b 100644
--- a/drivers/watchdog/sama5d4_wdt.c
+++ b/drivers/watchdog/sama5d4_wdt.c
@@ -339,7 +339,6 @@ static const struct of_device_id sama5d4_wdt_of_match[] = {
 };
 MODULE_DEVICE_TABLE(of, sama5d4_wdt_of_match);
 
-#ifdef CONFIG_PM_SLEEP
 static int sama5d4_wdt_suspend_late(struct device *dev)
 {
 	struct sama5d4_wdt *wdt = dev_get_drvdata(dev);
@@ -366,18 +365,17 @@ static int sama5d4_wdt_resume_early(struct device *dev)
 
 	return 0;
 }
-#endif
 
 static const struct dev_pm_ops sama5d4_wdt_pm_ops = {
-	SET_LATE_SYSTEM_SLEEP_PM_OPS(sama5d4_wdt_suspend_late,
-			sama5d4_wdt_resume_early)
+	LATE_SYSTEM_SLEEP_PM_OPS(sama5d4_wdt_suspend_late,
+				 sama5d4_wdt_resume_early)
 };
 
 static struct platform_driver sama5d4_wdt_driver = {
 	.probe		= sama5d4_wdt_probe,
 	.driver		= {
 		.name	= "sama5d4_wdt",
-		.pm	= &sama5d4_wdt_pm_ops,
+		.pm	= pm_sleep_ptr(&sama5d4_wdt_pm_ops),
 		.of_match_table = sama5d4_wdt_of_match,
 	}
 };
-- 
2.35.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH 5/8] watchdog: sama5d4_wdt: Remove #ifdef guards for PM related functions
@ 2022-06-28 19:34   ` Paul Cercueil
  0 siblings, 0 replies; 32+ messages in thread
From: Paul Cercueil @ 2022-06-28 19:34 UTC (permalink / raw)
  To: Wim Van Sebroeck, Guenter Roeck
  Cc: linux-watchdog, linux-kernel, Paul Cercueil, Nicolas Ferre,
	Alexandre Belloni, Claudiu Beznea, linux-arm-kernel

Use the new LATE_SYSTEM_SLEEP_PM_OPS() and pm_sleep_ptr() macros to
handle the .suspend/.resume callbacks.

These macros allow the suspend and resume functions to be automatically
dropped by the compiler when CONFIG_SUSPEND is disabled, without having
to use #ifdef guards. Not using #ifdef guards means that the code is
always compiled independently of any Kconfig option, and thanks to that
bugs and regressions are easier to catch.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Cc: Nicolas Ferre <nicolas.ferre@microchip.com>
Cc: Alexandre Belloni <alexandre.belloni@bootlin.com>
Cc: Claudiu Beznea <claudiu.beznea@microchip.com>
Cc: linux-arm-kernel@lists.infradead.org
---
 drivers/watchdog/sama5d4_wdt.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/drivers/watchdog/sama5d4_wdt.c b/drivers/watchdog/sama5d4_wdt.c
index ec20ad4e534f..aeee934ca51b 100644
--- a/drivers/watchdog/sama5d4_wdt.c
+++ b/drivers/watchdog/sama5d4_wdt.c
@@ -339,7 +339,6 @@ static const struct of_device_id sama5d4_wdt_of_match[] = {
 };
 MODULE_DEVICE_TABLE(of, sama5d4_wdt_of_match);
 
-#ifdef CONFIG_PM_SLEEP
 static int sama5d4_wdt_suspend_late(struct device *dev)
 {
 	struct sama5d4_wdt *wdt = dev_get_drvdata(dev);
@@ -366,18 +365,17 @@ static int sama5d4_wdt_resume_early(struct device *dev)
 
 	return 0;
 }
-#endif
 
 static const struct dev_pm_ops sama5d4_wdt_pm_ops = {
-	SET_LATE_SYSTEM_SLEEP_PM_OPS(sama5d4_wdt_suspend_late,
-			sama5d4_wdt_resume_early)
+	LATE_SYSTEM_SLEEP_PM_OPS(sama5d4_wdt_suspend_late,
+				 sama5d4_wdt_resume_early)
 };
 
 static struct platform_driver sama5d4_wdt_driver = {
 	.probe		= sama5d4_wdt_probe,
 	.driver		= {
 		.name	= "sama5d4_wdt",
-		.pm	= &sama5d4_wdt_pm_ops,
+		.pm	= pm_sleep_ptr(&sama5d4_wdt_pm_ops),
 		.of_match_table = sama5d4_wdt_of_match,
 	}
 };
-- 
2.35.1


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

* [PATCH 6/8] watchdog: st_lpc_wdt: Remove #ifdef guards for PM related functions
  2022-06-28 19:34 [PATCH 0/8] watchdog: Remove #ifdef guards for PM related functions Paul Cercueil
@ 2022-06-28 19:34   ` Paul Cercueil
  2022-06-28 19:34 ` [PATCH 2/8] watchdog: dw_wdt: " Paul Cercueil
                     ` (6 subsequent siblings)
  7 siblings, 0 replies; 32+ messages in thread
From: Paul Cercueil @ 2022-06-28 19:34 UTC (permalink / raw)
  To: Wim Van Sebroeck, Guenter Roeck
  Cc: linux-watchdog, linux-kernel, Paul Cercueil, Patrice Chotard,
	linux-arm-kernel

Use the new DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() macros to
handle the .suspend/.resume callbacks.

These macros allow the suspend and resume functions to be automatically
dropped by the compiler when CONFIG_SUSPEND is disabled, without having
to use #ifdef guards. Not using #ifdef guards means that the code is
always compiled independently of any Kconfig option, and thanks to that
bugs and regressions are easier to catch.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Cc: Patrice Chotard <patrice.chotard@foss.st.com>
Cc: linux-arm-kernel@lists.infradead.org
---
 drivers/watchdog/st_lpc_wdt.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/drivers/watchdog/st_lpc_wdt.c b/drivers/watchdog/st_lpc_wdt.c
index 14ab6559c748..39abecdb9dd1 100644
--- a/drivers/watchdog/st_lpc_wdt.c
+++ b/drivers/watchdog/st_lpc_wdt.c
@@ -248,7 +248,6 @@ static int st_wdog_remove(struct platform_device *pdev)
 	return 0;
 }
 
-#ifdef CONFIG_PM_SLEEP
 static int st_wdog_suspend(struct device *dev)
 {
 	struct st_wdog *st_wdog = watchdog_get_drvdata(&st_wdog_dev);
@@ -285,16 +284,14 @@ static int st_wdog_resume(struct device *dev)
 
 	return 0;
 }
-#endif
 
-static SIMPLE_DEV_PM_OPS(st_wdog_pm_ops,
-			 st_wdog_suspend,
-			 st_wdog_resume);
+static DEFINE_SIMPLE_DEV_PM_OPS(st_wdog_pm_ops,
+				st_wdog_suspend, st_wdog_resume);
 
 static struct platform_driver st_wdog_driver = {
 	.driver	= {
 		.name = "st-lpc-wdt",
-		.pm = &st_wdog_pm_ops,
+		.pm = pm_sleep_ptr(&st_wdog_pm_ops),
 		.of_match_table = st_wdog_match,
 	},
 	.probe = st_wdog_probe,
-- 
2.35.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH 6/8] watchdog: st_lpc_wdt: Remove #ifdef guards for PM related functions
@ 2022-06-28 19:34   ` Paul Cercueil
  0 siblings, 0 replies; 32+ messages in thread
From: Paul Cercueil @ 2022-06-28 19:34 UTC (permalink / raw)
  To: Wim Van Sebroeck, Guenter Roeck
  Cc: linux-watchdog, linux-kernel, Paul Cercueil, Patrice Chotard,
	linux-arm-kernel

Use the new DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() macros to
handle the .suspend/.resume callbacks.

These macros allow the suspend and resume functions to be automatically
dropped by the compiler when CONFIG_SUSPEND is disabled, without having
to use #ifdef guards. Not using #ifdef guards means that the code is
always compiled independently of any Kconfig option, and thanks to that
bugs and regressions are easier to catch.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Cc: Patrice Chotard <patrice.chotard@foss.st.com>
Cc: linux-arm-kernel@lists.infradead.org
---
 drivers/watchdog/st_lpc_wdt.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/drivers/watchdog/st_lpc_wdt.c b/drivers/watchdog/st_lpc_wdt.c
index 14ab6559c748..39abecdb9dd1 100644
--- a/drivers/watchdog/st_lpc_wdt.c
+++ b/drivers/watchdog/st_lpc_wdt.c
@@ -248,7 +248,6 @@ static int st_wdog_remove(struct platform_device *pdev)
 	return 0;
 }
 
-#ifdef CONFIG_PM_SLEEP
 static int st_wdog_suspend(struct device *dev)
 {
 	struct st_wdog *st_wdog = watchdog_get_drvdata(&st_wdog_dev);
@@ -285,16 +284,14 @@ static int st_wdog_resume(struct device *dev)
 
 	return 0;
 }
-#endif
 
-static SIMPLE_DEV_PM_OPS(st_wdog_pm_ops,
-			 st_wdog_suspend,
-			 st_wdog_resume);
+static DEFINE_SIMPLE_DEV_PM_OPS(st_wdog_pm_ops,
+				st_wdog_suspend, st_wdog_resume);
 
 static struct platform_driver st_wdog_driver = {
 	.driver	= {
 		.name = "st-lpc-wdt",
-		.pm = &st_wdog_pm_ops,
+		.pm = pm_sleep_ptr(&st_wdog_pm_ops),
 		.of_match_table = st_wdog_match,
 	},
 	.probe = st_wdog_probe,
-- 
2.35.1


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

* [PATCH 7/8] watchdog: tegra_wdt: Remove #ifdef guards for PM related functions
  2022-06-28 19:34 [PATCH 0/8] watchdog: Remove #ifdef guards for PM related functions Paul Cercueil
                   ` (5 preceding siblings ...)
  2022-06-28 19:34   ` Paul Cercueil
@ 2022-06-28 19:34 ` Paul Cercueil
  2022-06-28 20:03   ` Guenter Roeck
  2022-06-28 19:34 ` [PATCH 8/8] watchdog: wdat_wdt: " Paul Cercueil
  7 siblings, 1 reply; 32+ messages in thread
From: Paul Cercueil @ 2022-06-28 19:34 UTC (permalink / raw)
  To: Wim Van Sebroeck, Guenter Roeck
  Cc: linux-watchdog, linux-kernel, Paul Cercueil, Thierry Reding,
	Jonathan Hunter, linux-tegra

Use the new DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() macros to
handle the .suspend/.resume callbacks.

These macros allow the suspend and resume functions to be automatically
dropped by the compiler when CONFIG_SUSPEND is disabled, without having
to use #ifdef guards. Not using #ifdef guards means that the code is
always compiled independently of any Kconfig option, and thanks to that
bugs and regressions are easier to catch.

While at it, the functions tegra_wdt_runtime_{suspend,resume} were
renamed to tegra_wdt_{suspend,resume}, as they are *not* runtime-PM
callbacks, but standard system suspend/resume callbacks.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Cc: Thierry Reding <thierry.reding@gmail.com>
Cc: Jonathan Hunter <jonathanh@nvidia.com>
Cc: linux-tegra@vger.kernel.org
---
 drivers/watchdog/tegra_wdt.c | 14 +++++---------
 1 file changed, 5 insertions(+), 9 deletions(-)

diff --git a/drivers/watchdog/tegra_wdt.c b/drivers/watchdog/tegra_wdt.c
index dfe06e506cad..d5de6c0657a5 100644
--- a/drivers/watchdog/tegra_wdt.c
+++ b/drivers/watchdog/tegra_wdt.c
@@ -230,8 +230,7 @@ static int tegra_wdt_probe(struct platform_device *pdev)
 	return 0;
 }
 
-#ifdef CONFIG_PM_SLEEP
-static int tegra_wdt_runtime_suspend(struct device *dev)
+static int tegra_wdt_suspend(struct device *dev)
 {
 	struct tegra_wdt *wdt = dev_get_drvdata(dev);
 
@@ -241,7 +240,7 @@ static int tegra_wdt_runtime_suspend(struct device *dev)
 	return 0;
 }
 
-static int tegra_wdt_runtime_resume(struct device *dev)
+static int tegra_wdt_resume(struct device *dev)
 {
 	struct tegra_wdt *wdt = dev_get_drvdata(dev);
 
@@ -250,7 +249,6 @@ static int tegra_wdt_runtime_resume(struct device *dev)
 
 	return 0;
 }
-#endif
 
 static const struct of_device_id tegra_wdt_of_match[] = {
 	{ .compatible = "nvidia,tegra30-timer", },
@@ -258,16 +256,14 @@ static const struct of_device_id tegra_wdt_of_match[] = {
 };
 MODULE_DEVICE_TABLE(of, tegra_wdt_of_match);
 
-static const struct dev_pm_ops tegra_wdt_pm_ops = {
-	SET_SYSTEM_SLEEP_PM_OPS(tegra_wdt_runtime_suspend,
-				tegra_wdt_runtime_resume)
-};
+static DEFINE_SIMPLE_DEV_PM_OPS(tegra_wdt_pm_ops,
+				tegra_wdt_suspend, tegra_wdt_resume);
 
 static struct platform_driver tegra_wdt_driver = {
 	.probe		= tegra_wdt_probe,
 	.driver		= {
 		.name	= "tegra-wdt",
-		.pm	= &tegra_wdt_pm_ops,
+		.pm	= pm_sleep_ptr(&tegra_wdt_pm_ops),
 		.of_match_table = tegra_wdt_of_match,
 	},
 };
-- 
2.35.1


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

* [PATCH 8/8] watchdog: wdat_wdt: Remove #ifdef guards for PM related functions
  2022-06-28 19:34 [PATCH 0/8] watchdog: Remove #ifdef guards for PM related functions Paul Cercueil
                   ` (6 preceding siblings ...)
  2022-06-28 19:34 ` [PATCH 7/8] watchdog: tegra_wdt: " Paul Cercueil
@ 2022-06-28 19:34 ` Paul Cercueil
  2022-06-28 20:09   ` Guenter Roeck
  7 siblings, 1 reply; 32+ messages in thread
From: Paul Cercueil @ 2022-06-28 19:34 UTC (permalink / raw)
  To: Wim Van Sebroeck, Guenter Roeck
  Cc: linux-watchdog, linux-kernel, Paul Cercueil

Use the new NOIRQ_SYSTEM_SLEEP_PM_OPS() and pm_sleep_ptr() macros to
handle the .suspend/.resume callbacks.

These macros allow the suspend and resume functions to be automatically
dropped by the compiler when CONFIG_SUSPEND is disabled, without having
to use #ifdef guards. Not using #ifdef guards means that the code is
always compiled independently of any Kconfig option, and thanks to that
bugs and regressions are easier to catch.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
---
 drivers/watchdog/wdat_wdt.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/watchdog/wdat_wdt.c b/drivers/watchdog/wdat_wdt.c
index e6f95e99156d..aeadaa07c891 100644
--- a/drivers/watchdog/wdat_wdt.c
+++ b/drivers/watchdog/wdat_wdt.c
@@ -467,7 +467,6 @@ static int wdat_wdt_probe(struct platform_device *pdev)
 	return devm_watchdog_register_device(dev, &wdat->wdd);
 }
 
-#ifdef CONFIG_PM_SLEEP
 static int wdat_wdt_suspend_noirq(struct device *dev)
 {
 	struct wdat_wdt *wdat = dev_get_drvdata(dev);
@@ -528,18 +527,16 @@ static int wdat_wdt_resume_noirq(struct device *dev)
 
 	return wdat_wdt_start(&wdat->wdd);
 }
-#endif
 
 static const struct dev_pm_ops wdat_wdt_pm_ops = {
-	SET_NOIRQ_SYSTEM_SLEEP_PM_OPS(wdat_wdt_suspend_noirq,
-				      wdat_wdt_resume_noirq)
+	NOIRQ_SYSTEM_SLEEP_PM_OPS(wdat_wdt_suspend_noirq, wdat_wdt_resume_noirq)
 };
 
 static struct platform_driver wdat_wdt_driver = {
 	.probe = wdat_wdt_probe,
 	.driver = {
 		.name = "wdat_wdt",
-		.pm = &wdat_wdt_pm_ops,
+		.pm = pm_sleep_ptr(&wdat_wdt_pm_ops),
 	},
 };
 
-- 
2.35.1


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

* Re: [PATCH 1/8] watchdog: bcm7038_wdt: Remove #ifdef guards for PM related functions
  2022-06-28 19:34 ` [PATCH 1/8] watchdog: bcm7038_wdt: " Paul Cercueil
@ 2022-06-28 20:02   ` Guenter Roeck
  2022-06-28 20:09   ` Florian Fainelli
  1 sibling, 0 replies; 32+ messages in thread
From: Guenter Roeck @ 2022-06-28 20:02 UTC (permalink / raw)
  To: Paul Cercueil
  Cc: Wim Van Sebroeck, linux-watchdog, linux-kernel, Florian Fainelli,
	Broadcom internal kernel review list

On Tue, Jun 28, 2022 at 08:34:42PM +0100, Paul Cercueil wrote:
> Use the new DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() macros to
> handle the .suspend/.resume callbacks.
> 
> These macros allow the suspend and resume functions to be automatically
> dropped by the compiler when CONFIG_SUSPEND is disabled, without having
> to use #ifdef guards. Not using #ifdef guards means that the code is
> always compiled independently of any Kconfig option, and thanks to that
> bugs and regressions are easier to catch.
> 
> Signed-off-by: Paul Cercueil <paul@crapouillou.net>
> Cc: Florian Fainelli <f.fainelli@gmail.com>
> Cc: Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>

Reviewed-by: Guenter Roeck <linux@roeck-us.net>

> ---
>  drivers/watchdog/bcm7038_wdt.c | 8 +++-----
>  1 file changed, 3 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/watchdog/bcm7038_wdt.c b/drivers/watchdog/bcm7038_wdt.c
> index 1ffcf6aca6ae..9388838899ac 100644
> --- a/drivers/watchdog/bcm7038_wdt.c
> +++ b/drivers/watchdog/bcm7038_wdt.c
> @@ -192,7 +192,6 @@ static int bcm7038_wdt_probe(struct platform_device *pdev)
>  	return 0;
>  }
>  
> -#ifdef CONFIG_PM_SLEEP
>  static int bcm7038_wdt_suspend(struct device *dev)
>  {
>  	struct bcm7038_watchdog *wdt = dev_get_drvdata(dev);
> @@ -212,10 +211,9 @@ static int bcm7038_wdt_resume(struct device *dev)
>  
>  	return 0;
>  }
> -#endif
>  
> -static SIMPLE_DEV_PM_OPS(bcm7038_wdt_pm_ops, bcm7038_wdt_suspend,
> -			 bcm7038_wdt_resume);
> +static DEFINE_SIMPLE_DEV_PM_OPS(bcm7038_wdt_pm_ops,
> +				bcm7038_wdt_suspend, bcm7038_wdt_resume);
>  
>  static const struct of_device_id bcm7038_wdt_match[] = {
>  	{ .compatible = "brcm,bcm6345-wdt" },
> @@ -236,7 +234,7 @@ static struct platform_driver bcm7038_wdt_driver = {
>  	.driver		= {
>  		.name		= "bcm7038-wdt",
>  		.of_match_table	= bcm7038_wdt_match,
> -		.pm		= &bcm7038_wdt_pm_ops,
> +		.pm		= pm_sleep_ptr(&bcm7038_wdt_pm_ops),
>  	}
>  };
>  module_platform_driver(bcm7038_wdt_driver);
> -- 
> 2.35.1
> 

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

* Re: [PATCH 2/8] watchdog: dw_wdt: Remove #ifdef guards for PM related functions
  2022-06-28 19:34 ` [PATCH 2/8] watchdog: dw_wdt: " Paul Cercueil
@ 2022-06-28 20:02   ` Guenter Roeck
  0 siblings, 0 replies; 32+ messages in thread
From: Guenter Roeck @ 2022-06-28 20:02 UTC (permalink / raw)
  To: Paul Cercueil; +Cc: Wim Van Sebroeck, linux-watchdog, linux-kernel

On Tue, Jun 28, 2022 at 08:34:43PM +0100, Paul Cercueil wrote:
> Use the new DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() macros to
> handle the .suspend/.resume callbacks.
> 
> These macros allow the suspend and resume functions to be automatically
> dropped by the compiler when CONFIG_SUSPEND is disabled, without having
> to use #ifdef guards. Not using #ifdef guards means that the code is
> always compiled independently of any Kconfig option, and thanks to that
> bugs and regressions are easier to catch.
> 
> Signed-off-by: Paul Cercueil <paul@crapouillou.net>

Reviewed-by: Guenter Roeck <linux@roeck-us.net>

> ---
>  drivers/watchdog/dw_wdt.c | 6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/watchdog/dw_wdt.c b/drivers/watchdog/dw_wdt.c
> index cd578843277e..060dae67d852 100644
> --- a/drivers/watchdog/dw_wdt.c
> +++ b/drivers/watchdog/dw_wdt.c
> @@ -375,7 +375,6 @@ static irqreturn_t dw_wdt_irq(int irq, void *devid)
>  	return IRQ_HANDLED;
>  }
>  
> -#ifdef CONFIG_PM_SLEEP
>  static int dw_wdt_suspend(struct device *dev)
>  {
>  	struct dw_wdt *dw_wdt = dev_get_drvdata(dev);
> @@ -410,9 +409,8 @@ static int dw_wdt_resume(struct device *dev)
>  
>  	return 0;
>  }
> -#endif /* CONFIG_PM_SLEEP */
>  
> -static SIMPLE_DEV_PM_OPS(dw_wdt_pm_ops, dw_wdt_suspend, dw_wdt_resume);
> +static DEFINE_SIMPLE_DEV_PM_OPS(dw_wdt_pm_ops, dw_wdt_suspend, dw_wdt_resume);
>  
>  /*
>   * In case if DW WDT IP core is synthesized with fixed TOP feature disabled the
> @@ -710,7 +708,7 @@ static struct platform_driver dw_wdt_driver = {
>  	.driver		= {
>  		.name	= "dw_wdt",
>  		.of_match_table = of_match_ptr(dw_wdt_of_match),
> -		.pm	= &dw_wdt_pm_ops,
> +		.pm	= pm_sleep_ptr(&dw_wdt_pm_ops),
>  	},
>  };
>  
> -- 
> 2.35.1
> 

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

* Re: [PATCH 3/8] watchdog: mtk_wdt: Remove #ifdef guards for PM related functions
  2022-06-28 19:34   ` Paul Cercueil
@ 2022-06-28 20:02     ` Guenter Roeck
  -1 siblings, 0 replies; 32+ messages in thread
From: Guenter Roeck @ 2022-06-28 20:02 UTC (permalink / raw)
  To: Paul Cercueil
  Cc: Wim Van Sebroeck, linux-watchdog, linux-kernel, Matthias Brugger,
	linux-arm-kernel, linux-mediatek

On Tue, Jun 28, 2022 at 08:34:44PM +0100, Paul Cercueil wrote:
> Use the new DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() macros to
> handle the .suspend/.resume callbacks.
> 
> These macros allow the suspend and resume functions to be automatically
> dropped by the compiler when CONFIG_SUSPEND is disabled, without having
> to use #ifdef guards. Not using #ifdef guards means that the code is
> always compiled independently of any Kconfig option, and thanks to that
> bugs and regressions are easier to catch.
> 
> Signed-off-by: Paul Cercueil <paul@crapouillou.net>
> Cc: Matthias Brugger <matthias.bgg@gmail.com>
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: linux-mediatek@lists.infradead.org

Reviewed-by: Guenter Roeck <linux@roeck-us.net>

> ---
>  drivers/watchdog/mtk_wdt.c | 10 +++-------
>  1 file changed, 3 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/watchdog/mtk_wdt.c b/drivers/watchdog/mtk_wdt.c
> index f0d4e3cc7459..e97787536792 100644
> --- a/drivers/watchdog/mtk_wdt.c
> +++ b/drivers/watchdog/mtk_wdt.c
> @@ -401,7 +401,6 @@ static int mtk_wdt_probe(struct platform_device *pdev)
>  	return 0;
>  }
>  
> -#ifdef CONFIG_PM_SLEEP
>  static int mtk_wdt_suspend(struct device *dev)
>  {
>  	struct mtk_wdt_dev *mtk_wdt = dev_get_drvdata(dev);
> @@ -423,7 +422,6 @@ static int mtk_wdt_resume(struct device *dev)
>  
>  	return 0;
>  }
> -#endif
>  
>  static const struct of_device_id mtk_wdt_dt_ids[] = {
>  	{ .compatible = "mediatek,mt2712-wdt", .data = &mt2712_data },
> @@ -437,16 +435,14 @@ static const struct of_device_id mtk_wdt_dt_ids[] = {
>  };
>  MODULE_DEVICE_TABLE(of, mtk_wdt_dt_ids);
>  
> -static const struct dev_pm_ops mtk_wdt_pm_ops = {
> -	SET_SYSTEM_SLEEP_PM_OPS(mtk_wdt_suspend,
> -				mtk_wdt_resume)
> -};
> +static DEFINE_SIMPLE_DEV_PM_OPS(mtk_wdt_pm_ops,
> +				mtk_wdt_suspend, mtk_wdt_resume);
>  
>  static struct platform_driver mtk_wdt_driver = {
>  	.probe		= mtk_wdt_probe,
>  	.driver		= {
>  		.name		= DRV_NAME,
> -		.pm		= &mtk_wdt_pm_ops,
> +		.pm		= pm_sleep_ptr(&mtk_wdt_pm_ops),
>  		.of_match_table	= mtk_wdt_dt_ids,
>  	},
>  };
> -- 
> 2.35.1
> 

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

* Re: [PATCH 3/8] watchdog: mtk_wdt: Remove #ifdef guards for PM related functions
@ 2022-06-28 20:02     ` Guenter Roeck
  0 siblings, 0 replies; 32+ messages in thread
From: Guenter Roeck @ 2022-06-28 20:02 UTC (permalink / raw)
  To: Paul Cercueil
  Cc: Wim Van Sebroeck, linux-watchdog, linux-kernel, Matthias Brugger,
	linux-arm-kernel, linux-mediatek

On Tue, Jun 28, 2022 at 08:34:44PM +0100, Paul Cercueil wrote:
> Use the new DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() macros to
> handle the .suspend/.resume callbacks.
> 
> These macros allow the suspend and resume functions to be automatically
> dropped by the compiler when CONFIG_SUSPEND is disabled, without having
> to use #ifdef guards. Not using #ifdef guards means that the code is
> always compiled independently of any Kconfig option, and thanks to that
> bugs and regressions are easier to catch.
> 
> Signed-off-by: Paul Cercueil <paul@crapouillou.net>
> Cc: Matthias Brugger <matthias.bgg@gmail.com>
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: linux-mediatek@lists.infradead.org

Reviewed-by: Guenter Roeck <linux@roeck-us.net>

> ---
>  drivers/watchdog/mtk_wdt.c | 10 +++-------
>  1 file changed, 3 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/watchdog/mtk_wdt.c b/drivers/watchdog/mtk_wdt.c
> index f0d4e3cc7459..e97787536792 100644
> --- a/drivers/watchdog/mtk_wdt.c
> +++ b/drivers/watchdog/mtk_wdt.c
> @@ -401,7 +401,6 @@ static int mtk_wdt_probe(struct platform_device *pdev)
>  	return 0;
>  }
>  
> -#ifdef CONFIG_PM_SLEEP
>  static int mtk_wdt_suspend(struct device *dev)
>  {
>  	struct mtk_wdt_dev *mtk_wdt = dev_get_drvdata(dev);
> @@ -423,7 +422,6 @@ static int mtk_wdt_resume(struct device *dev)
>  
>  	return 0;
>  }
> -#endif
>  
>  static const struct of_device_id mtk_wdt_dt_ids[] = {
>  	{ .compatible = "mediatek,mt2712-wdt", .data = &mt2712_data },
> @@ -437,16 +435,14 @@ static const struct of_device_id mtk_wdt_dt_ids[] = {
>  };
>  MODULE_DEVICE_TABLE(of, mtk_wdt_dt_ids);
>  
> -static const struct dev_pm_ops mtk_wdt_pm_ops = {
> -	SET_SYSTEM_SLEEP_PM_OPS(mtk_wdt_suspend,
> -				mtk_wdt_resume)
> -};
> +static DEFINE_SIMPLE_DEV_PM_OPS(mtk_wdt_pm_ops,
> +				mtk_wdt_suspend, mtk_wdt_resume);
>  
>  static struct platform_driver mtk_wdt_driver = {
>  	.probe		= mtk_wdt_probe,
>  	.driver		= {
>  		.name		= DRV_NAME,
> -		.pm		= &mtk_wdt_pm_ops,
> +		.pm		= pm_sleep_ptr(&mtk_wdt_pm_ops),
>  		.of_match_table	= mtk_wdt_dt_ids,
>  	},
>  };
> -- 
> 2.35.1
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 4/8] watchdog: s3c2410_wdt: Remove #ifdef guards for PM related functions
  2022-06-28 19:34   ` Paul Cercueil
@ 2022-06-28 20:03     ` Guenter Roeck
  -1 siblings, 0 replies; 32+ messages in thread
From: Guenter Roeck @ 2022-06-28 20:03 UTC (permalink / raw)
  To: Paul Cercueil
  Cc: Wim Van Sebroeck, linux-watchdog, linux-kernel,
	Krzysztof Kozlowski, Alim Akhtar, linux-arm-kernel,
	linux-samsung-soc

On Tue, Jun 28, 2022 at 08:34:45PM +0100, Paul Cercueil wrote:
> Use the new DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() macros to
> handle the .suspend/.resume callbacks.
> 
> These macros allow the suspend and resume functions to be automatically
> dropped by the compiler when CONFIG_SUSPEND is disabled, without having
> to use #ifdef guards. Not using #ifdef guards means that the code is
> always compiled independently of any Kconfig option, and thanks to that
> bugs and regressions are easier to catch.
> 
> Signed-off-by: Paul Cercueil <paul@crapouillou.net>
> Cc: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> Cc: Alim Akhtar <alim.akhtar@samsung.com>
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: linux-samsung-soc@vger.kernel.org

Reviewed-by: Guenter Roeck <linux@roeck-us.net>

> ---
>  drivers/watchdog/s3c2410_wdt.c | 9 +++------
>  1 file changed, 3 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/watchdog/s3c2410_wdt.c b/drivers/watchdog/s3c2410_wdt.c
> index 6db22f2e3a4f..95919392927f 100644
> --- a/drivers/watchdog/s3c2410_wdt.c
> +++ b/drivers/watchdog/s3c2410_wdt.c
> @@ -845,8 +845,6 @@ static void s3c2410wdt_shutdown(struct platform_device *dev)
>  	s3c2410wdt_stop(&wdt->wdt_device);
>  }
>  
> -#ifdef CONFIG_PM_SLEEP
> -
>  static int s3c2410wdt_suspend(struct device *dev)
>  {
>  	int ret;
> @@ -885,10 +883,9 @@ static int s3c2410wdt_resume(struct device *dev)
>  
>  	return 0;
>  }
> -#endif
>  
> -static SIMPLE_DEV_PM_OPS(s3c2410wdt_pm_ops, s3c2410wdt_suspend,
> -			s3c2410wdt_resume);
> +static DEFINE_SIMPLE_DEV_PM_OPS(s3c2410wdt_pm_ops,
> +				s3c2410wdt_suspend, s3c2410wdt_resume);
>  
>  static struct platform_driver s3c2410wdt_driver = {
>  	.probe		= s3c2410wdt_probe,
> @@ -897,7 +894,7 @@ static struct platform_driver s3c2410wdt_driver = {
>  	.id_table	= s3c2410_wdt_ids,
>  	.driver		= {
>  		.name	= "s3c2410-wdt",
> -		.pm	= &s3c2410wdt_pm_ops,
> +		.pm	= pm_sleep_ptr(&s3c2410wdt_pm_ops),
>  		.of_match_table	= of_match_ptr(s3c2410_wdt_match),
>  	},
>  };
> -- 
> 2.35.1
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 4/8] watchdog: s3c2410_wdt: Remove #ifdef guards for PM related functions
@ 2022-06-28 20:03     ` Guenter Roeck
  0 siblings, 0 replies; 32+ messages in thread
From: Guenter Roeck @ 2022-06-28 20:03 UTC (permalink / raw)
  To: Paul Cercueil
  Cc: Wim Van Sebroeck, linux-watchdog, linux-kernel,
	Krzysztof Kozlowski, Alim Akhtar, linux-arm-kernel,
	linux-samsung-soc

On Tue, Jun 28, 2022 at 08:34:45PM +0100, Paul Cercueil wrote:
> Use the new DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() macros to
> handle the .suspend/.resume callbacks.
> 
> These macros allow the suspend and resume functions to be automatically
> dropped by the compiler when CONFIG_SUSPEND is disabled, without having
> to use #ifdef guards. Not using #ifdef guards means that the code is
> always compiled independently of any Kconfig option, and thanks to that
> bugs and regressions are easier to catch.
> 
> Signed-off-by: Paul Cercueil <paul@crapouillou.net>
> Cc: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> Cc: Alim Akhtar <alim.akhtar@samsung.com>
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: linux-samsung-soc@vger.kernel.org

Reviewed-by: Guenter Roeck <linux@roeck-us.net>

> ---
>  drivers/watchdog/s3c2410_wdt.c | 9 +++------
>  1 file changed, 3 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/watchdog/s3c2410_wdt.c b/drivers/watchdog/s3c2410_wdt.c
> index 6db22f2e3a4f..95919392927f 100644
> --- a/drivers/watchdog/s3c2410_wdt.c
> +++ b/drivers/watchdog/s3c2410_wdt.c
> @@ -845,8 +845,6 @@ static void s3c2410wdt_shutdown(struct platform_device *dev)
>  	s3c2410wdt_stop(&wdt->wdt_device);
>  }
>  
> -#ifdef CONFIG_PM_SLEEP
> -
>  static int s3c2410wdt_suspend(struct device *dev)
>  {
>  	int ret;
> @@ -885,10 +883,9 @@ static int s3c2410wdt_resume(struct device *dev)
>  
>  	return 0;
>  }
> -#endif
>  
> -static SIMPLE_DEV_PM_OPS(s3c2410wdt_pm_ops, s3c2410wdt_suspend,
> -			s3c2410wdt_resume);
> +static DEFINE_SIMPLE_DEV_PM_OPS(s3c2410wdt_pm_ops,
> +				s3c2410wdt_suspend, s3c2410wdt_resume);
>  
>  static struct platform_driver s3c2410wdt_driver = {
>  	.probe		= s3c2410wdt_probe,
> @@ -897,7 +894,7 @@ static struct platform_driver s3c2410wdt_driver = {
>  	.id_table	= s3c2410_wdt_ids,
>  	.driver		= {
>  		.name	= "s3c2410-wdt",
> -		.pm	= &s3c2410wdt_pm_ops,
> +		.pm	= pm_sleep_ptr(&s3c2410wdt_pm_ops),
>  		.of_match_table	= of_match_ptr(s3c2410_wdt_match),
>  	},
>  };
> -- 
> 2.35.1
> 

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

* Re: [PATCH 5/8] watchdog: sama5d4_wdt: Remove #ifdef guards for PM related functions
  2022-06-28 19:34   ` Paul Cercueil
@ 2022-06-28 20:03     ` Guenter Roeck
  -1 siblings, 0 replies; 32+ messages in thread
From: Guenter Roeck @ 2022-06-28 20:03 UTC (permalink / raw)
  To: Paul Cercueil
  Cc: Alexandre Belloni, linux-watchdog, linux-kernel,
	Wim Van Sebroeck, Claudiu Beznea, linux-arm-kernel

On Tue, Jun 28, 2022 at 08:34:46PM +0100, Paul Cercueil wrote:
> Use the new LATE_SYSTEM_SLEEP_PM_OPS() and pm_sleep_ptr() macros to
> handle the .suspend/.resume callbacks.
> 
> These macros allow the suspend and resume functions to be automatically
> dropped by the compiler when CONFIG_SUSPEND is disabled, without having
> to use #ifdef guards. Not using #ifdef guards means that the code is
> always compiled independently of any Kconfig option, and thanks to that
> bugs and regressions are easier to catch.
> 
> Signed-off-by: Paul Cercueil <paul@crapouillou.net>
> Cc: Nicolas Ferre <nicolas.ferre@microchip.com>
> Cc: Alexandre Belloni <alexandre.belloni@bootlin.com>
> Cc: Claudiu Beznea <claudiu.beznea@microchip.com>
> Cc: linux-arm-kernel@lists.infradead.org

Reviewed-by: Guenter Roeck <linux@roeck-us.net>

> ---
>  drivers/watchdog/sama5d4_wdt.c | 8 +++-----
>  1 file changed, 3 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/watchdog/sama5d4_wdt.c b/drivers/watchdog/sama5d4_wdt.c
> index ec20ad4e534f..aeee934ca51b 100644
> --- a/drivers/watchdog/sama5d4_wdt.c
> +++ b/drivers/watchdog/sama5d4_wdt.c
> @@ -339,7 +339,6 @@ static const struct of_device_id sama5d4_wdt_of_match[] = {
>  };
>  MODULE_DEVICE_TABLE(of, sama5d4_wdt_of_match);
>  
> -#ifdef CONFIG_PM_SLEEP
>  static int sama5d4_wdt_suspend_late(struct device *dev)
>  {
>  	struct sama5d4_wdt *wdt = dev_get_drvdata(dev);
> @@ -366,18 +365,17 @@ static int sama5d4_wdt_resume_early(struct device *dev)
>  
>  	return 0;
>  }
> -#endif
>  
>  static const struct dev_pm_ops sama5d4_wdt_pm_ops = {
> -	SET_LATE_SYSTEM_SLEEP_PM_OPS(sama5d4_wdt_suspend_late,
> -			sama5d4_wdt_resume_early)
> +	LATE_SYSTEM_SLEEP_PM_OPS(sama5d4_wdt_suspend_late,
> +				 sama5d4_wdt_resume_early)
>  };
>  
>  static struct platform_driver sama5d4_wdt_driver = {
>  	.probe		= sama5d4_wdt_probe,
>  	.driver		= {
>  		.name	= "sama5d4_wdt",
> -		.pm	= &sama5d4_wdt_pm_ops,
> +		.pm	= pm_sleep_ptr(&sama5d4_wdt_pm_ops),
>  		.of_match_table = sama5d4_wdt_of_match,
>  	}
>  };
> -- 
> 2.35.1
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 5/8] watchdog: sama5d4_wdt: Remove #ifdef guards for PM related functions
@ 2022-06-28 20:03     ` Guenter Roeck
  0 siblings, 0 replies; 32+ messages in thread
From: Guenter Roeck @ 2022-06-28 20:03 UTC (permalink / raw)
  To: Paul Cercueil
  Cc: Wim Van Sebroeck, linux-watchdog, linux-kernel, Nicolas Ferre,
	Alexandre Belloni, Claudiu Beznea, linux-arm-kernel

On Tue, Jun 28, 2022 at 08:34:46PM +0100, Paul Cercueil wrote:
> Use the new LATE_SYSTEM_SLEEP_PM_OPS() and pm_sleep_ptr() macros to
> handle the .suspend/.resume callbacks.
> 
> These macros allow the suspend and resume functions to be automatically
> dropped by the compiler when CONFIG_SUSPEND is disabled, without having
> to use #ifdef guards. Not using #ifdef guards means that the code is
> always compiled independently of any Kconfig option, and thanks to that
> bugs and regressions are easier to catch.
> 
> Signed-off-by: Paul Cercueil <paul@crapouillou.net>
> Cc: Nicolas Ferre <nicolas.ferre@microchip.com>
> Cc: Alexandre Belloni <alexandre.belloni@bootlin.com>
> Cc: Claudiu Beznea <claudiu.beznea@microchip.com>
> Cc: linux-arm-kernel@lists.infradead.org

Reviewed-by: Guenter Roeck <linux@roeck-us.net>

> ---
>  drivers/watchdog/sama5d4_wdt.c | 8 +++-----
>  1 file changed, 3 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/watchdog/sama5d4_wdt.c b/drivers/watchdog/sama5d4_wdt.c
> index ec20ad4e534f..aeee934ca51b 100644
> --- a/drivers/watchdog/sama5d4_wdt.c
> +++ b/drivers/watchdog/sama5d4_wdt.c
> @@ -339,7 +339,6 @@ static const struct of_device_id sama5d4_wdt_of_match[] = {
>  };
>  MODULE_DEVICE_TABLE(of, sama5d4_wdt_of_match);
>  
> -#ifdef CONFIG_PM_SLEEP
>  static int sama5d4_wdt_suspend_late(struct device *dev)
>  {
>  	struct sama5d4_wdt *wdt = dev_get_drvdata(dev);
> @@ -366,18 +365,17 @@ static int sama5d4_wdt_resume_early(struct device *dev)
>  
>  	return 0;
>  }
> -#endif
>  
>  static const struct dev_pm_ops sama5d4_wdt_pm_ops = {
> -	SET_LATE_SYSTEM_SLEEP_PM_OPS(sama5d4_wdt_suspend_late,
> -			sama5d4_wdt_resume_early)
> +	LATE_SYSTEM_SLEEP_PM_OPS(sama5d4_wdt_suspend_late,
> +				 sama5d4_wdt_resume_early)
>  };
>  
>  static struct platform_driver sama5d4_wdt_driver = {
>  	.probe		= sama5d4_wdt_probe,
>  	.driver		= {
>  		.name	= "sama5d4_wdt",
> -		.pm	= &sama5d4_wdt_pm_ops,
> +		.pm	= pm_sleep_ptr(&sama5d4_wdt_pm_ops),
>  		.of_match_table = sama5d4_wdt_of_match,
>  	}
>  };
> -- 
> 2.35.1
> 

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

* Re: [PATCH 6/8] watchdog: st_lpc_wdt: Remove #ifdef guards for PM related functions
  2022-06-28 19:34   ` Paul Cercueil
@ 2022-06-28 20:03     ` Guenter Roeck
  -1 siblings, 0 replies; 32+ messages in thread
From: Guenter Roeck @ 2022-06-28 20:03 UTC (permalink / raw)
  To: Paul Cercueil
  Cc: Wim Van Sebroeck, linux-watchdog, linux-kernel, Patrice Chotard,
	linux-arm-kernel

On Tue, Jun 28, 2022 at 08:34:47PM +0100, Paul Cercueil wrote:
> Use the new DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() macros to
> handle the .suspend/.resume callbacks.
> 
> These macros allow the suspend and resume functions to be automatically
> dropped by the compiler when CONFIG_SUSPEND is disabled, without having
> to use #ifdef guards. Not using #ifdef guards means that the code is
> always compiled independently of any Kconfig option, and thanks to that
> bugs and regressions are easier to catch.
> 
> Signed-off-by: Paul Cercueil <paul@crapouillou.net>
> Cc: Patrice Chotard <patrice.chotard@foss.st.com>
> Cc: linux-arm-kernel@lists.infradead.org

Reviewed-by: Guenter Roeck <linux@roeck-us.net>

> ---
>  drivers/watchdog/st_lpc_wdt.c | 9 +++------
>  1 file changed, 3 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/watchdog/st_lpc_wdt.c b/drivers/watchdog/st_lpc_wdt.c
> index 14ab6559c748..39abecdb9dd1 100644
> --- a/drivers/watchdog/st_lpc_wdt.c
> +++ b/drivers/watchdog/st_lpc_wdt.c
> @@ -248,7 +248,6 @@ static int st_wdog_remove(struct platform_device *pdev)
>  	return 0;
>  }
>  
> -#ifdef CONFIG_PM_SLEEP
>  static int st_wdog_suspend(struct device *dev)
>  {
>  	struct st_wdog *st_wdog = watchdog_get_drvdata(&st_wdog_dev);
> @@ -285,16 +284,14 @@ static int st_wdog_resume(struct device *dev)
>  
>  	return 0;
>  }
> -#endif
>  
> -static SIMPLE_DEV_PM_OPS(st_wdog_pm_ops,
> -			 st_wdog_suspend,
> -			 st_wdog_resume);
> +static DEFINE_SIMPLE_DEV_PM_OPS(st_wdog_pm_ops,
> +				st_wdog_suspend, st_wdog_resume);
>  
>  static struct platform_driver st_wdog_driver = {
>  	.driver	= {
>  		.name = "st-lpc-wdt",
> -		.pm = &st_wdog_pm_ops,
> +		.pm = pm_sleep_ptr(&st_wdog_pm_ops),
>  		.of_match_table = st_wdog_match,
>  	},
>  	.probe = st_wdog_probe,
> -- 
> 2.35.1
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 6/8] watchdog: st_lpc_wdt: Remove #ifdef guards for PM related functions
@ 2022-06-28 20:03     ` Guenter Roeck
  0 siblings, 0 replies; 32+ messages in thread
From: Guenter Roeck @ 2022-06-28 20:03 UTC (permalink / raw)
  To: Paul Cercueil
  Cc: Wim Van Sebroeck, linux-watchdog, linux-kernel, Patrice Chotard,
	linux-arm-kernel

On Tue, Jun 28, 2022 at 08:34:47PM +0100, Paul Cercueil wrote:
> Use the new DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() macros to
> handle the .suspend/.resume callbacks.
> 
> These macros allow the suspend and resume functions to be automatically
> dropped by the compiler when CONFIG_SUSPEND is disabled, without having
> to use #ifdef guards. Not using #ifdef guards means that the code is
> always compiled independently of any Kconfig option, and thanks to that
> bugs and regressions are easier to catch.
> 
> Signed-off-by: Paul Cercueil <paul@crapouillou.net>
> Cc: Patrice Chotard <patrice.chotard@foss.st.com>
> Cc: linux-arm-kernel@lists.infradead.org

Reviewed-by: Guenter Roeck <linux@roeck-us.net>

> ---
>  drivers/watchdog/st_lpc_wdt.c | 9 +++------
>  1 file changed, 3 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/watchdog/st_lpc_wdt.c b/drivers/watchdog/st_lpc_wdt.c
> index 14ab6559c748..39abecdb9dd1 100644
> --- a/drivers/watchdog/st_lpc_wdt.c
> +++ b/drivers/watchdog/st_lpc_wdt.c
> @@ -248,7 +248,6 @@ static int st_wdog_remove(struct platform_device *pdev)
>  	return 0;
>  }
>  
> -#ifdef CONFIG_PM_SLEEP
>  static int st_wdog_suspend(struct device *dev)
>  {
>  	struct st_wdog *st_wdog = watchdog_get_drvdata(&st_wdog_dev);
> @@ -285,16 +284,14 @@ static int st_wdog_resume(struct device *dev)
>  
>  	return 0;
>  }
> -#endif
>  
> -static SIMPLE_DEV_PM_OPS(st_wdog_pm_ops,
> -			 st_wdog_suspend,
> -			 st_wdog_resume);
> +static DEFINE_SIMPLE_DEV_PM_OPS(st_wdog_pm_ops,
> +				st_wdog_suspend, st_wdog_resume);
>  
>  static struct platform_driver st_wdog_driver = {
>  	.driver	= {
>  		.name = "st-lpc-wdt",
> -		.pm = &st_wdog_pm_ops,
> +		.pm = pm_sleep_ptr(&st_wdog_pm_ops),
>  		.of_match_table = st_wdog_match,
>  	},
>  	.probe = st_wdog_probe,
> -- 
> 2.35.1
> 

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

* Re: [PATCH 7/8] watchdog: tegra_wdt: Remove #ifdef guards for PM related functions
  2022-06-28 19:34 ` [PATCH 7/8] watchdog: tegra_wdt: " Paul Cercueil
@ 2022-06-28 20:03   ` Guenter Roeck
  0 siblings, 0 replies; 32+ messages in thread
From: Guenter Roeck @ 2022-06-28 20:03 UTC (permalink / raw)
  To: Paul Cercueil
  Cc: Wim Van Sebroeck, linux-watchdog, linux-kernel, Thierry Reding,
	Jonathan Hunter, linux-tegra

On Tue, Jun 28, 2022 at 08:34:48PM +0100, Paul Cercueil wrote:
> Use the new DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() macros to
> handle the .suspend/.resume callbacks.
> 
> These macros allow the suspend and resume functions to be automatically
> dropped by the compiler when CONFIG_SUSPEND is disabled, without having
> to use #ifdef guards. Not using #ifdef guards means that the code is
> always compiled independently of any Kconfig option, and thanks to that
> bugs and regressions are easier to catch.
> 
> While at it, the functions tegra_wdt_runtime_{suspend,resume} were
> renamed to tegra_wdt_{suspend,resume}, as they are *not* runtime-PM
> callbacks, but standard system suspend/resume callbacks.
> 
> Signed-off-by: Paul Cercueil <paul@crapouillou.net>
> Cc: Thierry Reding <thierry.reding@gmail.com>
> Cc: Jonathan Hunter <jonathanh@nvidia.com>
> Cc: linux-tegra@vger.kernel.org

Reviewed-by: Guenter Roeck <linux@roeck-us.net>

> ---
>  drivers/watchdog/tegra_wdt.c | 14 +++++---------
>  1 file changed, 5 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/watchdog/tegra_wdt.c b/drivers/watchdog/tegra_wdt.c
> index dfe06e506cad..d5de6c0657a5 100644
> --- a/drivers/watchdog/tegra_wdt.c
> +++ b/drivers/watchdog/tegra_wdt.c
> @@ -230,8 +230,7 @@ static int tegra_wdt_probe(struct platform_device *pdev)
>  	return 0;
>  }
>  
> -#ifdef CONFIG_PM_SLEEP
> -static int tegra_wdt_runtime_suspend(struct device *dev)
> +static int tegra_wdt_suspend(struct device *dev)
>  {
>  	struct tegra_wdt *wdt = dev_get_drvdata(dev);
>  
> @@ -241,7 +240,7 @@ static int tegra_wdt_runtime_suspend(struct device *dev)
>  	return 0;
>  }
>  
> -static int tegra_wdt_runtime_resume(struct device *dev)
> +static int tegra_wdt_resume(struct device *dev)
>  {
>  	struct tegra_wdt *wdt = dev_get_drvdata(dev);
>  
> @@ -250,7 +249,6 @@ static int tegra_wdt_runtime_resume(struct device *dev)
>  
>  	return 0;
>  }
> -#endif
>  
>  static const struct of_device_id tegra_wdt_of_match[] = {
>  	{ .compatible = "nvidia,tegra30-timer", },
> @@ -258,16 +256,14 @@ static const struct of_device_id tegra_wdt_of_match[] = {
>  };
>  MODULE_DEVICE_TABLE(of, tegra_wdt_of_match);
>  
> -static const struct dev_pm_ops tegra_wdt_pm_ops = {
> -	SET_SYSTEM_SLEEP_PM_OPS(tegra_wdt_runtime_suspend,
> -				tegra_wdt_runtime_resume)
> -};
> +static DEFINE_SIMPLE_DEV_PM_OPS(tegra_wdt_pm_ops,
> +				tegra_wdt_suspend, tegra_wdt_resume);
>  
>  static struct platform_driver tegra_wdt_driver = {
>  	.probe		= tegra_wdt_probe,
>  	.driver		= {
>  		.name	= "tegra-wdt",
> -		.pm	= &tegra_wdt_pm_ops,
> +		.pm	= pm_sleep_ptr(&tegra_wdt_pm_ops),
>  		.of_match_table = tegra_wdt_of_match,
>  	},
>  };
> -- 
> 2.35.1
> 

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

* Re: [PATCH 8/8] watchdog: wdat_wdt: Remove #ifdef guards for PM related functions
  2022-06-28 19:34 ` [PATCH 8/8] watchdog: wdat_wdt: " Paul Cercueil
@ 2022-06-28 20:09   ` Guenter Roeck
  0 siblings, 0 replies; 32+ messages in thread
From: Guenter Roeck @ 2022-06-28 20:09 UTC (permalink / raw)
  To: Paul Cercueil; +Cc: Wim Van Sebroeck, linux-watchdog, linux-kernel

On Tue, Jun 28, 2022 at 08:34:49PM +0100, Paul Cercueil wrote:
> Use the new NOIRQ_SYSTEM_SLEEP_PM_OPS() and pm_sleep_ptr() macros to
> handle the .suspend/.resume callbacks.
> 
> These macros allow the suspend and resume functions to be automatically
> dropped by the compiler when CONFIG_SUSPEND is disabled, without having
> to use #ifdef guards. Not using #ifdef guards means that the code is
> always compiled independently of any Kconfig option, and thanks to that
> bugs and regressions are easier to catch.
> 
> Signed-off-by: Paul Cercueil <paul@crapouillou.net>

Reviewed-by: Guenter Roeck <linux@roeck-us.net>

> ---
>  drivers/watchdog/wdat_wdt.c | 7 ++-----
>  1 file changed, 2 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/watchdog/wdat_wdt.c b/drivers/watchdog/wdat_wdt.c
> index e6f95e99156d..aeadaa07c891 100644
> --- a/drivers/watchdog/wdat_wdt.c
> +++ b/drivers/watchdog/wdat_wdt.c
> @@ -467,7 +467,6 @@ static int wdat_wdt_probe(struct platform_device *pdev)
>  	return devm_watchdog_register_device(dev, &wdat->wdd);
>  }
>  
> -#ifdef CONFIG_PM_SLEEP
>  static int wdat_wdt_suspend_noirq(struct device *dev)
>  {
>  	struct wdat_wdt *wdat = dev_get_drvdata(dev);
> @@ -528,18 +527,16 @@ static int wdat_wdt_resume_noirq(struct device *dev)
>  
>  	return wdat_wdt_start(&wdat->wdd);
>  }
> -#endif
>  
>  static const struct dev_pm_ops wdat_wdt_pm_ops = {
> -	SET_NOIRQ_SYSTEM_SLEEP_PM_OPS(wdat_wdt_suspend_noirq,
> -				      wdat_wdt_resume_noirq)
> +	NOIRQ_SYSTEM_SLEEP_PM_OPS(wdat_wdt_suspend_noirq, wdat_wdt_resume_noirq)
>  };
>  
>  static struct platform_driver wdat_wdt_driver = {
>  	.probe = wdat_wdt_probe,
>  	.driver = {
>  		.name = "wdat_wdt",
> -		.pm = &wdat_wdt_pm_ops,
> +		.pm = pm_sleep_ptr(&wdat_wdt_pm_ops),
>  	},
>  };
>  
> -- 
> 2.35.1
> 

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

* Re: [PATCH 1/8] watchdog: bcm7038_wdt: Remove #ifdef guards for PM related functions
  2022-06-28 19:34 ` [PATCH 1/8] watchdog: bcm7038_wdt: " Paul Cercueil
  2022-06-28 20:02   ` Guenter Roeck
@ 2022-06-28 20:09   ` Florian Fainelli
  1 sibling, 0 replies; 32+ messages in thread
From: Florian Fainelli @ 2022-06-28 20:09 UTC (permalink / raw)
  To: Paul Cercueil, Wim Van Sebroeck, Guenter Roeck
  Cc: linux-watchdog, linux-kernel, Broadcom internal kernel review list

On 6/28/22 12:34, Paul Cercueil wrote:
> Use the new DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() macros to
> handle the .suspend/.resume callbacks.
> 
> These macros allow the suspend and resume functions to be automatically
> dropped by the compiler when CONFIG_SUSPEND is disabled, without having
> to use #ifdef guards. Not using #ifdef guards means that the code is
> always compiled independently of any Kconfig option, and thanks to that
> bugs and regressions are easier to catch.
> 
> Signed-off-by: Paul Cercueil <paul@crapouillou.net>
> Cc: Florian Fainelli <f.fainelli@gmail.com>
> Cc: Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>

Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Tested-by: Florian Fainelli <f.fainelli@gmail.com>

Confirmed that the exact same code is generated before/after, thanks Paul!
-- 
Florian

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

* Re: [PATCH 4/8] watchdog: s3c2410_wdt: Remove #ifdef guards for PM related functions
  2022-06-28 19:34   ` Paul Cercueil
@ 2022-06-29  7:36     ` Krzysztof Kozlowski
  -1 siblings, 0 replies; 32+ messages in thread
From: Krzysztof Kozlowski @ 2022-06-29  7:36 UTC (permalink / raw)
  To: Paul Cercueil, Wim Van Sebroeck, Guenter Roeck
  Cc: linux-watchdog, linux-kernel, Alim Akhtar, linux-arm-kernel,
	linux-samsung-soc

On 28/06/2022 21:34, Paul Cercueil wrote:
> Use the new DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() macros to
> handle the .suspend/.resume callbacks.
> 
> These macros allow the suspend and resume functions to be automatically
> dropped by the compiler when CONFIG_SUSPEND is disabled, without having
> to use #ifdef guards. Not using #ifdef guards means that the code is
> always compiled independently of any Kconfig option, and thanks to that
> bugs and regressions are easier to catch.
> 
> Signed-off-by: Paul Cercueil <paul@crapouillou.net>

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>


Best regards,
Krzysztof

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

* Re: [PATCH 4/8] watchdog: s3c2410_wdt: Remove #ifdef guards for PM related functions
@ 2022-06-29  7:36     ` Krzysztof Kozlowski
  0 siblings, 0 replies; 32+ messages in thread
From: Krzysztof Kozlowski @ 2022-06-29  7:36 UTC (permalink / raw)
  To: Paul Cercueil, Wim Van Sebroeck, Guenter Roeck
  Cc: linux-watchdog, linux-kernel, Alim Akhtar, linux-arm-kernel,
	linux-samsung-soc

On 28/06/2022 21:34, Paul Cercueil wrote:
> Use the new DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() macros to
> handle the .suspend/.resume callbacks.
> 
> These macros allow the suspend and resume functions to be automatically
> dropped by the compiler when CONFIG_SUSPEND is disabled, without having
> to use #ifdef guards. Not using #ifdef guards means that the code is
> always compiled independently of any Kconfig option, and thanks to that
> bugs and regressions are easier to catch.
> 
> Signed-off-by: Paul Cercueil <paul@crapouillou.net>

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>


Best regards,
Krzysztof

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 3/8] watchdog: mtk_wdt: Remove #ifdef guards for PM related functions
  2022-06-28 19:34   ` Paul Cercueil
@ 2022-06-29  8:25     ` AngeloGioacchino Del Regno
  -1 siblings, 0 replies; 32+ messages in thread
From: AngeloGioacchino Del Regno @ 2022-06-29  8:25 UTC (permalink / raw)
  To: Paul Cercueil, Wim Van Sebroeck, Guenter Roeck
  Cc: linux-watchdog, linux-kernel, Matthias Brugger, linux-arm-kernel,
	linux-mediatek

Il 28/06/22 21:34, Paul Cercueil ha scritto:
> Use the new DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() macros to
> handle the .suspend/.resume callbacks.
> 
> These macros allow the suspend and resume functions to be automatically
> dropped by the compiler when CONFIG_SUSPEND is disabled, without having
> to use #ifdef guards. Not using #ifdef guards means that the code is
> always compiled independently of any Kconfig option, and thanks to that
> bugs and regressions are easier to catch.
> 
> Signed-off-by: Paul Cercueil <paul@crapouillou.net>
> Cc: Matthias Brugger <matthias.bgg@gmail.com>
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: linux-mediatek@lists.infradead.org
> Reviewed-by: Guenter Roeck <linux@roeck-us.net>

Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>

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

* Re: [PATCH 3/8] watchdog: mtk_wdt: Remove #ifdef guards for PM related functions
@ 2022-06-29  8:25     ` AngeloGioacchino Del Regno
  0 siblings, 0 replies; 32+ messages in thread
From: AngeloGioacchino Del Regno @ 2022-06-29  8:25 UTC (permalink / raw)
  To: Paul Cercueil, Wim Van Sebroeck, Guenter Roeck
  Cc: linux-watchdog, linux-kernel, Matthias Brugger, linux-arm-kernel,
	linux-mediatek

Il 28/06/22 21:34, Paul Cercueil ha scritto:
> Use the new DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() macros to
> handle the .suspend/.resume callbacks.
> 
> These macros allow the suspend and resume functions to be automatically
> dropped by the compiler when CONFIG_SUSPEND is disabled, without having
> to use #ifdef guards. Not using #ifdef guards means that the code is
> always compiled independently of any Kconfig option, and thanks to that
> bugs and regressions are easier to catch.
> 
> Signed-off-by: Paul Cercueil <paul@crapouillou.net>
> Cc: Matthias Brugger <matthias.bgg@gmail.com>
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: linux-mediatek@lists.infradead.org
> Reviewed-by: Guenter Roeck <linux@roeck-us.net>

Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 5/8] watchdog: sama5d4_wdt: Remove #ifdef guards for PM related functions
  2022-06-28 19:34   ` Paul Cercueil
@ 2022-06-30  8:25     ` Claudiu.Beznea
  -1 siblings, 0 replies; 32+ messages in thread
From: Claudiu.Beznea @ 2022-06-30  8:25 UTC (permalink / raw)
  To: paul, wim, linux
  Cc: linux-watchdog, linux-kernel, Nicolas.Ferre, alexandre.belloni,
	linux-arm-kernel

On 28.06.2022 22:34, Paul Cercueil wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
> 
> Use the new LATE_SYSTEM_SLEEP_PM_OPS() and pm_sleep_ptr() macros to
> handle the .suspend/.resume callbacks.
> 
> These macros allow the suspend and resume functions to be automatically
> dropped by the compiler when CONFIG_SUSPEND is disabled, without having
> to use #ifdef guards. Not using #ifdef guards means that the code is
> always compiled independently of any Kconfig option, and thanks to that
> bugs and regressions are easier to catch.
> 
> Signed-off-by: Paul Cercueil <paul@crapouillou.net>
> Cc: Nicolas Ferre <nicolas.ferre@microchip.com>
> Cc: Alexandre Belloni <alexandre.belloni@bootlin.com>
> Cc: Claudiu Beznea <claudiu.beznea@microchip.com>
> Cc: linux-arm-kernel@lists.infradead.org

Reviewed-by: Claudiu Beznea <claudiu.beznea@microchip.com>

> ---
>  drivers/watchdog/sama5d4_wdt.c | 8 +++-----
>  1 file changed, 3 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/watchdog/sama5d4_wdt.c b/drivers/watchdog/sama5d4_wdt.c
> index ec20ad4e534f..aeee934ca51b 100644
> --- a/drivers/watchdog/sama5d4_wdt.c
> +++ b/drivers/watchdog/sama5d4_wdt.c
> @@ -339,7 +339,6 @@ static const struct of_device_id sama5d4_wdt_of_match[] = {
>  };
>  MODULE_DEVICE_TABLE(of, sama5d4_wdt_of_match);
> 
> -#ifdef CONFIG_PM_SLEEP
>  static int sama5d4_wdt_suspend_late(struct device *dev)
>  {
>         struct sama5d4_wdt *wdt = dev_get_drvdata(dev);
> @@ -366,18 +365,17 @@ static int sama5d4_wdt_resume_early(struct device *dev)
> 
>         return 0;
>  }
> -#endif
> 
>  static const struct dev_pm_ops sama5d4_wdt_pm_ops = {
> -       SET_LATE_SYSTEM_SLEEP_PM_OPS(sama5d4_wdt_suspend_late,
> -                       sama5d4_wdt_resume_early)
> +       LATE_SYSTEM_SLEEP_PM_OPS(sama5d4_wdt_suspend_late,
> +                                sama5d4_wdt_resume_early)
>  };
> 
>  static struct platform_driver sama5d4_wdt_driver = {
>         .probe          = sama5d4_wdt_probe,
>         .driver         = {
>                 .name   = "sama5d4_wdt",
> -               .pm     = &sama5d4_wdt_pm_ops,
> +               .pm     = pm_sleep_ptr(&sama5d4_wdt_pm_ops),
>                 .of_match_table = sama5d4_wdt_of_match,
>         }
>  };
> --
> 2.35.1
> 


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

* Re: [PATCH 5/8] watchdog: sama5d4_wdt: Remove #ifdef guards for PM related functions
@ 2022-06-30  8:25     ` Claudiu.Beznea
  0 siblings, 0 replies; 32+ messages in thread
From: Claudiu.Beznea @ 2022-06-30  8:25 UTC (permalink / raw)
  To: paul, wim, linux
  Cc: alexandre.belloni, linux-watchdog, linux-arm-kernel, linux-kernel

On 28.06.2022 22:34, Paul Cercueil wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
> 
> Use the new LATE_SYSTEM_SLEEP_PM_OPS() and pm_sleep_ptr() macros to
> handle the .suspend/.resume callbacks.
> 
> These macros allow the suspend and resume functions to be automatically
> dropped by the compiler when CONFIG_SUSPEND is disabled, without having
> to use #ifdef guards. Not using #ifdef guards means that the code is
> always compiled independently of any Kconfig option, and thanks to that
> bugs and regressions are easier to catch.
> 
> Signed-off-by: Paul Cercueil <paul@crapouillou.net>
> Cc: Nicolas Ferre <nicolas.ferre@microchip.com>
> Cc: Alexandre Belloni <alexandre.belloni@bootlin.com>
> Cc: Claudiu Beznea <claudiu.beznea@microchip.com>
> Cc: linux-arm-kernel@lists.infradead.org

Reviewed-by: Claudiu Beznea <claudiu.beznea@microchip.com>

> ---
>  drivers/watchdog/sama5d4_wdt.c | 8 +++-----
>  1 file changed, 3 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/watchdog/sama5d4_wdt.c b/drivers/watchdog/sama5d4_wdt.c
> index ec20ad4e534f..aeee934ca51b 100644
> --- a/drivers/watchdog/sama5d4_wdt.c
> +++ b/drivers/watchdog/sama5d4_wdt.c
> @@ -339,7 +339,6 @@ static const struct of_device_id sama5d4_wdt_of_match[] = {
>  };
>  MODULE_DEVICE_TABLE(of, sama5d4_wdt_of_match);
> 
> -#ifdef CONFIG_PM_SLEEP
>  static int sama5d4_wdt_suspend_late(struct device *dev)
>  {
>         struct sama5d4_wdt *wdt = dev_get_drvdata(dev);
> @@ -366,18 +365,17 @@ static int sama5d4_wdt_resume_early(struct device *dev)
> 
>         return 0;
>  }
> -#endif
> 
>  static const struct dev_pm_ops sama5d4_wdt_pm_ops = {
> -       SET_LATE_SYSTEM_SLEEP_PM_OPS(sama5d4_wdt_suspend_late,
> -                       sama5d4_wdt_resume_early)
> +       LATE_SYSTEM_SLEEP_PM_OPS(sama5d4_wdt_suspend_late,
> +                                sama5d4_wdt_resume_early)
>  };
> 
>  static struct platform_driver sama5d4_wdt_driver = {
>         .probe          = sama5d4_wdt_probe,
>         .driver         = {
>                 .name   = "sama5d4_wdt",
> -               .pm     = &sama5d4_wdt_pm_ops,
> +               .pm     = pm_sleep_ptr(&sama5d4_wdt_pm_ops),
>                 .of_match_table = sama5d4_wdt_of_match,
>         }
>  };
> --
> 2.35.1
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

end of thread, other threads:[~2022-06-30  8:27 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-28 19:34 [PATCH 0/8] watchdog: Remove #ifdef guards for PM related functions Paul Cercueil
2022-06-28 19:34 ` [PATCH 1/8] watchdog: bcm7038_wdt: " Paul Cercueil
2022-06-28 20:02   ` Guenter Roeck
2022-06-28 20:09   ` Florian Fainelli
2022-06-28 19:34 ` [PATCH 2/8] watchdog: dw_wdt: " Paul Cercueil
2022-06-28 20:02   ` Guenter Roeck
2022-06-28 19:34 ` [PATCH 3/8] watchdog: mtk_wdt: " Paul Cercueil
2022-06-28 19:34   ` Paul Cercueil
2022-06-28 20:02   ` Guenter Roeck
2022-06-28 20:02     ` Guenter Roeck
2022-06-29  8:25   ` AngeloGioacchino Del Regno
2022-06-29  8:25     ` AngeloGioacchino Del Regno
2022-06-28 19:34 ` [PATCH 4/8] watchdog: s3c2410_wdt: " Paul Cercueil
2022-06-28 19:34   ` Paul Cercueil
2022-06-28 20:03   ` Guenter Roeck
2022-06-28 20:03     ` Guenter Roeck
2022-06-29  7:36   ` Krzysztof Kozlowski
2022-06-29  7:36     ` Krzysztof Kozlowski
2022-06-28 19:34 ` [PATCH 5/8] watchdog: sama5d4_wdt: " Paul Cercueil
2022-06-28 19:34   ` Paul Cercueil
2022-06-28 20:03   ` Guenter Roeck
2022-06-28 20:03     ` Guenter Roeck
2022-06-30  8:25   ` Claudiu.Beznea
2022-06-30  8:25     ` Claudiu.Beznea
2022-06-28 19:34 ` [PATCH 6/8] watchdog: st_lpc_wdt: " Paul Cercueil
2022-06-28 19:34   ` Paul Cercueil
2022-06-28 20:03   ` Guenter Roeck
2022-06-28 20:03     ` Guenter Roeck
2022-06-28 19:34 ` [PATCH 7/8] watchdog: tegra_wdt: " Paul Cercueil
2022-06-28 20:03   ` Guenter Roeck
2022-06-28 19:34 ` [PATCH 8/8] watchdog: wdat_wdt: " Paul Cercueil
2022-06-28 20:09   ` Guenter Roeck

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.