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

From: Biju Das
Date: Tue Aug 29 2023 - 14:02:42 EST


Hi Andy,

> Subject: Re: [PATCH v2] ASoC: cs42xx8-i2c: Simplify probe()
>
> 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");

True,

Cheers,
Biju