Re: [PATCH 0/3] ASoC: cs35l41/cs35l45/cs4265: sort the reg_defaults tables
Richard Fitzgerald <[email protected]> Wed, 5 Aug 2026 11:36:36 +0100
| Newsgroups | org.kernel.vger.linux-sound,org.kernel.vger.stable |
|---|---|
| Message-ID | <[email protected]> |
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: 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