On Mon, Aug 28, 2023 at 06:48:56PM +0100, Biju Das wrote: > Simplify probe() by replacing of_match_device->i2c_get_match_data() and > extend matching support for ID table. Also replace > dev_err()->dev_err_probe() to simplify the code. ... Can also be struct device *dev = &i2c->dev; > int ret; > struct cs42xx8_driver_data *drvdata; > - const struct of_device_id *of_id; > - > - of_id = of_match_device(cs42xx8_of_match, &i2c->dev); > - if (!of_id) { > - dev_err(&i2c->dev, "failed to find driver data\n"); > - return -EINVAL; > - } > > - drvdata = (struct cs42xx8_driver_data *)of_id->data; > + drvdata = (struct cs42xx8_driver_data *)i2c_get_match_data(i2c); > + if (!drvdata) > + return dev_err_probe(&i2c->dev, -EINVAL, > + "failed to find driver data\n"); return dev_err_probe(dev, -EINVAL, "failed to find driver data\n"); -- With Best Regards, Andy Shevchenko