RE: [PATCH 4/7] mfd: da9052: Simplify getting of_device_id match data
From: Adam Thomson
Date: Mon Apr 19 2021 - 07:00:58 EST
On 19 April 2021 09:17, Krzysztof Kozlowski wrote:
> Use of_device_get_match_data() to make the code slightly smaller.
>
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxxxxx>
> ---
Acked-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx>
> drivers/mfd/da9062-core.c | 13 ++++---------
> 1 file changed, 4 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/mfd/da9062-core.c b/drivers/mfd/da9062-core.c
> index 8d913375152d..01f8e10dfa55 100644
> --- a/drivers/mfd/da9062-core.c
> +++ b/drivers/mfd/da9062-core.c
> @@ -9,6 +9,7 @@
> #include <linux/init.h>
> #include <linux/device.h>
> #include <linux/interrupt.h>
> +#include <linux/of_device.h>
> #include <linux/regmap.h>
> #include <linux/irq.h>
> #include <linux/mfd/core.h>
> @@ -622,7 +623,6 @@ static int da9062_i2c_probe(struct i2c_client *i2c,
> const struct i2c_device_id *id)
> {
> struct da9062 *chip;
> - const struct of_device_id *match;
> unsigned int irq_base;
> const struct mfd_cell *cell;
> const struct regmap_irq_chip *irq_chip;
> @@ -635,15 +635,10 @@ static int da9062_i2c_probe(struct i2c_client *i2c,
> if (!chip)
> return -ENOMEM;
>
> - if (i2c->dev.of_node) {
> - match = of_match_node(da9062_dt_ids, i2c->dev.of_node);
> - if (!match)
> - return -EINVAL;
> -
> - chip->chip_type = (uintptr_t)match->data;
> - } else {
> + if (i2c->dev.of_node)
> + chip->chip_type = (uintptr_t)of_device_get_match_data(&i2c-
> >dev);
> + else
> chip->chip_type = id->driver_data;
> - }
>
> i2c_set_clientdata(i2c, chip);
> chip->dev = &i2c->dev;
> --
> 2.25.1