diff options
author | Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> | 2021-05-26 15:47:02 +0300 |
---|---|---|
committer | Lee Jones <lee.jones@linaro.org> | 2021-06-02 12:51:18 +0300 |
commit | 5783bbe9a434db870891a07cd7826944047368e5 (patch) | |
tree | 3d36a2cdb3573799079ef8832ac2deeb215837af /drivers/mfd/da9062-core.c | |
parent | 8b201402ea027e44fbe66933a4912b647fd35e89 (diff) | |
download | linux-5783bbe9a434db870891a07cd7826944047368e5.tar.xz |
mfd: da9062: Simplify getting of_device_id match data
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>
Diffstat (limited to 'drivers/mfd/da9062-core.c')
-rw-r--r-- | drivers/mfd/da9062-core.c | 13 |
1 files 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; |