Message ID | 20210419081726.67867-4-krzysztof.kozlowski@canonical.com |
---|---|
State | Superseded |
Headers | show |
Series | [1/7] mfd: max8997: Simplify getting of_device_id match data | expand |
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@canonical.com> > --- Acked-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com> > 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
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;
Use of_device_get_match_data() to make the code slightly smaller. Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> --- drivers/mfd/da9062-core.c | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-)