int devm_snd_soc_register_component(struct device *dev,
                         const struct snd_soc_component_driver *component_driver,
                         struct snd_soc_dai_driver *dai_drv, int num_dai);
-void snd_soc_unregister_component(struct device *dev);
+#define snd_soc_unregister_component(dev) snd_soc_unregister_component_by_driver(dev, NULL)
 void snd_soc_unregister_component_by_driver(struct device *dev,
                         const struct snd_soc_component_driver *component_driver);
 struct snd_soc_component *snd_soc_lookup_component_nolocked(struct device *dev,
 
 void snd_soc_unregister_component_by_driver(struct device *dev,
                                            const struct snd_soc_component_driver *component_driver)
 {
-       struct snd_soc_component *component;
+       const char *driver_name = NULL;
 
-       if (!component_driver)
-               return;
+       if (component_driver)
+               driver_name = component_driver->name;
 
-       mutex_lock(&client_mutex);
-       component = snd_soc_lookup_component_nolocked(dev, component_driver->name);
-       if (!component)
-               goto out;
-
-       snd_soc_del_component_unlocked(component);
-
-out:
-       mutex_unlock(&client_mutex);
-}
-EXPORT_SYMBOL_GPL(snd_soc_unregister_component_by_driver);
-
-/**
- * snd_soc_unregister_component - Unregister all related component
- * from the ASoC core
- *
- * @dev: The device to unregister
- */
-void snd_soc_unregister_component(struct device *dev)
-{
        mutex_lock(&client_mutex);
        while (1) {
-               struct snd_soc_component *component = snd_soc_lookup_component_nolocked(dev, NULL);
+               struct snd_soc_component *component = snd_soc_lookup_component_nolocked(dev, driver_name);
 
                if (!component)
                        break;
        }
        mutex_unlock(&client_mutex);
 }
-EXPORT_SYMBOL_GPL(snd_soc_unregister_component);
+EXPORT_SYMBOL_GPL(snd_soc_unregister_component_by_driver);
 
 /* Retrieve a card's name from device tree */
 int snd_soc_of_parse_card_name(struct snd_soc_card *card,