mfd: da9062: Simplify getting of_device_id match data
authorKrzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Wed, 26 May 2021 12:47:02 +0000 (08:47 -0400)
committerLee Jones <lee.jones@linaro.org>
Wed, 2 Jun 2021 09:51:18 +0000 (10:51 +0100)
Use of_device_get_match_data() to make the code slightly smaller.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Acked-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
drivers/mfd/da9062-core.c

index 8d91337..01f8e10 100644 (file)
@@ -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;