On Wed, Feb 12, 2025 at 06:07:19PM +0100, Sebastian Reichel wrote: > On Wed, Feb 12, 2025 at 06:46:23PM +0200, Andy Shevchenko wrote: > > Get matching data in one step by switching to use i2c_get_match_data(). ... > Acked-by: Sebastian Reichel <sebastian.reichel@xxxxxxxxxxxxx> Thank you! ... > > static int ip5xxx_power_probe(struct i2c_client *client) > > { > > - const struct ip5xxx_regfield_config *fields = &ip51xx_fields; > > + const struct ip5xxx_regfield_config *fields; > > struct power_supply_config psy_cfg = {}; > > struct device *dev = &client->dev; > > const struct of_device_id *of_id; Seems I forgot to drop this (unused) variable. > > @@ -843,9 +843,7 @@ static int ip5xxx_power_probe(struct i2c_client *client) > > if (IS_ERR(ip5xxx->regmap)) > > return PTR_ERR(ip5xxx->regmap); > > > > - of_id = i2c_of_match_device(dev->driver->of_match_table, client); > > - if (of_id) > > - fields = (const struct ip5xxx_regfield_config *)of_id->data; > > + fields = i2c_get_match_data(client) ?: &ip51xx_fields; -- With Best Regards, Andy Shevchenko