On 03/24/2014 12:18 PM, Charles Keepax wrote:
On Tue, Mar 18, 2014 at 09:02:11AM +0100, Lars-Peter Clausen wrote:
snd_soc_unregister_component() takes the parent device of the component as a parameter and then looks up the component based on this. This is a problem if multiple components are registered for the same parent device. Currently drivers do not do this, but some drivers register a CPU DAI component and a platform for the same parent device. This will become a problem once platforms are also made components. To make sure that snd_soc_unregister_component() will not accidentally unregister the platform in such a case only consider components that were registered with snd_soc_register_component(). This is only meant as short term stopgap solution to be able to continue componentisation. Long term we'll need something different.
Signed-off-by: Lars-Peter Clausen lars@metafoo.de
Do we have any thoughts on what might be a longer term solution here? Is the parent device actually the right thing to pass to snd_soc_unregister_component, it feels like that is probably not going to be enough to accurately identify the component?
Thanks, Charles
My plan is to let it take a pointer to the component itself. I'm just not too sure about the implementation details yet.
- Lars