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