[alsa-devel] [PATCH v4] ASoC: soc-compress: add config item for soc-compress to make it compiled only when needed
Charles Keepax
ckeepax at opensource.wolfsonmicro.com
Wed Oct 14 11:20:51 CEST 2015
On Tue, Oct 13, 2015 at 11:41:00PM +0800, Jie Yang wrote:
> We don't always need soc-compress in soc, here add a config item
> SND_SOC_COMPRESS, when nobody select it, the soc-compress will
> not be compiled.
>
> Here also change Kconfig to 'select SND_SOC_COMPRESS' for drivers
> that needed soc-compress.
>
> Signed-off-by: Jie Yang <yang.jie at intel.com>
> ---
> include/sound/soc-dai.h | 2 +-
> include/sound/soc.h | 4 +++-
> sound/soc/Kconfig | 5 ++++-
> sound/soc/Makefile | 3 ++-
> sound/soc/intel/Kconfig | 1 +
> sound/soc/intel/atom/sst-mfld-platform-pcm.c | 2 +-
> sound/soc/soc-compress.c | 12 ++++++++++--
> sound/soc/soc-core.c | 4 ++--
> 8 files changed, 24 insertions(+), 9 deletions(-)
>
> diff --git a/include/sound/soc-dai.h b/include/sound/soc-dai.h
> index 2df96b1..238200f 100644
> --- a/include/sound/soc-dai.h
> +++ b/include/sound/soc-dai.h
> @@ -214,7 +214,7 @@ struct snd_soc_dai_driver {
> int (*suspend)(struct snd_soc_dai *dai);
> int (*resume)(struct snd_soc_dai *dai);
> /* compress dai */
> - bool compress_dai;
> + int (*compress_new)(struct snd_soc_pcm_runtime *rtd, int num);
This feels a little awkward to be using a function pointer here.
It somewhat implies I might want to customise this function but
am I every going to want to set this to something other than
snd_soc_new_compress?
> diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
> index 3b471f9..24b0960 100644
> --- a/sound/soc/soc-core.c
> +++ b/sound/soc/soc-core.c
> @@ -1370,9 +1370,9 @@ static int soc_probe_link_dais(struct snd_soc_card *card, int num, int order)
> soc_dpcm_debugfs_add(rtd);
> #endif
>
> - if (cpu_dai->driver->compress_dai) {
> + if (cpu_dai->driver->compress_new) {
Would it maybe be nicer to just change this to:
if (IS_ENABLED(..)) && cpu_dai...)
Anyone else have any thoughts on that?
> /*create compress_device"*/
> - ret = soc_new_compress(rtd, num);
> + ret = cpu_dai->driver->compress_new(rtd, num);
> if (ret < 0) {
> dev_err(card->dev, "ASoC: can't create compress %s\n",
> dai_link->stream_name);
Thanks,
Charles
More information about the Alsa-devel
mailing list