[PATCH 2/2] ASoC: SOF: SND_INTEL_DSP_CONFIG dependency
Pierre-Louis Bossart
pierre-louis.bossart at linux.intel.com
Fri Jan 22 16:38:55 CET 2021
>> The sof-pci-dev driver fails to link when built into the kernel
>> and CONFIG_SND_INTEL_DSP_CONFIG is set to =m:
>>
>> arm-linux-gnueabi-ld: sound/soc/sof/sof-pci-dev.o: in function `sof_pci_probe':
>> sof-pci-dev.c:(.text+0x1c): undefined reference to `snd_intel_dsp_driver_probe'
>>
>> As a temporary fix, use IS_REACHABLE to prevent the problem from
>> happening. A more complete solution is to move this code to
>> Intel-specific parts, restructure the drivers and Kconfig as discussed
>> with Arnd Bergmann and Takashi Iwai.
>>
>> Fixes: 82d9d54a6c0e ("ALSA: hda: add Intel DSP configuration / probe code")
>> Reported-by: Arnd Bergmann <arnd at arndb.de>
>> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart at linux.intel.com>
>
> This might not be good enough. The code may still refer to the
> snd_intel_dsp_probe() symbol even if IS_REACHABLE() is false
> (although, practically seen, gcc should optimize it out).
>
> You need #if IS_REACHABLE() instead of the plain if.
> Then you don't need to change the indentation, and the patch will be
> eventually smaller, too :)
I used the if() on purpose since in the past you mentioned #if/#endif
are ugly. There are plenty of other cases in the kernel code where if(
IF_REACHABLE(CONFIG_XYZ)) is used...
I don't mind sending a v2, the net result is the same.
More information about the Alsa-devel
mailing list