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

Péter Ujfalusi <[email protected]> Wed, 5 Aug 2026 14:25:52 +0300
Newsgroups org.kernel.vger.linux-sound,org.kernel.vger.stable
Message-ID <[email protected]>

On 05/08/2026 13:36, Richard Fitzgerald wrote:
> On 05/08/2026 11:17 am, Péter Ujfalusi wrote:
>>
>>
>> On 05/08/2026 13:10, Charles Keepax wrote:
>>>>> I don't think we need to sort them. Just fail, so that an unsorted
>>>>> table
>>>>> must be fixed.
>>>>
>>>> That would be a big regression all around the place, ordering w/ the
>>>> debug message if developer is interested is much better.
>>>
>>> I think I would come down between the two of you. I definitely
>>> agree with Richard on don't sort them, just encourages drivers to
>>> be wrong. But I also agree with you, don't hard fail. I would
>>> vote for just print an error message and carry on. That way no
>>> regressions, but also a nice big warning message to let people
>>> know what is wrong when they see problems.
>>
>> I usually try to avoid alarming/annoying users with error messages, on
>> the other hand I agree that w/o some pressure, these will never be
>> corrected at root either ;)
>>
>> On the yet another hand, if the regcache have means to fix this, it
>> might be put into use as well.
>> A dev_warn at max to get attention or info level perhaps and fixing it
>> up?
>>
> I asked Codex (GPT5) to search for all reg_default tables with out-of
> order entries or duplicate entries, looking only at those assigned to
> struct regmap_config.reg_defaults (some reg_defaults tables are used for
> patching - those are allowed to be out-of-order).
> 
> It came up with this:
> 
> Restricting results to tables referenced by struct
> regmap_config.reg_defaults, 39 files violate the rule:

and some of these have duplicate addresses with different default values.

I can send more fixes while I'm at this for the clear cases, for Cirrus,
Realtek and TI I have sent few patches.

> 
>   drivers/firmware/cirrus/test/cs_dsp_mock_regmap.c
>   drivers/leds/leds-lp50xx.c
>   drivers/mfd/cs42l43.c
>   drivers/platform/mellanox/mlx-platform.c
>   drivers/power/supply/bq25980_charger.c
>   sound/soc/codecs/ad1836.c
>   sound/soc/codecs/adau1373.c
>   sound/soc/codecs/adau1761.c
>   sound/soc/codecs/adau1781.c
>   sound/soc/codecs/cs35l41-lib.c
>   sound/soc/codecs/cs35l45-tables.c
>   sound/soc/codecs/cs4265.c
>   sound/soc/codecs/cx2072x.c
>   sound/soc/codecs/lm49453.c
>   sound/soc/codecs/max9860.c
>   sound/soc/codecs/ml26124.c
>   sound/soc/codecs/msm8916-wcd-analog.c
>   sound/soc/codecs/pcm512x.c
>   sound/soc/codecs/pm4125-sdw.c
>   sound/soc/codecs/rt1019.c
>   sound/soc/codecs/rt1318.c
>   sound/soc/codecs/rt274.c
>   sound/soc/codecs/rt286.c
>   sound/soc/codecs/rt298.c
>   sound/soc/codecs/rt700-sdw.h
>   sound/soc/codecs/rt711-sdw.h
>   sound/soc/codecs/rt715-sdw.h
>   sound/soc/codecs/sgtl5000.c
>   sound/soc/codecs/sti-sas.c
>   sound/soc/codecs/tas2552.c
>   sound/soc/codecs/tas2764.c
>   sound/soc/codecs/tas2780.c
>   sound/soc/codecs/tas675x.c
>   sound/soc/codecs/wm8996.c
>   sound/soc/fsl/fsl_easrc.c
>   sound/soc/tegra/tegra210_admaif.c
>   sound/soc/tegra/tegra210_i2s.c
>   sound/soc/tegra/tegra210_mbdrc.c
>   sound/soc/tegra/tegra210_mixer.c
> 

-- 
Péter