regmap: cache: Fix num_reg_defaults computation from reg_defaults_raw
authorMaarten ter Huurne <maarten@treewalker.org>
Fri, 29 Jul 2016 21:42:12 +0000 (23:42 +0200)
committerMark Brown <broonie@kernel.org>
Fri, 29 Jul 2016 22:02:19 +0000 (23:02 +0100)
commitb2c7f5d9c939a37c1ce7f86a642de70e3033ee9e
treed7b4086676e639a016c888de22043c6001af4ca3
parentefeb1a3ab91dc6bead3b5a522c0ceca1d711feb1
regmap: cache: Fix num_reg_defaults computation from reg_defaults_raw

In 3245d460 (regmap: cache: Fall back to register by register read for
cache defaults) non-readable registers are skipped when initializing
reg_defaults, but are still included in num_reg_defaults. So there can
be uninitialized entries at the end of reg_defaults, which can cause
problems when the register cache initializes from the full array.

Fixed it by excluding non-readable registers from the count as well.

Signed-off-by: Maarten ter Huurne <maarten@treewalker.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/base/regmap/regcache.c