From 75fe91933be2dd4b884ca83bd72e1e0f0d05cfc6 Mon Sep 17 00:00:00 2001 From: Aditya Bavanari Date: Tue, 2 Jun 2020 14:31:10 +0530 Subject: [PATCH] ANDROID: ASoC: core: add locked version of soc_find_component Add a locked version of the API to use from clients to ensure accessing component list safely. Change-Id: I73c7f2ed03b7e76f6816b62ba0974bc05bdbb4b4 Signed-off-by: Aditya Bavanari (cherry picked from commit 99b4176aaa40d18f46ae637a41578842e6c85abe) Signed-off-by: Will McVicker --- sound/soc/soc-core.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c index 2d88cc32440b..40080c121559 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c @@ -748,6 +748,28 @@ struct snd_soc_component *soc_find_component( } EXPORT_SYMBOL(soc_find_component); +/** + * soc_find_component_locked: soc_find_component with client lock acquired + * + * @of_node: of_node of the component to query. + * @name: name of the component to query. + * + * function to find out if a component is already registered with ASoC core. + * + * Returns component handle for success, else NULL error. + */ +struct snd_soc_component *soc_find_component_locked( + const struct device_node *of_node, const char *name) +{ + struct snd_soc_component *component = NULL; + + mutex_lock(&client_mutex); + component = soc_find_component(of_node, name); + mutex_unlock(&client_mutex); + return component; +} +EXPORT_SYMBOL(soc_find_component_locked); + /** * snd_soc_find_dai - Find a registered DAI *