diff options
| author | Mark Brown <broonie@kernel.org> | 2025-02-27 16:44:41 +0000 |
|---|---|---|
| committer | Mark Brown <broonie@kernel.org> | 2025-02-27 16:44:41 +0000 |
| commit | d0343fdb567dddaa74ac1b7b6994fd70100a0f6e (patch) | |
| tree | 2cd76efbd867e2c6df389b7ca1394b1cfbe80201 /include/linux | |
| parent | 79ed408b2402e8113aa5a298f3bb9088ede58f6c (diff) | |
| parent | c143755d8cce31e770234732ff23134993b0550f (diff) | |
Add SDCA register map support
Merge series from Charles Keepax <ckeepax@opensource.cirrus.com>:
This series is the next step of adding SDCA support. Here we add
helper functions to allow drivers to easily use the SDCA DisCo
information to create a register map for the device.
The basic idea here is the code takes the list of SDCA controls parsed
from DisCo and uses primarily the Access Mode to determine if the
register should be marked as readable/writable etc. Further more
some additional concepts such as DisCo Constants and Defaults are
handled. There is some potential confusion, as DisCo Constants are
handled as an entry in the regmap defaults table, whereas a DisCo
Default is simply handled as a write to the register. Alas the naming
confusion is an unavoidable result of the slight impedance mismatch
between the two systems.
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/regmap.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/linux/regmap.h b/include/linux/regmap.h index 3a96d068915f..d17c5ea3d55d 100644 --- a/include/linux/regmap.h +++ b/include/linux/regmap.h @@ -1352,6 +1352,7 @@ bool regmap_can_raw_write(struct regmap *map); size_t regmap_get_raw_read_max(struct regmap *map); size_t regmap_get_raw_write_max(struct regmap *map); +void regcache_sort_defaults(struct reg_default *defaults, unsigned int ndefaults); int regcache_sync(struct regmap *map); int regcache_sync_region(struct regmap *map, unsigned int min, unsigned int max); @@ -2043,6 +2044,12 @@ static inline bool regmap_might_sleep(struct regmap *map) return true; } +static inline void regcache_sort_defaults(struct reg_default *defaults, + unsigned int ndefaults) +{ + WARN_ONCE(1, "regmap API is disabled"); +} + static inline int regcache_sync(struct regmap *map) { WARN_ONCE(1, "regmap API is disabled"); |
