diff mbox series

ASoC: soc-core: export function to find components

Message ID 1560844059-5897-1-git-send-email-bgoswami@codeaurora.org (mailing list archive)
State New, archived
Headers show
Series ASoC: soc-core: export function to find components | expand

Commit Message

Banajit Goswami June 18, 2019, 7:47 a.m. UTC
From: Banajit Goswami <bgoswami@codeaurora.org>

Drivers may need to use the ASoC core function to
find out whether a particular component is already
registered with ASoC core or not.
Export the function so that drivers can use it outside
of the file.

Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
---
 include/sound/soc.h  |  2 ++
 sound/soc/soc-core.c | 13 ++++++++++++-
 2 files changed, 14 insertions(+), 1 deletion(-)

Comments

Takashi Iwai June 18, 2019, 8:46 a.m. UTC | #1
On Tue, 18 Jun 2019 09:47:38 +0200,
bgoswami@codeaurora.org wrote:
> 
> From: Banajit Goswami <bgoswami@codeaurora.org>
> 
> Drivers may need to use the ASoC core function to
> find out whether a particular component is already
> registered with ASoC core or not.
> Export the function so that drivers can use it outside
> of the file.
> 
> Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
> ---
>  include/sound/soc.h  |  2 ++
>  sound/soc/soc-core.c | 13 ++++++++++++-
>  2 files changed, 14 insertions(+), 1 deletion(-)
> 
> diff --git a/include/sound/soc.h b/include/sound/soc.h
> index 482b4ea..def975f 100644
> --- a/include/sound/soc.h
> +++ b/include/sound/soc.h
> @@ -1405,6 +1405,8 @@ int snd_soc_component_update_bits_async(struct snd_soc_component *component,
>  void snd_soc_component_async_complete(struct snd_soc_component *component);
>  int snd_soc_component_test_bits(struct snd_soc_component *component,
>  	unsigned int reg, unsigned int mask, unsigned int value);
> +struct snd_soc_component *soc_find_component(
> +	const struct device_node *of_node, const char *name);
>  
>  /* component wide operations */
>  int snd_soc_component_set_sysclk(struct snd_soc_component *component,
> diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
> index 41c0cfa..50a9977 100644
> --- a/sound/soc/soc-core.c
> +++ b/sound/soc/soc-core.c
> @@ -741,7 +741,17 @@ int snd_soc_resume(struct device *dev)
>  static const struct snd_soc_dai_ops null_dai_ops = {
>  };
>  
> -static struct snd_soc_component *soc_find_component(
> +/**
> + * soc_find_component: find a component from component_list in ASoC core
> + *
> + * @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(
>  	const struct device_node *of_node, const char *name)
>  {
>  	struct snd_soc_component *component;
> @@ -764,6 +774,7 @@ static struct snd_soc_component *soc_find_component(
>  
>  	return NULL;
>  }
> +EXPORT_SYMBOL(soc_find_component);

Why not EXPORT_SYMBOL_GPL()?


thanks,

Takashi
Mark Brown June 18, 2019, 10:46 a.m. UTC | #2
On Tue, Jun 18, 2019 at 10:46:28AM +0200, Takashi Iwai wrote:
> bgoswami@codeaurora.org wrote:

> > Drivers may need to use the ASoC core function to
> > find out whether a particular component is already
> > registered with ASoC core or not.
> > Export the function so that drivers can use it outside
> > of the file.

Why might they need to do that?

> Why not EXPORT_SYMBOL_GPL()?

All the other ASoC exports are GPL, any new ones should be too.
diff mbox series

Patch

diff --git a/include/sound/soc.h b/include/sound/soc.h
index 482b4ea..def975f 100644
--- a/include/sound/soc.h
+++ b/include/sound/soc.h
@@ -1405,6 +1405,8 @@  int snd_soc_component_update_bits_async(struct snd_soc_component *component,
 void snd_soc_component_async_complete(struct snd_soc_component *component);
 int snd_soc_component_test_bits(struct snd_soc_component *component,
 	unsigned int reg, unsigned int mask, unsigned int value);
+struct snd_soc_component *soc_find_component(
+	const struct device_node *of_node, const char *name);
 
 /* component wide operations */
 int snd_soc_component_set_sysclk(struct snd_soc_component *component,
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index 41c0cfa..50a9977 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -741,7 +741,17 @@  int snd_soc_resume(struct device *dev)
 static const struct snd_soc_dai_ops null_dai_ops = {
 };
 
-static struct snd_soc_component *soc_find_component(
+/**
+ * soc_find_component: find a component from component_list in ASoC core
+ *
+ * @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(
 	const struct device_node *of_node, const char *name)
 {
 	struct snd_soc_component *component;
@@ -764,6 +774,7 @@  static struct snd_soc_component *soc_find_component(
 
 	return NULL;
 }
+EXPORT_SYMBOL(soc_find_component);
 
 static int snd_soc_is_matching_component(
 	const struct snd_soc_dai_link_component *dlc,