[PATCH 0/2] ASoC: NXP/Freescale: sort the reg_defaults tables
Peter Ujfalusi <[email protected]> Wed, 5 Aug 2026 15:27:26 +0300
| Newsgroups | org.kernel.vger.linux-sound,org.kernel.vger.stable |
|---|---|
| Message-ID | <[email protected]> |
reg_defaults must be sorted by ascending register address, since
regcache_lookup_reg() locates entries in it with bsearch(). When a table is
not sorted, bsearch() cannot find the entries which follow a descending step,
so regcache_reg_needs_sync() falls back to reporting that a sync is needed for
them. Those registers are then written to the device on every regcache_sync()
even when they were never touched.
See commit fd80df352ba1 ("regcache: Add support for sorting defaults arrays")
for the same problem in a different context.
The series is based on broonie/for-linus (05eebef3c7b2).
Affected tables:
sgtl5000_reg_defaults 1 of 35 entries unreachable
fsl_easrc_reg_defaults 3 of 120 entries unreachable
Peter Ujfalusi (2):
ASoC: sgtl5000: sort the register default table
ASoC: fsl_easrc: sort the register default table
sound/soc/codecs/sgtl5000.c | 2 +-
sound/soc/fsl/fsl_easrc.c | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
--
2.55.0