diff mbox series

[1/5] ALSA: hda: cs35l41: Avoid overwriting register patch

Message ID 20220113170728.1953559-1-tanureal@opensource.cirrus.com (mailing list archive)
State Deferred, archived
Headers show
Series [1/5] ALSA: hda: cs35l41: Avoid overwriting register patch | expand

Commit Message

Lucas Tanure Jan. 13, 2022, 5:07 p.m. UTC
From: Charles Keepax <ckeepax@opensource.cirrus.com>

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.

Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com>
---
 sound/pci/hda/cs35l41_hda.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Cezary Rojewski Jan. 14, 2022, 4:06 p.m. UTC | #1
On 2022-01-13 6:07 PM, Lucas Tanure wrote:
> From: Charles Keepax <ckeepax@opensource.cirrus.com>
> 
> 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.
> 
> Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
> Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com>

Please correct me if I'm wrong, but this change looks like a fix for the 
previously added commit:
ALSA: hda: cs35l41: Add support for CS35L41 in HDA systems

and so it would be good to append appropriate 'Fixes' tag here.

> ---
>   sound/pci/hda/cs35l41_hda.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/sound/pci/hda/cs35l41_hda.c b/sound/pci/hda/cs35l41_hda.c
> index 30b40d865863..c47c5f0b4e59 100644
> --- a/sound/pci/hda/cs35l41_hda.c
> +++ b/sound/pci/hda/cs35l41_hda.c
> @@ -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);
>
diff mbox series

Patch

diff --git a/sound/pci/hda/cs35l41_hda.c b/sound/pci/hda/cs35l41_hda.c
index 30b40d865863..c47c5f0b4e59 100644
--- a/sound/pci/hda/cs35l41_hda.c
+++ b/sound/pci/hda/cs35l41_hda.c
@@ -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);