]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
regmap: Add reg_default_cb callback for flat cache defaults
authorSheetal <sheetal@nvidia.com>
Fri, 23 Jan 2026 09:53:44 +0000 (15:23 +0530)
committerMark Brown <broonie@kernel.org>
Tue, 27 Jan 2026 12:46:10 +0000 (12:46 +0000)
commitdc65b1ed4bb34ab6235ff2cc6a917b9295c04c2c
tree336ab04ccabb5f514464b36aba68ae2723d82b9b
parent63804fed149a6750ffd28610c5c1c98cce6bd377
regmap: Add reg_default_cb callback for flat cache defaults

Commit e062bdfdd6ad ("regmap: warn users about uninitialized flat cache")
warns when REGCACHE_FLAT is used without full defaults. This causes
false positives on hardware where many registers reset to zero but are
not listed in reg_defaults, forcing drivers to maintain large tables
just to silence the warning.

Add a reg_default_cb() hook so drivers can supply defaults for registers
not present in reg_defaults when populating REGCACHE_FLAT. This keeps
the warning quiet for known zero-reset registers without bloating
tables. Provide a generic regmap_default_zero_cb() helper for drivers
that need zero defaults.

The hook is only used for REGCACHE_FLAT; the core does not
check readable/writeable access, so drivers must provide readable_reg/
writeable_reg callbacks and handle holes in the register map.

Signed-off-by: Sheetal <sheetal@nvidia.com>
Link: https://patch.msgid.link/20260123095346.1258556-3-sheetal@nvidia.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/base/regmap/internal.h
drivers/base/regmap/regcache-flat.c
drivers/base/regmap/regcache.c
drivers/base/regmap/regmap.c
include/linux/regmap.h