[geert-renesas-drivers:topic/msiof-fifo 23/24] 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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux