[alsa-devel] [asoc:for-4.19 199/244] sound/soc/meson/axg-tdm-interface.c:225:8: error: implicit declaration of function 'clk_set_duty_cycle'
Hi Jerome,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-4.19 head: d8504acca759ae672c6d34d49a33d54ace094cbb commit: c41c2a355b86368608377eaf3df442ec0f342f1e [199/244] ASoC: meson: add tdm output driver config: openrisc-allyesconfig (attached as .config) compiler: or1k-linux-gcc (GCC) 6.0.0 20160327 (experimental) reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout c41c2a355b86368608377eaf3df442ec0f342f1e # save the attached .config to linux build tree make.cross ARCH=openrisc
All errors (new ones prefixed by >>):
sound/soc/meson/axg-tdm-interface.c: In function 'axg_tdm_iface_set_lrclk':
sound/soc/meson/axg-tdm-interface.c:225:8: error: implicit declaration of function 'clk_set_duty_cycle' [-Werror=implicit-function-declaration]
ret = clk_set_duty_cycle(iface->lrclk, ratio_num, 2); ^~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors
vim +/clk_set_duty_cycle +225 sound/soc/meson/axg-tdm-interface.c
d60e4f1e Jerome Brunet 2018-07-17 188 d60e4f1e Jerome Brunet 2018-07-17 189 static int axg_tdm_iface_set_lrclk(struct snd_soc_dai *dai, d60e4f1e Jerome Brunet 2018-07-17 190 struct snd_pcm_hw_params *params) d60e4f1e Jerome Brunet 2018-07-17 191 { d60e4f1e Jerome Brunet 2018-07-17 192 struct axg_tdm_iface *iface = snd_soc_dai_get_drvdata(dai); d60e4f1e Jerome Brunet 2018-07-17 193 unsigned int ratio_num; d60e4f1e Jerome Brunet 2018-07-17 194 int ret; d60e4f1e Jerome Brunet 2018-07-17 195 d60e4f1e Jerome Brunet 2018-07-17 196 ret = clk_set_rate(iface->lrclk, params_rate(params)); d60e4f1e Jerome Brunet 2018-07-17 197 if (ret) { d60e4f1e Jerome Brunet 2018-07-17 198 dev_err(dai->dev, "setting sample clock failed: %d\n", ret); d60e4f1e Jerome Brunet 2018-07-17 199 return ret; d60e4f1e Jerome Brunet 2018-07-17 200 } d60e4f1e Jerome Brunet 2018-07-17 201 d60e4f1e Jerome Brunet 2018-07-17 202 switch (iface->fmt & SND_SOC_DAIFMT_FORMAT_MASK) { d60e4f1e Jerome Brunet 2018-07-17 203 case SND_SOC_DAIFMT_I2S: d60e4f1e Jerome Brunet 2018-07-17 204 case SND_SOC_DAIFMT_LEFT_J: d60e4f1e Jerome Brunet 2018-07-17 205 case SND_SOC_DAIFMT_RIGHT_J: d60e4f1e Jerome Brunet 2018-07-17 206 /* 50% duty cycle ratio */ d60e4f1e Jerome Brunet 2018-07-17 207 ratio_num = 1; d60e4f1e Jerome Brunet 2018-07-17 208 break; d60e4f1e Jerome Brunet 2018-07-17 209 d60e4f1e Jerome Brunet 2018-07-17 210 case SND_SOC_DAIFMT_DSP_A: d60e4f1e Jerome Brunet 2018-07-17 211 case SND_SOC_DAIFMT_DSP_B: d60e4f1e Jerome Brunet 2018-07-17 212 /* d60e4f1e Jerome Brunet 2018-07-17 213 * A zero duty cycle ratio will result in setting the mininum d60e4f1e Jerome Brunet 2018-07-17 214 * ratio possible which, for this clock, is 1 cycle of the d60e4f1e Jerome Brunet 2018-07-17 215 * parent bclk clock high and the rest low, This is exactly d60e4f1e Jerome Brunet 2018-07-17 216 * what we want here. d60e4f1e Jerome Brunet 2018-07-17 217 */ d60e4f1e Jerome Brunet 2018-07-17 218 ratio_num = 0; d60e4f1e Jerome Brunet 2018-07-17 219 break; d60e4f1e Jerome Brunet 2018-07-17 220 d60e4f1e Jerome Brunet 2018-07-17 221 default: d60e4f1e Jerome Brunet 2018-07-17 222 return -EINVAL; d60e4f1e Jerome Brunet 2018-07-17 223 } d60e4f1e Jerome Brunet 2018-07-17 224 d60e4f1e Jerome Brunet 2018-07-17 @225 ret = clk_set_duty_cycle(iface->lrclk, ratio_num, 2); d60e4f1e Jerome Brunet 2018-07-17 226 if (ret) { d60e4f1e Jerome Brunet 2018-07-17 227 dev_err(dai->dev, d60e4f1e Jerome Brunet 2018-07-17 228 "setting sample clock duty cycle failed: %d\n", ret); d60e4f1e Jerome Brunet 2018-07-17 229 return ret; d60e4f1e Jerome Brunet 2018-07-17 230 } d60e4f1e Jerome Brunet 2018-07-17 231 d60e4f1e Jerome Brunet 2018-07-17 232 /* Set sample clock inversion */ d60e4f1e Jerome Brunet 2018-07-17 233 ret = clk_set_phase(iface->lrclk, d60e4f1e Jerome Brunet 2018-07-17 234 axg_tdm_lrclk_invert(iface->fmt) ? 180 : 0); d60e4f1e Jerome Brunet 2018-07-17 235 if (ret) { d60e4f1e Jerome Brunet 2018-07-17 236 dev_err(dai->dev, d60e4f1e Jerome Brunet 2018-07-17 237 "setting sample clock phase failed: %d\n", ret); d60e4f1e Jerome Brunet 2018-07-17 238 return ret; d60e4f1e Jerome Brunet 2018-07-17 239 } d60e4f1e Jerome Brunet 2018-07-17 240 d60e4f1e Jerome Brunet 2018-07-17 241 return 0; d60e4f1e Jerome Brunet 2018-07-17 242 } d60e4f1e Jerome Brunet 2018-07-17 243
:::::: The code at line 225 was first introduced by commit :::::: d60e4f1e4be5e2dfb55fb084b119aed094227a35 ASoC: meson: add tdm interface driver
:::::: TO: Jerome Brunet jbrunet@baylibre.com :::::: CC: Mark Brown broonie@kernel.org
--- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
participants (1)
-
kbuild test robot