Commit 2c3640b8 authored by Simon Trimmer's avatar Simon Trimmer Committed by Mark Brown

ASoC: cs35l56: Stop creating ALSA controls for firmware coefficients

A number of laptops have gone to market with old firmware versions that
export controls that have since been hidden, but we can't just install a
newer firmware because the firmware for each product is customized and
qualified by the OEM. The issue is that alsactl save and restore has no
idea what controls are good to persist which can lead to
misconfiguration.

There is no reason that the UCM or user should need to interact with any
of the ALSA controls for the firmware coefficients so they can be
removed entirely.

Fixes: e4961125 ("ASoC: cs35l56: Add driver for Cirrus Logic CS35L56")
Signed-off-by: default avatarSimon Trimmer <simont@opensource.cirrus.com>
Link: https://patch.msgid.link/20240805102721.30102-3-simont@opensource.cirrus.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent 45b4acab
...@@ -1095,6 +1095,11 @@ int cs35l56_system_resume(struct device *dev) ...@@ -1095,6 +1095,11 @@ int cs35l56_system_resume(struct device *dev)
} }
EXPORT_SYMBOL_GPL(cs35l56_system_resume); EXPORT_SYMBOL_GPL(cs35l56_system_resume);
static int cs35l56_control_add_nop(struct wm_adsp *dsp, struct cs_dsp_coeff_ctl *cs_ctl)
{
return 0;
}
static int cs35l56_dsp_init(struct cs35l56_private *cs35l56) static int cs35l56_dsp_init(struct cs35l56_private *cs35l56)
{ {
struct wm_adsp *dsp; struct wm_adsp *dsp;
...@@ -1117,6 +1122,12 @@ static int cs35l56_dsp_init(struct cs35l56_private *cs35l56) ...@@ -1117,6 +1122,12 @@ static int cs35l56_dsp_init(struct cs35l56_private *cs35l56)
dsp->fw = 12; dsp->fw = 12;
dsp->wmfw_optional = true; dsp->wmfw_optional = true;
/*
* None of the firmware controls need to be exported so add a no-op
* callback that suppresses creating an ALSA control.
*/
dsp->control_add = &cs35l56_control_add_nop;
dev_dbg(cs35l56->base.dev, "DSP system name: '%s'\n", dsp->system_name); dev_dbg(cs35l56->base.dev, "DSP system name: '%s'\n", dsp->system_name);
ret = wm_halo_init(dsp); ret = wm_halo_init(dsp);
......
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