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

From: Andy Shevchenko

Date: Mon Jun 29 2026 - 10:07:21 EST


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.

...

> +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;
> +}

--
With Best Regards,
Andy Shevchenko