OSDN Git Service

ALSA: hda: cs35l41: Avoid overwriting register patch
authorCharles Keepax <ckeepax@opensource.cirrus.com>
Mon, 17 Jan 2022 16:08:25 +0000 (16:08 +0000)
committerTakashi Iwai <tiwai@suse.de>
Tue, 18 Jan 2022 13:07:12 +0000 (14:07 +0100)
regmap_register_patch can't be used to apply the probe sequence as a
patch is already registers with the regmap by
cs35l41_register_errata_patch and only a single patch can be attached to
a single regmap. The driver doesn't currently rely on a cache sync to
re-apply this probe sequence so simply switch it to a multi write.

Fixes: 7b2f3eb492da ("ALSA: hda: cs35l41: Add support for CS35L41 in HDA systems")
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20220117160830.709403-1-tanureal@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/cs35l41_hda.c

index 30b40d8..c47c5f0 100644 (file)
@@ -480,7 +480,7 @@ int cs35l41_hda_probe(struct device *dev, const char *device_name, int id, int i
        acpi_hw_cfg = NULL;
 
        if (cs35l41->reg_seq->probe) {
-               ret = regmap_register_patch(cs35l41->regmap, cs35l41->reg_seq->probe,
+               ret = regmap_multi_reg_write(cs35l41->regmap, cs35l41->reg_seq->probe,
                                            cs35l41->reg_seq->num_probe);
                if (ret) {
                        dev_err(cs35l41->dev, "Fail to apply probe reg patch: %d\n", ret);