Re: [PATCH 5/7] mfd: sec: Simplify getting of_device_id match data

From: Marek Szyprowski
Date: Tue Apr 20 2021 - 01:25:35 EST



On 19.04.2021 10:17, Krzysztof Kozlowski wrote:
> Use of_device_get_match_data() to make the code slightly smaller.
>
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxxxxx>
> ---
> drivers/mfd/sec-core.c | 9 +++------
> 1 file changed, 3 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/mfd/sec-core.c b/drivers/mfd/sec-core.c
> index 8d55992da19e..3126c39f3203 100644
> --- a/drivers/mfd/sec-core.c
> +++ b/drivers/mfd/sec-core.c
> @@ -10,6 +10,7 @@
> #include <linux/slab.h>
> #include <linux/i2c.h>
> #include <linux/of.h>
> +#include <linux/of_device.h>
> #include <linux/of_irq.h>
> #include <linux/interrupt.h>
> #include <linux/pm_runtime.h>
> @@ -324,12 +325,8 @@ static inline unsigned long sec_i2c_get_driver_data(struct i2c_client *i2c,
> const struct i2c_device_id *id)
> {
> #ifdef CONFIG_OF
> - if (i2c->dev.of_node) {
> - const struct of_device_id *match;
> -
> - match = of_match_node(sec_dt_match, i2c->dev.of_node);
> - return (unsigned long)match->data;
> - }
> + if (i2c->dev.of_node)
> + return (unsigned long)of_device_get_match_data(&i2c->dev);
> #endif

Does it make any sense to keep the #ifdef CONFIG_OF after this change? I
would also skip (i2c->dev.of_node) check, because
of_device_get_match_data() already does that (although indirectly).

> return id->driver_data;
> }

Best regards
--
Marek Szyprowski, PhD
Samsung R&D Institute Poland