Re: [PATCH v5 06/13] iio: dac: ds4424: use device match data for chip info
From: Jonathan Cameron
Date: Thu Feb 05 2026 - 15:19:06 EST
On Wed, 4 Feb 2026 16:20:13 +0200
Andy Shevchenko <andriy.shevchenko@xxxxxxxxx> wrote:
> On Wed, Feb 04, 2026 at 03:00:38PM +0100, Oleksij Rempel wrote:
> > Refactor the driver to use device match data instead of checking ID enums
> > in a switch statement.
> >
> > Define a `ds4424_chip_info` structure to hold variant-specific attributes
> > (currently just the channel count) and attach it directly to the I2C and
> > OF device ID tables.
> >
> > This simplifies the probe function and makes it easier to add support for
> > new variants like DS4402/DS4404.
>
> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxx>
> with a hope that we get rid an I²C ID requirement at some point.
>
> ...
>
> > +struct ds4424_chip_info {
> > + u8 num_channels;
>
> If you wish, you can provide name here that will go to ->name field.
> Linker dedups string literals, so it will be just an additional runtime
> pointer.
I'd prefer we did this now. That avoids any future issue where we get
subtle mismatches between DT compatibles listed and the i2c_device_id
names.
We've been bitten by bugs around this before, hence tend to push names
into the chip_info structure instead of using id->name. IIRC correctly
the fun starts when we have a fallback compatible.
Jonathan
>
> > +};
>