diff options
author | Jan Dakinevich <jan.dakinevich@salutedevices.com> | 2024-01-26 23:08:36 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2024-02-05 17:32:35 +0300 |
commit | 0ec74ad3c157bd4bcbcc8b294777733687e8cd2a (patch) | |
tree | 853dee94f5d1bd7cc8a8e41bf50fc08ef5438d4c /drivers/base/regmap/internal.h | |
parent | 6613476e225e090cc9aad49be7fa504e290dd33d (diff) | |
download | linux-0ec74ad3c157bd4bcbcc8b294777733687e8cd2a.tar.xz |
regmap: rework ->max_register handling
When regmap consists of single register, 'regmap' subsystem is unable to
understand whether ->max_register is set or not, because in both cases it
is equal to zero. It leads to that the logic based on value of
->max_register doesn't work. For example using of REGCACHE_FLAT fails.
This patch introduces an extra parameter to regmap config, indicating
that zero value in ->max_register is authentic.
Signed-off-by: Jan Dakinevich <jan.dakinevich@salutedevices.com>
Link: https://lore.kernel.org/r/20240126200836.1829995-1-jan.dakinevich@salutedevices.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers/base/regmap/internal.h')
-rw-r--r-- | drivers/base/regmap/internal.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/base/regmap/internal.h b/drivers/base/regmap/internal.h index 583dd5d7d46b..bcdb25bec77c 100644 --- a/drivers/base/regmap/internal.h +++ b/drivers/base/regmap/internal.h @@ -93,6 +93,7 @@ struct regmap { #endif unsigned int max_register; + bool max_register_is_set; bool (*writeable_reg)(struct device *dev, unsigned int reg); bool (*readable_reg)(struct device *dev, unsigned int reg); bool (*volatile_reg)(struct device *dev, unsigned int reg); |