tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: c3eb11fbb826879be773c137f281569efce67aa8 commit: 3bd975f3ae0a245e4b851c2b0c97b0a71e5359d6 ASoC: qcom: sm8250: move some code to common date: 9 weeks ago config: arc-buildonly-randconfig-r004-20221124 compiler: arceb-elf-gcc (GCC) 12.1.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=3bd975f3ae0a245e4b851c2b0c97b0a71e5359d6 git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git fetch --no-tags linus master git checkout 3bd975f3ae0a245e4b851c2b0c97b0a71e5359d6 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=arc SHELL=/bin/bash If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot All errors (new ones prefixed by >>): arceb-elf-ld: sound/soc/qcom/common.o: in function `qcom_snd_sdw_prepare': >> sound/soc/qcom/common.c:215: undefined reference to `sdw_prepare_stream' >> arceb-elf-ld: sound/soc/qcom/common.c:215: undefined reference to `sdw_prepare_stream' >> arceb-elf-ld: sound/soc/qcom/common.c:227: undefined reference to `sdw_enable_stream' >> arceb-elf-ld: sound/soc/qcom/common.c:227: undefined reference to `sdw_enable_stream' >> arceb-elf-ld: sound/soc/qcom/common.c:210: undefined reference to `sdw_disable_stream' >> arceb-elf-ld: sound/soc/qcom/common.c:210: undefined reference to `sdw_disable_stream' >> arceb-elf-ld: sound/soc/qcom/common.c:211: undefined reference to `sdw_deprepare_stream' >> arceb-elf-ld: sound/soc/qcom/common.c:211: undefined reference to `sdw_deprepare_stream' arceb-elf-ld: sound/soc/qcom/common.c:229: undefined reference to `sdw_deprepare_stream' arceb-elf-ld: sound/soc/qcom/common.c:229: undefined reference to `sdw_deprepare_stream' arceb-elf-ld: sound/soc/qcom/common.o: in function `qcom_snd_sdw_hw_free': >> sound/soc/qcom/common.c:285: undefined reference to `sdw_disable_stream' >> arceb-elf-ld: sound/soc/qcom/common.c:285: undefined reference to `sdw_disable_stream' arceb-elf-ld: sound/soc/qcom/common.c:286: undefined reference to `sdw_deprepare_stream' arceb-elf-ld: sound/soc/qcom/common.c:286: undefined reference to `sdw_deprepare_stream' pahole: .tmp_vmlinux.btf: No such file or directory .btf.vmlinux.bin.o: file not recognized: file format not recognized vim +215 sound/soc/qcom/common.c 182 183 #if IS_ENABLED(CONFIG_SOUNDWIRE) 184 int qcom_snd_sdw_prepare(struct snd_pcm_substream *substream, 185 struct sdw_stream_runtime *sruntime, 186 bool *stream_prepared) 187 { 188 struct snd_soc_pcm_runtime *rtd = substream->private_data; 189 struct snd_soc_dai *cpu_dai = asoc_rtd_to_cpu(rtd, 0); 190 int ret; 191 192 if (!sruntime) 193 return 0; 194 195 switch (cpu_dai->id) { 196 case WSA_CODEC_DMA_RX_0: 197 case WSA_CODEC_DMA_RX_1: 198 case RX_CODEC_DMA_RX_0: 199 case RX_CODEC_DMA_RX_1: 200 case TX_CODEC_DMA_TX_0: 201 case TX_CODEC_DMA_TX_1: 202 case TX_CODEC_DMA_TX_2: 203 case TX_CODEC_DMA_TX_3: 204 break; 205 default: 206 return 0; 207 } 208 209 if (*stream_prepared) { > 210 sdw_disable_stream(sruntime); > 211 sdw_deprepare_stream(sruntime); 212 *stream_prepared = false; 213 } 214 > 215 ret = sdw_prepare_stream(sruntime); 216 if (ret) 217 return ret; 218 219 /** 220 * NOTE: there is a strict hw requirement about the ordering of port 221 * enables and actual WSA881x PA enable. PA enable should only happen 222 * after soundwire ports are enabled if not DC on the line is 223 * accumulated resulting in Click/Pop Noise 224 * PA enable/mute are handled as part of codec DAPM and digital mute. 225 */ 226 > 227 ret = sdw_enable_stream(sruntime); 228 if (ret) { 229 sdw_deprepare_stream(sruntime); 230 return ret; 231 } 232 *stream_prepared = true; 233 234 return ret; 235 } 236 EXPORT_SYMBOL_GPL(qcom_snd_sdw_prepare); 237 238 int qcom_snd_sdw_hw_params(struct snd_pcm_substream *substream, 239 struct snd_pcm_hw_params *params, 240 struct sdw_stream_runtime **psruntime) 241 { 242 struct snd_soc_pcm_runtime *rtd = substream->private_data; 243 struct snd_soc_dai *codec_dai; 244 struct snd_soc_dai *cpu_dai = asoc_rtd_to_cpu(rtd, 0); 245 struct sdw_stream_runtime *sruntime; 246 int i; 247 248 switch (cpu_dai->id) { 249 case WSA_CODEC_DMA_RX_0: 250 case RX_CODEC_DMA_RX_0: 251 case RX_CODEC_DMA_RX_1: 252 case TX_CODEC_DMA_TX_0: 253 case TX_CODEC_DMA_TX_1: 254 case TX_CODEC_DMA_TX_2: 255 case TX_CODEC_DMA_TX_3: 256 for_each_rtd_codec_dais(rtd, i, codec_dai) { 257 sruntime = snd_soc_dai_get_stream(codec_dai, substream->stream); 258 if (sruntime != ERR_PTR(-ENOTSUPP)) 259 *psruntime = sruntime; 260 } 261 break; 262 } 263 264 return 0; 265 266 } 267 EXPORT_SYMBOL_GPL(qcom_snd_sdw_hw_params); 268 269 int qcom_snd_sdw_hw_free(struct snd_pcm_substream *substream, 270 struct sdw_stream_runtime *sruntime, bool *stream_prepared) 271 { 272 struct snd_soc_pcm_runtime *rtd = substream->private_data; 273 struct snd_soc_dai *cpu_dai = asoc_rtd_to_cpu(rtd, 0); 274 275 switch (cpu_dai->id) { 276 case WSA_CODEC_DMA_RX_0: 277 case WSA_CODEC_DMA_RX_1: 278 case RX_CODEC_DMA_RX_0: 279 case RX_CODEC_DMA_RX_1: 280 case TX_CODEC_DMA_TX_0: 281 case TX_CODEC_DMA_TX_1: 282 case TX_CODEC_DMA_TX_2: 283 case TX_CODEC_DMA_TX_3: 284 if (sruntime && *stream_prepared) { > 285 sdw_disable_stream(sruntime); 286 sdw_deprepare_stream(sruntime); 287 *stream_prepared = false; 288 } 289 break; 290 default: 291 break; 292 } 293 294 return 0; 295 } 296 EXPORT_SYMBOL_GPL(qcom_snd_sdw_hw_free); 297 #endif 298 -- 0-DAY CI Kernel Test Service https://01.org/lkp