Re: [PATCH v2] ASoC: cs42xx8-i2c: Simplify probe()

From: Andy Shevchenko
Date: Tue Aug 29 2023 - 11:20:24 EST


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