|
@@ -4010,6 +4010,18 @@ int snd_soc_register_component(struct device *dev,
|
|
|
}
|
|
|
EXPORT_SYMBOL_GPL(snd_soc_register_component);
|
|
|
|
|
|
+static void __snd_soc_unregister_component(struct snd_soc_component *cmpnt)
|
|
|
+{
|
|
|
+ snd_soc_unregister_dais(cmpnt);
|
|
|
+
|
|
|
+ mutex_lock(&client_mutex);
|
|
|
+ list_del(&cmpnt->list);
|
|
|
+ mutex_unlock(&client_mutex);
|
|
|
+
|
|
|
+ dev_dbg(cmpnt->dev, "ASoC: Unregistered component '%s'\n", cmpnt->name);
|
|
|
+ kfree(cmpnt->name);
|
|
|
+}
|
|
|
+
|
|
|
/**
|
|
|
* snd_soc_unregister_component - Unregister a component from the ASoC core
|
|
|
*
|
|
@@ -4025,14 +4037,7 @@ void snd_soc_unregister_component(struct device *dev)
|
|
|
return;
|
|
|
|
|
|
found:
|
|
|
- snd_soc_unregister_dais(cmpnt);
|
|
|
-
|
|
|
- mutex_lock(&client_mutex);
|
|
|
- list_del(&cmpnt->list);
|
|
|
- mutex_unlock(&client_mutex);
|
|
|
-
|
|
|
- dev_dbg(dev, "ASoC: Unregistered component '%s'\n", cmpnt->name);
|
|
|
- kfree(cmpnt->name);
|
|
|
+ __snd_soc_unregister_component(cmpnt);
|
|
|
}
|
|
|
EXPORT_SYMBOL_GPL(snd_soc_unregister_component);
|
|
|
|
|
@@ -4132,7 +4137,7 @@ EXPORT_SYMBOL_GPL(snd_soc_register_platform);
|
|
|
*/
|
|
|
void snd_soc_remove_platform(struct snd_soc_platform *platform)
|
|
|
{
|
|
|
- snd_soc_unregister_component(platform->dev);
|
|
|
+ __snd_soc_unregister_component(&platform->component);
|
|
|
|
|
|
mutex_lock(&client_mutex);
|
|
|
list_del(&platform->list);
|
|
@@ -4337,7 +4342,7 @@ void snd_soc_unregister_codec(struct device *dev)
|
|
|
return;
|
|
|
|
|
|
found:
|
|
|
- snd_soc_unregister_component(dev);
|
|
|
+ __snd_soc_unregister_component(&codec->component);
|
|
|
|
|
|
mutex_lock(&client_mutex);
|
|
|
list_del(&codec->list);
|