Re: [PATCH 0/3] ASoC: cs35l41/cs35l45/cs4265: sort the reg_defaults tables

Richard Fitzgerald <[email protected]>
Newsgroups org.kernel.vger.stable,org.kernel.vger.linux-sound
Message-ID <[email protected]>
On 05/08/2026 10:25 am, Charles Keepax wrote:
> On Wed, Aug 05, 2026 at 12:10:10PM +0300, Péter Ujfalusi wrote:
>> On 05/08/2026 12:00, Richard Fitzgerald wrote:
>>>>> Found by an audit of all reg_defaults tables under sound/, the SoundWire
>>>>> codec drivers are fixed by a separate series.
>>>>
>>>> Wow. Would it make sense to have a regmap helper to double-check the
>>>> addresses are indeed in-order in those reg_default tables?
>>>> I am not sure how this requirement can be enforced by just inspection, a
>>>> warning would help detect this sort of issues on more platforms.
>>>>
>>> It does seem probable that anything that relies on people just
>>> remembering to keep a large table sorted is prone to breaking,
>>> especially if the addresses are provided by named constant instead of
>>> a list of hardcoded numbers.
>>>
>>> Should regmap check the table when the regmap is first created?
>>> As it has to search the table during normal use anyway, one extra walk
>>> when the regmap is created probably isn't a serious overhead.
>>
>> But it will be done for _all_ devices which uses regmap on boot, small
>> things do add up, see my reply to Pierre-Louis.
> 
> Indeed, if we were to add some sort of auto-checker it should
> be guarded behind something like perhaps a Kconfig option or the
> DEBUG define.
> 
> Thanks,
> Charles

regcache_init() already walks the defaults table checking the stride

	for (i = 0; i < config->num_reg_defaults; i++)
		if (config->reg_defaults[i].reg % map->reg_stride)
			return -EINVAL;

so checking that each entry is larger than previous is trivial extra
overhead. I think most regmaps are cached.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.