[alsa-devel] [PATCH] ASoC: topology: Add Kconfig option for topology

Takashi Iwai tiwai at suse.de
Sat Aug 15 20:50:08 CEST 2015


On Sat, 15 Aug 2015 18:00:27 +0200,
Mark Brown wrote:
> 
> Allow the topology code to be compiled out so that users who don't need
> topology don't need to havve the code compiled in, saving them some
> memory.
> 
> Some more configuration could be added to remove some of the hooks into
> the core data structures but that is probably best done with some
> refactoring to use functions to do the updates of the data structures
> rather than ifdefing in the code as we'd need to do at the minute.
> 
> Suggested-by: Takashi Iwai <tiwai at suse.de>
> Signed-off-by: Mark Brown <broonie at kernel.org>
> ---
>  include/sound/soc-topology.h | 12 ++++++++++++
>  sound/soc/Kconfig            |  3 +++
>  sound/soc/Makefile           |  3 +++
>  3 files changed, 18 insertions(+)
> 
> diff --git a/include/sound/soc-topology.h b/include/sound/soc-topology.h
> index 865a141..427bc41 100644
> --- a/include/sound/soc-topology.h
> +++ b/include/sound/soc-topology.h
> @@ -141,6 +141,8 @@ struct snd_soc_tplg_ops {
>  	int io_ops_count;
>  };
>  
> +#ifdef CONFIG_SND_SOC_TOPOLOGY
> +
>  /* gets a pointer to data from the firmware block header */
>  static inline const void *snd_soc_tplg_get_data(struct snd_soc_tplg_hdr *hdr)
>  {
> @@ -165,4 +167,14 @@ int snd_soc_tplg_widget_bind_event(struct snd_soc_dapm_widget *w,
>  	const struct snd_soc_tplg_widget_events *events, int num_events,
>  	u16 event_type);
>  
> +#else
> +
> +static inline int snd_soc_tplg_component_remove(struct snd_soc_component *comp,
> +						u32 index)
> +{
> +	return 0;
> +}
> +
> +#endif
> +
>  #endif
> diff --git a/sound/soc/Kconfig b/sound/soc/Kconfig
> index 467ee1a..225bfda 100644
> --- a/sound/soc/Kconfig
> +++ b/sound/soc/Kconfig
> @@ -30,6 +30,9 @@ config SND_SOC_GENERIC_DMAENGINE_PCM
>  	bool
>  	select SND_DMAENGINE_PCM
>  
> +config SND_SOC_TOPOLOGY
> +	bool
> +
>  # All the supported SoCs
>  source "sound/soc/adi/Kconfig"
>  source "sound/soc/atmel/Kconfig"
> diff --git a/sound/soc/Makefile b/sound/soc/Makefile
> index 19fd711..134aca1 100644
> --- a/sound/soc/Makefile
> +++ b/sound/soc/Makefile
> @@ -1,6 +1,9 @@
>  snd-soc-core-objs := soc-core.o soc-dapm.o soc-jack.o soc-cache.o soc-utils.o
>  snd-soc-core-objs += soc-pcm.o soc-compress.o soc-io.o soc-devres.o soc-ops.o
> +
> +ifneq ($(CONFIG_SND_SOC_TOPOLOGY),)
>  snd-soc-core-objs += soc-topology.o
> +endif

This can be simplified like

snd-soc-core-$(CONFIG_SND_SOC_TOPOLOGY) += soc-topology.o


Takashi


More information about the Alsa-devel mailing list