Re: [RFC PATCH 1/2] regmap: Add cache_default_is_zero flag for flat cache

From: Mark Brown

Date: Tue Jan 06 2026 - 10:12:29 EST


On Tue, Jan 06, 2026 at 07:38:26PM +0530, Sheetal . wrote:

> 2. No functional benefit: Entries like { REG, 0x0 } only set the
> validity bit; the cache value is already zero.

For sparse caches specifying the register also allocates the cache
entry.

> Add a cache_default_is_zero flag to struct regmap_config. When set,
> the flat cache marks registers as valid on first read instead of
> warning. This ensures only accessed registers are marked valid,

Why do this on first read rather than than just fill the valid flags
during initialisation?

> index b0b9be750d93..bf918f88bfd3 100644
> --- a/include/linux/regmap.h
> +++ b/include/linux/regmap.h
> @@ -452,6 +452,7 @@ struct regmap_config {
> enum regcache_type cache_type;
> const void *reg_defaults_raw;
> unsigned int num_reg_defaults_raw;
> + bool cache_default_is_zero;

It would be better if this were something specific to the flat cache
since otherwise we have to consider what this means for the other cache
types.

Attachment: signature.asc
Description: PGP signature