After enabeling sound card drivers build getting failed


I’m using Jetpack 4.4 with r32.4.3 and Linux is 18.04
I have an interface TLV320ALC3204 with TX2i.
Enabled driver using make menuconfig
Device Drivers > Sound card support > Advanced Linux Sound Architecture > ALSA for SoC audio support > CODEC drivers
<*> Build all ASoC CODEC drivers
The reason is for selecting all asoc driver i need to enable **SND_SOC_TLV320AIC32X4_I2C [=n] Type : tristate **
Defined at sound/soc/codecs/Kconfig:855 **
** Depends on: SOUND [=y] && !M68K && !UML && SND [=y] && SND_SOC [=y] && I2C [=y] **
** Selects: SND_SOC_TLV320AIC32X4 [=n] **
** Selected by: SND_SOC_ALL_CODECS [=n] && SOUND [=y] && !M68K && !UML && SND [=y] && SND_SOC [=y] && COMPILE_TEST [=y] && I2C [=y]

So for this need to enable all the sound soc driver.
export ARCH=arm64
export CROSS_COMPILE=/home/parashuram/l4t-gcc/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
make ARCH=arm64 O=out -j32
Then getting the errors like this

…/drivers/dma/hsu/hsu.c:163:20: error: passing argument 1 of ‘spinlock_check’ from incompatible pointer type [-Werror=incompatible-pointer-types]
** spin_lock_irqsave(&hsuc->vchan.lock, flags);**

End of the build this error
LD drivers/gpu/built-in.o
/home/parashuram/Linux_for_Tegra/sources/kernel/kernel-4.9/Makefile:1104: recipe for target ‘drivers’ failed
make[1]: *** [drivers] Error 2
make[1]: Leaving directory '/home/parashuram/Linux_for_Tegra/sources/kernel/kernel-4.9/out’
Makefile:171: recipe for target ‘sub-make’ failed
make: *** [sub-make] Error 2

Please help me out this


This is what you want, and I have not attempted building sound drivers of any sort in a long time, but what configuration did you start with? For example, did you use “/proc/config.gz”, or “make tegra_defconfig”? I would expect extreme failure if this was not done first. Also, are you using a config editor, or just editing the “.config”? I recommend “make nconfig” since this allows searching for symbols.

If you see something requiring three prerequisite configs, then one of two things should happen: Either the editor should be able to automatically enable those other items when you enable the one you want, or else the missing items should be listed, and then you should enable each one (thus when you come back to the item it would then be possible to enable it). Enabling every sound card driver in existence is probably a “bad idea” (at least if you want to keep your sanity), although I don’t know if that is what the config actually does (it sounds like that is what the “Build all ASoC CODEC drivers” does…however, maybe due to some other config this isn’t so bad, but I would definitely suggest not building everything and instead building only what you need).

Do you have the option to build as a module ("m", not “y”)? If so, then your life will be much easier than if you answer “y”. Adding a module is a simple file copy. Replacing your entire kernel is much more involved. If you build just a module though, then you have to prepare ("make modules_prepare"…adjusted with other options though, that isn’t the full build command) first so configuration is complete prior to the build starting.

Hello Linuxdev,

Enabled driver using “make nconfig” this problem is solved.
Thanks for your support.