diff options
Diffstat (limited to 'sound/soc/soc-devres.c')
-rw-r--r-- | sound/soc/soc-devres.c | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/sound/soc/soc-devres.c b/sound/soc/soc-devres.c deleted file mode 100644 index 3449c1e..0000000 --- a/sound/soc/soc-devres.c +++ /dev/null @@ -1,86 +0,0 @@ -/* - * soc-devres.c -- ALSA SoC Audio Layer devres functions - * - * Copyright (C) 2013 Linaro Ltd - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. - */ - -#include <linux/module.h> -#include <linux/moduleparam.h> -#include <sound/soc.h> - -static void devm_component_release(struct device *dev, void *res) -{ - snd_soc_unregister_component(*(struct device **)res); -} - -/** - * devm_snd_soc_register_component - resource managed component registration - * @dev: Device used to manage component - * @cmpnt_drv: Component driver - * @dai_drv: DAI driver - * @num_dai: Number of DAIs to register - * - * Register a component with automatic unregistration when the device is - * unregistered. - */ -int devm_snd_soc_register_component(struct device *dev, - const struct snd_soc_component_driver *cmpnt_drv, - struct snd_soc_dai_driver *dai_drv, int num_dai) -{ - struct device **ptr; - int ret; - - ptr = devres_alloc(devm_component_release, sizeof(*ptr), GFP_KERNEL); - if (!ptr) - return -ENOMEM; - - ret = snd_soc_register_component(dev, cmpnt_drv, dai_drv, num_dai); - if (ret == 0) { - *ptr = dev; - devres_add(dev, ptr); - } else { - devres_free(ptr); - } - - return ret; -} -EXPORT_SYMBOL_GPL(devm_snd_soc_register_component); - -static void devm_card_release(struct device *dev, void *res) -{ - snd_soc_unregister_card(*(struct snd_soc_card **)res); -} - -/** - * devm_snd_soc_register_card - resource managed card registration - * @dev: Device used to manage card - * @card: Card to register - * - * Register a card with automatic unregistration when the device is - * unregistered. - */ -int devm_snd_soc_register_card(struct device *dev, struct snd_soc_card *card) -{ - struct snd_soc_card **ptr; - int ret; - - ptr = devres_alloc(devm_card_release, sizeof(*ptr), GFP_KERNEL); - if (!ptr) - return -ENOMEM; - - ret = snd_soc_register_card(card); - if (ret == 0) { - *ptr = card; - devres_add(dev, ptr); - } else { - devres_free(ptr); - } - - return ret; -} -EXPORT_SYMBOL_GPL(devm_snd_soc_register_card); |