ASoC: core: add support to card rebind
authorSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
Wed, 12 Sep 2018 09:15:00 +0000 (10:15 +0100)
committerMark Brown <broonie@kernel.org>
Wed, 12 Sep 2018 10:09:04 +0000 (11:09 +0100)
commite894efef9ac7c10b7727798dcc711cccf07569f9
tree6d729a5ab1e1224afe4eb77ca06964be60cb85c6
parente1e38ea14ea3294546e6350d05a1376197a73589
ASoC: core: add support to card rebind

Current behaviour of ASoC core w.r.t to component removal is that it
unregisters dependent sound card totally. There is no support to
rebind the card if the component comes back.
Typical use case is DSP restart or kernel modules itself.

With this patch, core now maintains list of cards that are unbind due to
any of its depended components are removed and card not unregistered yet.
This list is cleared when the card is rebind successfully or when the
card is unregistered from machine driver.

This list of unbind cards are tried to bind once again after every new
component is successfully added, giving a fair chance for card bind
to be successful.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
include/sound/soc.h
sound/soc/soc-core.c