[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'

kbuild test robot lkp at intel.com
Tue Jul 31 09:46:40 CEST 2018


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 at baylibre.com>
:::::: CC: Mark Brown <broonie at kernel.org>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 45581 bytes
Desc: not available
URL: <http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20180731/6a5f3b8e/attachment-0001.bin>


More information about the Alsa-devel mailing list