Re: [PATCH v2 3/4] iio: light: veml3235: extend regmap to add cache

From: Javier Carrasco
Date: Sun Jan 12 2025 - 11:07:53 EST


On Sun Jan 12, 2025 at 4:18 PM CET, Andy Shevchenko wrote:
> Tue, Dec 24, 2024 at 11:59:02AM +0100, Javier Carrasco kirjoitti:
> > The configuration and ID registers are not volatile and are not affected
> > by read operations (i.e. not precious), making them suitable to be
> > cached in order to reduce the number of accesses to the device.
>
> ...
>
> > static const struct regmap_config veml3235_regmap_config = {
> > .name = "veml3235_regmap",
> > .reg_bits = 8,
> > .val_bits = 16,
> > .max_register = VEML3235_REG_ID,
> > .val_format_endian = REGMAP_ENDIAN_LITTLE,
> > + .rd_table = &veml3235_readable_table,
> > + .wr_table = &veml3235_writable_table,
> > + .volatile_table = &veml3235_volatile_table,
> > + .cache_type = REGCACHE_RBTREE,
>
> Any specific reason why this is NOT a maple tree?
>

Hello Andy,

I followed the most common approach in IIO (52 RBTREE vs 2 MAPLE),
assuming that the "low-end systems" comment for the different REGCACHE_*
applies well to the typical systems that will make use of this driver,
and many others under IIO. I considered that *possible* performance
advantage for low-end systems above other considerations, like the
general rule about using maple tree.

Thanks and best regards,
Javier Carrasco