
On Mon, Jul 09, 2018 at 01:34:42PM +0100, Srinivas Kandagatla wrote:
On 09/07/18 12:14, Mark Brown wrote:
+static const struct component_master_ops sdm845_ops = {
- .bind = sdm845_bind,
- .unbind = sdm845_unbind,
+};
Why is this using the component stuff rather than the normal support for finding the components of audio cards?
Could you elaborate this please? Do you mean something like snd_soc_lookup_component()? Or in general audio card binding during startup.
Just the normal audio card binding during startup.
AFAIU, The issue with that mechanism or EPROBEDEFER is that it works only for first time.. for the second time(restart usecase) there are no hooks like bind/unbind.
This is not the case, the card will be unbound at the ASoC level when any of the components are removed and then probed again when they reappear.
The reason why we chose to use component framework is because of bind and unbind functionality. Am more than happy to rework on this if there is already a alternative mechanism in ASoC which can provide this.
The component framework is a generalization of what ASoC does.