I am upgrading the kernel from 3.10.17 to 4.1.15, as a part of these i upgraded yocto to Jethro. We have lot of custom drivers(i2c,spi, audio etc) and these drivers are build in yocto using external module build procedure. In Jethro, i am able to build all modules except audio driver. In the build time it shows a warning message but the .ko is created.
WARNING: "imx_audmux_v2_configure_port" [/home/shabeer/tata-build_4.1.15_last/tmp/work/lytxlcflex4115-poky-linux-gnueabi/lcflex-drivers/0.1-r0/home/shabeer/lytxrepo_4.1.15_snd/Flex-NewKernel-Collaboration/extra_src/lcflex-drivers/audio-mems/mems_audio.ko] undefined!
While inserting the driver shows below logs.
mems_audio: no symbol version for imx_audmux_v2_configure_port
mems_audio: Unknown symbol imx_audmux_v2_configure_port (err -22)
These drivers are build and loaded in previous yocto (Dizzy) without any issue. I believe it is a yocto related issue because the .ko are created and loaded successfully when we build the audio driver by put the source code inside the 4.1.15 kernel source (location - src/sound/soc/fsl). Also one difference i noticed, in Dizzy yocto the kernel headers are seen in the YOCTO location - tmp/sysroots/<MACHINE>/usr/src/kernel but not in Jethro.
Could any one help up to solve this?