tree: https://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers.git topic/msiof-fifo head: 7b93d38b35516004a8e0863475297a7b47e7eec1 commit: d8dfe7cdd8980e08b9fae51ff9fcddac20eca22b [23/24] ASoC: renesas: msiof: Convert to <linux/spi/sh_msiof.h> config: hexagon-allmodconfig (https://download.01.org/0day-ci/archive/20250503/202505031216.aUF2iRLT-lkp@xxxxxxxxx/config) compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250503/202505031216.aUF2iRLT-lkp@xxxxxxxxx/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202505031216.aUF2iRLT-lkp@xxxxxxxxx/ All errors (new ones prefixed by >>): >> sound/soc/renesas/rcar/msiof.c:137:9: error: call to undeclared function 'FIELD_PREP'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 137 | FIELD_PREP(SIMDR1_SYNCMD, SIMDR1_SYNCMD_LR) | | ^ sound/soc/renesas/rcar/msiof.c:151:9: error: call to undeclared function 'FIELD_PREP'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 151 | val = FIELD_PREP(SIMDR1_SYNCMD, SIMDR1_SYNCMD_LR) | | ^ 2 errors generated. vim +/FIELD_PREP +137 sound/soc/renesas/rcar/msiof.c 107 108 static int msiof_hw_start(struct snd_soc_component *component, 109 struct snd_pcm_substream *substream, int cmd) 110 { 111 struct msiof_priv *priv = snd_soc_component_get_drvdata(component); 112 struct snd_pcm_runtime *runtime = substream->runtime; 113 int is_play = msiof_is_play(substream); 114 int width = snd_pcm_format_width(runtime->format); 115 u32 val; 116 117 /* 118 * see 119 * [NOTE] on top of this driver 120 */ 121 /* 122 * see 123 * Datasheet 109.3.6 [Transmit and Receive Procedures] 124 * 125 * TX: Fig 109.14 - Fig 109.23 126 * RX: Fig 109.15 127 */ 128 129 /* reset errors */ 130 priv->err_syc[substream->stream] = 131 priv->err_ovf[substream->stream] = 132 priv->err_udf[substream->stream] = 0; 133 134 /* SITMDRx */ 135 if (is_play) { 136 val = SITMDR1_PCON | > 137 FIELD_PREP(SIMDR1_SYNCMD, SIMDR1_SYNCMD_LR) | 138 SIMDR1_SYNCAC | SIMDR1_XXSTP; 139 if (msiof_flag_has(priv, MSIOF_FLAGS_NEED_DELAY)) 140 val |= FIELD_PREP(SIMDR1_DTDL, 1); 141 142 msiof_write(priv, SITMDR1, val); 143 144 val = FIELD_PREP(SIMDR2_BITLEN1, width - 1); 145 msiof_write(priv, SITMDR2, val | FIELD_PREP(SIMDR2_GRP, 1)); 146 msiof_write(priv, SITMDR3, val); 147 148 } 149 /* SIRMDRx */ 150 else { 151 val = FIELD_PREP(SIMDR1_SYNCMD, SIMDR1_SYNCMD_LR) | 152 SIMDR1_SYNCAC; 153 if (msiof_flag_has(priv, MSIOF_FLAGS_NEED_DELAY)) 154 val |= FIELD_PREP(SIMDR1_DTDL, 1); 155 156 msiof_write(priv, SIRMDR1, val); 157 158 val = FIELD_PREP(SIMDR2_BITLEN1, width - 1); 159 msiof_write(priv, SIRMDR2, val | FIELD_PREP(SIMDR2_GRP, 1)); 160 msiof_write(priv, SIRMDR3, val); 161 } 162 163 /* SIIER */ 164 if (is_play) 165 val = SIIER_TDREQE | SIIER_TDMAE | SISTR_ERR_TX; 166 else 167 val = SIIER_RDREQE | SIIER_RDMAE | SISTR_ERR_RX; 168 msiof_update(priv, SIIER, val, val); 169 170 /* SICTR */ 171 if (is_play) 172 val = SICTR_TXE | SICTR_TEDG; 173 else 174 val = SICTR_RXE | SICTR_REDG; 175 msiof_update_and_wait(priv, SICTR, val, val, val); 176 177 msiof_status_clear(priv); 178 179 /* Start DMAC */ 180 snd_dmaengine_pcm_trigger(substream, cmd); 181 182 return 0; 183 } 184 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki