ALSA: hda: cs35l41: Reorganize log for playback actions
authorLucas Tanure <tanureal@opensource.cirrus.com>
Wed, 13 Apr 2022 08:37:24 +0000 (09:37 +0100)
committerTakashi Iwai <tiwai@suse.de>
Wed, 13 Apr 2022 08:42:34 +0000 (10:42 +0200)
For each case, only log the last regmap access, so it doesn't get
overwritten, and as all regmap access should show the same issues
logging the last one should be enough.
Change to dev_err to log this error.

Also, differentiate between a regmap access failure and invalid
playback action.

Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20220413083728.10730-13-tanureal@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/cs35l41_hda.c

index ece784662dbda4edfc134f19a3e449d11245ef49..3294837ff6066c25a3dfcb73e36eee0991582686 100644 (file)
@@ -144,10 +144,9 @@ static void cs35l41_hda_playback_hook(struct device *dev, int action)
 
        switch (action) {
        case HDA_GEN_PCM_ACT_OPEN:
-               ret = regmap_multi_reg_write(reg, cs35l41_hda_config,
-                                            ARRAY_SIZE(cs35l41_hda_config));
-               regmap_update_bits(reg, CS35L41_PWR_CTRL2,
-                                  CS35L41_AMP_EN_MASK, 1 << CS35L41_AMP_EN_SHIFT);
+               regmap_multi_reg_write(reg, cs35l41_hda_config, ARRAY_SIZE(cs35l41_hda_config));
+               ret = regmap_update_bits(reg, CS35L41_PWR_CTRL2,
+                                        CS35L41_AMP_EN_MASK, 1 << CS35L41_AMP_EN_SHIFT);
                break;
        case HDA_GEN_PCM_ACT_PREPARE:
                ret = cs35l41_hda_global_enable(cs35l41, 1);
@@ -157,16 +156,16 @@ static void cs35l41_hda_playback_hook(struct device *dev, int action)
                ret = cs35l41_hda_global_enable(cs35l41, 0);
                break;
        case HDA_GEN_PCM_ACT_CLOSE:
-               regmap_update_bits(reg, CS35L41_PWR_CTRL2,
-                                  CS35L41_AMP_EN_MASK, 0 << CS35L41_AMP_EN_SHIFT);
+               ret = regmap_update_bits(reg, CS35L41_PWR_CTRL2,
+                                        CS35L41_AMP_EN_MASK, 0 << CS35L41_AMP_EN_SHIFT);
                break;
        default:
-               ret = -EINVAL;
+               dev_warn(cs35l41->dev, "Playback action not supported: %d\n", action);
                break;
        }
 
        if (ret)
-               dev_warn(cs35l41->dev, "Failed to apply multi reg write: %d\n", ret);
+               dev_err(cs35l41->dev, "Regmap access fail: %d\n", ret);
 }
 
 static int cs35l41_hda_channel_map(struct device *dev, unsigned int tx_num, unsigned int *tx_slot,