[PATCH] watchdog: orion: Use of_device_get_match_data()

Rosen Penev posted 1 patch 6 days, 3 hours ago
drivers/watchdog/orion_wdt.c | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
[PATCH] watchdog: orion: Use of_device_get_match_data()
Posted by Rosen Penev 6 days, 3 hours ago
Use of_device_get_match_data() to fetch watchdog match data directly
instead of open-coding an of_match_device() lookup.

Keep the existing legacy fallback when no match data is available.

This also lets the driver drop the of_device.h include.

Assisted-by: Codex:GPT-5.5
Signed-off-by: Rosen Penev <rosenp@gmail.com>
---
 drivers/watchdog/orion_wdt.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/drivers/watchdog/orion_wdt.c b/drivers/watchdog/orion_wdt.c
index 0e145f762f6f..a92701ff2653 100644
--- a/drivers/watchdog/orion_wdt.c
+++ b/drivers/watchdog/orion_wdt.c
@@ -21,7 +21,6 @@
 #include <linux/clk.h>
 #include <linux/err.h>
 #include <linux/of.h>
-#include <linux/of_device.h>

 /* RSTOUT mask register physical address for Orion5x, Kirkwood and Dove */
 #define ORION_RSTOUT_MASK_OFFSET	0x20108
@@ -554,7 +553,6 @@ static int orion_wdt_get_regs(struct platform_device *pdev,
 static int orion_wdt_probe(struct platform_device *pdev)
 {
 	struct orion_watchdog *dev;
-	const struct of_device_id *match;
 	unsigned int wdt_max_duration;	/* (seconds) */
 	int ret, irq;

@@ -563,15 +561,14 @@ static int orion_wdt_probe(struct platform_device *pdev)
 	if (!dev)
 		return -ENOMEM;

-	match = of_match_device(orion_wdt_of_match_table, &pdev->dev);
-	if (!match)
+	dev->data = of_device_get_match_data(&pdev->dev);
+	if (!dev->data)
 		/* Default legacy match */
-		match = &orion_wdt_of_match_table[0];
+		dev->data = orion_wdt_of_match_table[0].data;

 	dev->wdt.info = &orion_wdt_info;
 	dev->wdt.ops = &orion_wdt_ops;
 	dev->wdt.min_timeout = 1;
-	dev->data = match->data;

 	ret = orion_wdt_get_regs(pdev, dev);
 	if (ret)
--
2.54.0