[alsa-devel] Build regressions/improvements in v4.20-rc1 (sound/pci/hda/patch_ca0132.c)

Pierre-Louis Bossart pierre-louis.bossart at linux.intel.com
Wed Nov 7 01:56:39 AEDT 2018


>>>>
>>>> *** ERRORS ***
>>>>
>>>>    + /kisskb/src/sound/pci/hda/patch_ca0132.c: error: implicit declaration of function 'pci_iomap' [-Werror=implicit-function-declaration]:  => 8799:3
>>> sh4-all{mod,yes}config
>>>
>>> Looks like d9b84a15892c0233 ("ALSA: hda: Fix implicit definition of
>>> pci_iomap() on SH")
>>> is not sufficient?
>> Different problem.  This is about "select":
>>
>> config SND_SOC_ALL_CODECS
>>          tristate "Build all ASoC CODEC drivers"
>>
>> That enables (sets):
>>          select SND_SOC_HDAC_HDA
>> which selects SND_HDA even though CONFIG_PCI is not enabled.
>>
>> After SND_HDA is selected (above), the Kconfig symbols in
>> sound/pci/hda/Kconfig are available for enabling, so
>> SND_HDA_CODEC_CA0132 is enabled but will not build.
> Thanks for looking into this!
>
>> One simple solution (but possibly too naive) is:
>>
>> ---
>>   sound/soc/codecs/Kconfig |    2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> --- lnx-420-rc1.orig/sound/soc/codecs/Kconfig
>> +++ lnx-420-rc1/sound/soc/codecs/Kconfig
>> @@ -82,7 +82,7 @@ config SND_SOC_ALL_CODECS
>>          select SND_SOC_ES7241
>>          select SND_SOC_GTM601
>>          select SND_SOC_HDAC_HDMI
>> -       select SND_SOC_HDAC_HDA
>> +       select SND_SOC_HDAC_HDA if PCI
>>          select SND_SOC_ICS43432
>>          select SND_SOC_INNO_RK3036
>>          select SND_SOC_ISABELLE if I2C
> I guess that will work. There are already plenty of "select foo if bar" lines.
> However, looking at what else can enable SND_HDA, I think it should be
>
>      select SND_SOC_HDAC_HDA if SND_PCI || ARCH_TEGRA

This codec can only be used by the Skylake driver (and the upcoming SOF 
one). For Tegra this module will never be used unless they follow the 
same path of enabling ASoC to deal with the HDaudio codecs instead of 
the legacy.

Likewise HDAC_HDMI will only work on Intel platforms for now.

>
> That still leaves the issue that pci_iomap() on SH should be an empty stub if
> PCI is not available, like on other architectures.

I thought Mark Brown provided a fix to SH maintainers?




More information about the Linuxppc-dev mailing list