summaryrefslogtreecommitdiffstats
path: root/include/sound
diff options
context:
space:
mode:
authorSrinivas Kandagatla <srinivas.kandagatla@linaro.org>2018-07-13 17:36:28 +0200
committerMark Brown <broonie@kernel.org>2018-07-18 14:08:15 +0200
commitbb4b894addb09a069c072a0a032f644cc470d17f (patch)
tree7174002b223011c545e5af3214b79049e5ca852d /include/sound
parentASoC: AMD: For capture have interrupts on I2S->ACP channel (diff)
downloadlinux-bb4b894addb09a069c072a0a032f644cc470d17f.tar.xz
linux-bb4b894addb09a069c072a0a032f644cc470d17f.zip
ASoC: core: add support to card re-bind using component framework
This patch aims at achieving dynamic behaviour of audio card when the dependent components disappear and reappear. With this patch the card is removed if any of the dependent component is removed and card is added back if the dependent component comes back. All this is done using component framework and matching based on component name. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Reviewed-by: Vinod Koul <vkoul@kernel.org> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'include/sound')
-rw-r--r--include/sound/soc.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/include/sound/soc.h b/include/sound/soc.h
index a4915148f739..a23ecdf3eff1 100644
--- a/include/sound/soc.h
+++ b/include/sound/soc.h
@@ -17,6 +17,7 @@
#include <linux/workqueue.h>
#include <linux/interrupt.h>
#include <linux/kernel.h>
+#include <linux/component.h>
#include <linux/regmap.h>
#include <linux/log2.h>
#include <sound/core.h>
@@ -1090,6 +1091,12 @@ struct snd_soc_card {
struct work_struct deferred_resume_work;
+ /* component framework related */
+ bool components_added;
+ /* set in machine driver to enable/disable auto re-binding */
+ bool auto_bind;
+ struct component_match *match;
+
/* lists of probed devices belonging to this card */
struct list_head component_dev_list;