[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <943d10e2-299c-4393-f2f5-4ac8bbe400c3@linux.intel.com>
Date: Fri, 2 Nov 2018 09:56:52 -0500
From: Pierre-Louis Bossart <pierre-louis.bossart@...ux.intel.com>
To: Arnd Bergmann <arnd@...db.de>,
Liam Girdwood <liam.r.girdwood@...ux.intel.com>,
Jie Yang <yang.jie@...ux.intel.com>,
Mark Brown <broonie@...nel.org>
Cc: Jaroslav Kysela <perex@...ex.cz>, Takashi Iwai <tiwai@...e.com>,
Andy Shevchenko <andriy.shevchenko@...ux.intel.com>,
Vinod Koul <vkoul@...nel.org>,
Sriram Periyasamy <sriramx.periyasamy@...el.com>,
Rakesh Ughreja <rakesh.a.ughreja@...el.com>,
Guneshwor Singh <guneshwor.o.singh@...el.com>,
Naveen Manohar <naveen.m@...el.com>,
Pankaj Bharadiya <pankaj.laxminarayan.bharadiya@...el.com>,
Sanyog Kale <sanyog.r.kale@...el.com>,
alsa-devel@...a-project.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] ASoC: skl: always select SND_SOC_HDAC_HDA
On 11/2/18 6:24 AM, Arnd Bergmann wrote:
> The skylake sound support is written to work both with or without
> CONFIG_SND_SOC_HDAC_HDA, and uses an #ifdef to decide whether it should
> link against that. However, this fails with SND_SOC_ALL_CODECS=m or
> SND_SOC_INTEL_SKL_HDA_DSP_GENERIC_MACH=m when the Skylake support itself
> is built-in, with this link error:
>
> sound/soc/intel/skylake/skl.o: In function `skl_probe':
> skl.c:(.text+0x56c): undefined reference to `snd_soc_hdac_hda_get_ops'
>
> Using an explicit 'select' here simplifies the logic and prevents
> it from happening, at the cost of always including the compile
> time dependency.
Thanks Arnd for the report. I don't quite agree with the proposal, this
should be similar to HDAC_HDMI which is not selected by default, and
there's no reason to force the support for HDAudio when the vast
majority of Skylake+ devices which enable this driver don't have any
HDaudio codec.
Also the code is skl.c is already conditional, so this function should
not be required.
Do you have a config that fails, I'd like to look at this further.
>
> Signed-off-by: Arnd Bergmann <arnd@...db.de>
> ---
> sound/soc/intel/Kconfig | 1 +
> sound/soc/intel/skylake/skl.c | 2 --
> 2 files changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/sound/soc/intel/Kconfig b/sound/soc/intel/Kconfig
> index 0caa1f4eb94d..c21ce7624af1 100644
> --- a/sound/soc/intel/Kconfig
> +++ b/sound/soc/intel/Kconfig
> @@ -109,6 +109,7 @@ config SND_SOC_INTEL_SKYLAKE
> depends on PCI && ACPI
> select SND_HDA_EXT_CORE
> select SND_HDA_DSP_LOADER
> + select SND_SOC_HDAC_HDA
> select SND_SOC_TOPOLOGY
> select SND_SOC_INTEL_SST
> select SND_SOC_ACPI_INTEL_MATCH
> diff --git a/sound/soc/intel/skylake/skl.c b/sound/soc/intel/skylake/skl.c
> index 29225623b4b4..1069ee265ce5 100644
> --- a/sound/soc/intel/skylake/skl.c
> +++ b/sound/soc/intel/skylake/skl.c
> @@ -870,9 +870,7 @@ static int skl_create(struct pci_dev *pci,
> hbus = skl_to_hbus(skl);
> bus = skl_to_bus(skl);
>
> -#if IS_ENABLED(CONFIG_SND_SOC_HDAC_HDA)
> ext_ops = snd_soc_hdac_hda_get_ops();
> -#endif
> snd_hdac_ext_bus_init(bus, &pci->dev, &bus_core_ops, io_ops, ext_ops);
> bus->use_posbuf = 1;
> skl->pci = pci;
Powered by blists - more mailing lists