Re: [PATCH v3 1/4] iio: dac: ad3530r: Refactor setup to table-driven register bank approach

From: Jonathan Cameron

Date: Mon Jun 29 2026 - 14:18:52 EST


On Mon, 29 Jun 2026 16:57:26 +0300
Andy Shevchenko <andriy.shevchenko@xxxxxxxxx> wrote:

> On Mon, Jun 29, 2026 at 04:31:04PM +0800, Kim Seer Paller wrote:
> > Replace direct register calls in ad3530r_setup() with per-chip register
> > address arrays and bank helpers (ad3530r_set_reg_bank_bits,
> > ad3530r_write_reg_banks). Convert sw_ldac_trig_reg from a static
> ad3530r_set_reg_bank_bits(),
> ad3530r_write_reg_banks().
>
> > Convert sw_ldac_trig_reg from a static
> > register address to a function pointer for per-bank LDAC trigger
> > register selection. Switch spi_device_id to named initializers.
>
> Split this patch to do one thing per a change.
>
Perhaps more relevant here is remember to update the changelog.
It doesn't do that last thing as Uwe already dealt with it.

> ...
>
> > +static int ad3530r_set_reg_bank_bits(const struct ad3530r_state *st,
> > + const unsigned int *regs,
> > + unsigned int num_regs,
> > + unsigned int mask)
> > +{
> > + int ret;
> > +
> > + for (unsigned int i = 0; i < num_regs; i++) {
> > + ret = regmap_update_bits(st->regmap, regs[i], mask, mask);
>
> _set_bits()
>
> > + if (ret)
> > + return ret;
> > + }
> > +
> > + return 0;
> > +}
>