2023-10-09 21:15:59

by Rob Herring (Arm)

[permalink] [raw]
Subject: [PATCH] watchdog: st_lpc: Use device_get_match_data()

Use preferred device_get_match_data() instead of of_match_device() to
get the driver match data. With this, adjust the includes to explicitly
include the correct headers.

Signed-off-by: Rob Herring <[email protected]>
---
drivers/watchdog/st_lpc_wdt.c | 11 ++---------
1 file changed, 2 insertions(+), 9 deletions(-)

diff --git a/drivers/watchdog/st_lpc_wdt.c b/drivers/watchdog/st_lpc_wdt.c
index d2aa43c00221..4c5b8d98a4f3 100644
--- a/drivers/watchdog/st_lpc_wdt.c
+++ b/drivers/watchdog/st_lpc_wdt.c
@@ -15,7 +15,6 @@
#include <linux/mfd/syscon.h>
#include <linux/module.h>
#include <linux/of.h>
-#include <linux/of_platform.h>
#include <linux/platform_device.h>
#include <linux/regmap.h>
#include <linux/watchdog.h>
@@ -42,7 +41,7 @@ struct st_wdog {
void __iomem *base;
struct device *dev;
struct regmap *regmap;
- struct st_wdog_syscfg *syscfg;
+ const struct st_wdog_syscfg *syscfg;
struct clk *clk;
unsigned long clkrate;
bool warm_reset;
@@ -150,7 +149,6 @@ static void st_clk_disable_unprepare(void *data)
static int st_wdog_probe(struct platform_device *pdev)
{
struct device *dev = &pdev->dev;
- const struct of_device_id *match;
struct device_node *np = dev->of_node;
struct st_wdog *st_wdog;
struct regmap *regmap;
@@ -173,12 +171,7 @@ static int st_wdog_probe(struct platform_device *pdev)
if (!st_wdog)
return -ENOMEM;

- match = of_match_device(st_wdog_match, dev);
- if (!match) {
- dev_err(dev, "Couldn't match device\n");
- return -ENODEV;
- }
- st_wdog->syscfg = (struct st_wdog_syscfg *)match->data;
+ st_wdog->syscfg = (struct st_wdog_syscfg *)device_get_match_data(dev);

base = devm_platform_ioremap_resource(pdev, 0);
if (IS_ERR(base))
--
2.42.0


2023-10-10 06:29:54

by Patrice CHOTARD

[permalink] [raw]
Subject: Re: [PATCH] watchdog: st_lpc: Use device_get_match_data()



On 10/9/23 23:13, Rob Herring wrote:
> Use preferred device_get_match_data() instead of of_match_device() to
> get the driver match data. With this, adjust the includes to explicitly
> include the correct headers.
>
> Signed-off-by: Rob Herring <[email protected]>
> ---
> drivers/watchdog/st_lpc_wdt.c | 11 ++---------
> 1 file changed, 2 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/watchdog/st_lpc_wdt.c b/drivers/watchdog/st_lpc_wdt.c
> index d2aa43c00221..4c5b8d98a4f3 100644
> --- a/drivers/watchdog/st_lpc_wdt.c
> +++ b/drivers/watchdog/st_lpc_wdt.c
> @@ -15,7 +15,6 @@
> #include <linux/mfd/syscon.h>
> #include <linux/module.h>
> #include <linux/of.h>
> -#include <linux/of_platform.h>
> #include <linux/platform_device.h>
> #include <linux/regmap.h>
> #include <linux/watchdog.h>
> @@ -42,7 +41,7 @@ struct st_wdog {
> void __iomem *base;
> struct device *dev;
> struct regmap *regmap;
> - struct st_wdog_syscfg *syscfg;
> + const struct st_wdog_syscfg *syscfg;
> struct clk *clk;
> unsigned long clkrate;
> bool warm_reset;
> @@ -150,7 +149,6 @@ static void st_clk_disable_unprepare(void *data)
> static int st_wdog_probe(struct platform_device *pdev)
> {
> struct device *dev = &pdev->dev;
> - const struct of_device_id *match;
> struct device_node *np = dev->of_node;
> struct st_wdog *st_wdog;
> struct regmap *regmap;
> @@ -173,12 +171,7 @@ static int st_wdog_probe(struct platform_device *pdev)
> if (!st_wdog)
> return -ENOMEM;
>
> - match = of_match_device(st_wdog_match, dev);
> - if (!match) {
> - dev_err(dev, "Couldn't match device\n");
> - return -ENODEV;
> - }
> - st_wdog->syscfg = (struct st_wdog_syscfg *)match->data;
> + st_wdog->syscfg = (struct st_wdog_syscfg *)device_get_match_data(dev);
>
> base = devm_platform_ioremap_resource(pdev, 0);
> if (IS_ERR(base))

Reviewed-by: Patrice Chotard <[email protected]>

Thanks
Patrice

2023-10-10 13:35:46

by Guenter Roeck

[permalink] [raw]
Subject: Re: [PATCH] watchdog: st_lpc: Use device_get_match_data()

On Mon, Oct 09, 2023 at 04:13:48PM -0500, Rob Herring wrote:
> Use preferred device_get_match_data() instead of of_match_device() to
> get the driver match data. With this, adjust the includes to explicitly
> include the correct headers.
>
> Signed-off-by: Rob Herring <[email protected]>

Reviewed-by: Guenter Roeck <[email protected]>

> ---
> drivers/watchdog/st_lpc_wdt.c | 11 ++---------
> 1 file changed, 2 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/watchdog/st_lpc_wdt.c b/drivers/watchdog/st_lpc_wdt.c
> index d2aa43c00221..4c5b8d98a4f3 100644
> --- a/drivers/watchdog/st_lpc_wdt.c
> +++ b/drivers/watchdog/st_lpc_wdt.c
> @@ -15,7 +15,6 @@
> #include <linux/mfd/syscon.h>
> #include <linux/module.h>
> #include <linux/of.h>
> -#include <linux/of_platform.h>
> #include <linux/platform_device.h>
> #include <linux/regmap.h>
> #include <linux/watchdog.h>
> @@ -42,7 +41,7 @@ struct st_wdog {
> void __iomem *base;
> struct device *dev;
> struct regmap *regmap;
> - struct st_wdog_syscfg *syscfg;
> + const struct st_wdog_syscfg *syscfg;
> struct clk *clk;
> unsigned long clkrate;
> bool warm_reset;
> @@ -150,7 +149,6 @@ static void st_clk_disable_unprepare(void *data)
> static int st_wdog_probe(struct platform_device *pdev)
> {
> struct device *dev = &pdev->dev;
> - const struct of_device_id *match;
> struct device_node *np = dev->of_node;
> struct st_wdog *st_wdog;
> struct regmap *regmap;
> @@ -173,12 +171,7 @@ static int st_wdog_probe(struct platform_device *pdev)
> if (!st_wdog)
> return -ENOMEM;
>
> - match = of_match_device(st_wdog_match, dev);
> - if (!match) {
> - dev_err(dev, "Couldn't match device\n");
> - return -ENODEV;
> - }
> - st_wdog->syscfg = (struct st_wdog_syscfg *)match->data;
> + st_wdog->syscfg = (struct st_wdog_syscfg *)device_get_match_data(dev);
>
> base = devm_platform_ioremap_resource(pdev, 0);
> if (IS_ERR(base))
> --
> 2.42.0
>