aboutsummaryrefslogtreecommitdiffstats
path: root/include/sound
diff options
context:
space:
mode:
authorMartin Povišer <povik+lin@cutebit.org>2022-06-06 21:19:09 +0200
committerMark Brown <broonie@kernel.org>2022-06-10 13:32:20 +0100
commitdf4d27b19b892f464685ea45fa6132dd1a2b6864 (patch)
tree4d223e42bcc2f1ea4fbf2d78a38f06a63260db2a /include/sound
parentASoC: imx-audmux: remove unnecessary check of clk_disable_unprepare/clk_prepare_enable (diff)
downloadlinux-dev-df4d27b19b892f464685ea45fa6132dd1a2b6864.tar.xz
linux-dev-df4d27b19b892f464685ea45fa6132dd1a2b6864.zip
ASoC: Introduce 'fixup_controls' card method
The new method is called just before the card is registered, providing an opportune time for machine-level drivers to do some final controls amending: deactivating individual controls or obtaining control references for later use. Some controls can be created by DAPM after 'late_probe' has been called, hence the need for this new method. Signed-off-by: Martin Povišer <povik+lin@cutebit.org> Link: https://lore.kernel.org/r/20220606191910.16580-5-povik+lin@cutebit.org Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'include/sound')
-rw-r--r--include/sound/soc-card.h1
-rw-r--r--include/sound/soc.h1
2 files changed, 2 insertions, 0 deletions
diff --git a/include/sound/soc-card.h b/include/sound/soc-card.h
index df08573bd80c..9d31a5c0db33 100644
--- a/include/sound/soc-card.h
+++ b/include/sound/soc-card.h
@@ -29,6 +29,7 @@ int snd_soc_card_resume_post(struct snd_soc_card *card);
int snd_soc_card_probe(struct snd_soc_card *card);
int snd_soc_card_late_probe(struct snd_soc_card *card);
+void snd_soc_card_fixup_controls(struct snd_soc_card *card);
int snd_soc_card_remove(struct snd_soc_card *card);
int snd_soc_card_set_bias_level(struct snd_soc_card *card,
diff --git a/include/sound/soc.h b/include/sound/soc.h
index f20f5f890794..faef85e37e32 100644
--- a/include/sound/soc.h
+++ b/include/sound/soc.h
@@ -916,6 +916,7 @@ struct snd_soc_card {
int (*probe)(struct snd_soc_card *card);
int (*late_probe)(struct snd_soc_card *card);
+ void (*fixup_controls)(struct snd_soc_card *card);
int (*remove)(struct snd_soc_card *card);
/* the pre and post PM functions are used to do any PM work before and