Commit f04bb4ca authored by Lucas Tanure's avatar Lucas Tanure Committed by Takashi Iwai

ALSA: hda: cs35l41: Put the device into safe mode for external boost

To facilitate the configuration of external boost devices, put all
devices, with or without VSPK switch, into safe mode from the start.
That allows the following parts of the driver to handle all external
boost devices in the same way.
Signed-off-by: default avatarLucas Tanure <tanureal@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20220413083728.10730-8-tanureal@opensource.cirrus.comSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent b8388a1a
......@@ -109,8 +109,6 @@ static const struct reg_sequence cs35l41_reset_to_safe[] = {
};
static const struct cs35l41_hda_reg_sequence cs35l41_hda_reg_seq_no_bst = {
.probe = cs35l41_reset_to_safe,
.num_probe = ARRAY_SIZE(cs35l41_reset_to_safe),
.prepare = cs35l41_safe_to_active,
.num_prepare = ARRAY_SIZE(cs35l41_safe_to_active),
.cleanup = cs35l41_active_to_safe,
......@@ -224,10 +222,15 @@ static int cs35l41_hda_apply_properties(struct cs35l41_hda *cs35l41)
return ret;
break;
case CS35L41_EXT_BOOST:
cs35l41->reg_seq = &cs35l41_hda_reg_seq_ext_bst;
break;
case CS35L41_EXT_BOOST_NO_VSPK_SWITCH:
cs35l41->reg_seq = &cs35l41_hda_reg_seq_no_bst;
if (hw_cfg->bst_type == CS35L41_EXT_BOOST)
cs35l41->reg_seq = &cs35l41_hda_reg_seq_ext_bst;
else
cs35l41->reg_seq = &cs35l41_hda_reg_seq_no_bst;
ret = regmap_multi_reg_write(cs35l41->regmap, cs35l41_reset_to_safe,
ARRAY_SIZE(cs35l41_reset_to_safe));
if (ret)
return ret;
break;
default:
dev_err(cs35l41->dev, "Boost type %d not supported\n", hw_cfg->bst_type);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment