summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>2019-07-26 13:49:54 +0900
committerMark Brown <broonie@kernel.org>2019-08-05 16:17:15 +0100
commit4a81e8f30d0b422b7f10562952124d719f73b071 (patch)
treee0afbd3c1d38e30c26ac87743711b4e5f5d7235d /include
parent4ff1fef10f353b928bcc9d56d31fda53f2c43191 (diff)
downloadlinux-4a81e8f30d0b422b7f10562952124d719f73b071.tar.bz2
ASoC: soc-component: add snd_soc_component_get/put()
ALSA SoC is calling try_module_get()/module_put() based on component->driver->module_get_upon_open. To keep simple and readable code, we should create its function. This patch adds new snd_soc_component_get/put(). Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://lore.kernel.org/r/87h8795ro4.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'include')
-rw-r--r--include/sound/soc-component.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/include/sound/soc-component.h b/include/sound/soc-component.h
index a97d499e5d7a..a76cadf49a16 100644
--- a/include/sound/soc-component.h
+++ b/include/sound/soc-component.h
@@ -287,6 +287,19 @@ void snd_soc_component_init_regmap(struct snd_soc_component *component,
void snd_soc_component_exit_regmap(struct snd_soc_component *component);
#endif
+#define snd_soc_component_module_get_when_probe(component)\
+ snd_soc_component_module_get(component, 0)
+#define snd_soc_component_module_get_when_open(component) \
+ snd_soc_component_module_get(component, 1)
+int snd_soc_component_module_get(struct snd_soc_component *component,
+ int upon_open);
+#define snd_soc_component_module_put_when_remove(component) \
+ snd_soc_component_module_put(component, 0)
+#define snd_soc_component_module_put_when_close(component) \
+ snd_soc_component_module_put(component, 1)
+void snd_soc_component_module_put(struct snd_soc_component *component,
+ int upon_open);
+
static inline void snd_soc_component_set_drvdata(struct snd_soc_component *c,
void *data)
{