Re: [PATCH 1/3] ASoC: cs35l41: sort the register default table

Richard Fitzgerald <[email protected]> Wed, 5 Aug 2026 10:58:30 +0100
Newsgroups org.kernel.vger.linux-sound,org.kernel.vger.stable
Message-ID <[email protected]>
On 05/08/2026 9:24 am, Peter Ujfalusi wrote:
> reg_defaults must be sorted by ascending register address, as
> regcache_lookup_reg() locates entries in it with bsearch().  See commit
> fd80df352ba1 ("regcache: Add support for sorting defaults arrays").
> 
> cs35l41_reg[] lists CS35L41_BSTCVRT_PEAK_CUR (0x3808) after
> CS35L41_BSTCVRT_COEFF (0x3810) and CS35L41_BSTCVRT_SLOPE_LBST (0x3814), so
> the binary search does not find those two entries.
> regcache_reg_needs_sync() then cannot compare them against their default
> and reports that a sync is needed, so they are written to the device on
> every regcache_sync() even when they were never touched.
> 
> Sort the table by register address.
> 
> Fixes: 5f2f539901b0 ("ASoC: cs35l41: Correct handling of some registers in the cache")
> Cc: [email protected]
> Signed-off-by: Peter Ujfalusi <[email protected]>

Reviewed-by: Richard Fitzgerald <[email protected]>