Hi Ben,
I love your patch! Yet something to improve:
[auto build test ERROR on linus/master] [cannot apply to v5.3 next-20190916] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/Ben-Dooks/ASoC-tegra-Add-a-TDM-conf... config: mips-allmodconfig (attached as .config) compiler: mips-linux-gcc (GCC) 7.4.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=7.4.0 make.cross ARCH=mips
If you fix the issue, kindly add following tag Reported-by: kbuild test robot lkp@intel.com
All errors (new ones prefixed by >>):
sound/soc/tegra/tegra30_i2s.c: In function 'tegra30_i2s_set_fmt':
sound/soc/tegra/tegra30_i2s.c:121:63: error: macro "regmap_update_bits" requires 4 arguments, but only 3 given
i2s->is_tdm ? TEGRA30_I2S_CH_CTRL_EGDE_CTRL_NEG_EDGE : 0); ^
sound/soc/tegra/tegra30_i2s.c:120:2: error: 'regmap_update_bits' undeclared (first use in this function); did you mean 'regmap_update_bits_base'?
regmap_update_bits(i2s->regmap, TEGRA30_I2S_CH_CTRL_EGDE_CTRL_MASK, ^~~~~~~~~~~~~~~~~~ regmap_update_bits_base sound/soc/tegra/tegra30_i2s.c:120:2: note: each undeclared identifier is reported only once for each function it appears in
vim +/regmap_update_bits +121 sound/soc/tegra/tegra30_i2s.c
64 65 static int tegra30_i2s_set_fmt(struct snd_soc_dai *dai, 66 unsigned int fmt) 67 { 68 struct tegra30_i2s *i2s = snd_soc_dai_get_drvdata(dai); 69 unsigned int mask = 0, val = 0; 70 71 switch (fmt & SND_SOC_DAIFMT_INV_MASK) { 72 case SND_SOC_DAIFMT_NB_NF: 73 break; 74 default: 75 return -EINVAL; 76 } 77 78 mask |= TEGRA30_I2S_CTRL_MASTER_ENABLE; 79 switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) { 80 case SND_SOC_DAIFMT_CBS_CFS: 81 val |= TEGRA30_I2S_CTRL_MASTER_ENABLE; 82 break; 83 case SND_SOC_DAIFMT_CBM_CFM: 84 break; 85 default: 86 return -EINVAL; 87 } 88 89 i2s->is_tdm = false; 90 mask |= TEGRA30_I2S_CTRL_FRAME_FORMAT_MASK | 91 TEGRA30_I2S_CTRL_LRCK_MASK; 92 switch (fmt & SND_SOC_DAIFMT_FORMAT_MASK) { 93 case SND_SOC_DAIFMT_DSP_A: 94 i2s->is_tdm = true; 95 val |= TEGRA30_I2S_CTRL_FRAME_FORMAT_FSYNC; 96 val |= TEGRA30_I2S_CTRL_LRCK_L_LOW; 97 break; 98 case SND_SOC_DAIFMT_DSP_B: 99 i2s->is_tdm = true; 100 val |= TEGRA30_I2S_CTRL_FRAME_FORMAT_FSYNC; 101 val |= TEGRA30_I2S_CTRL_LRCK_R_LOW; 102 break; 103 case SND_SOC_DAIFMT_I2S: 104 val |= TEGRA30_I2S_CTRL_FRAME_FORMAT_LRCK; 105 val |= TEGRA30_I2S_CTRL_LRCK_L_LOW; 106 break; 107 case SND_SOC_DAIFMT_RIGHT_J: 108 val |= TEGRA30_I2S_CTRL_FRAME_FORMAT_LRCK; 109 val |= TEGRA30_I2S_CTRL_LRCK_L_LOW; 110 break; 111 case SND_SOC_DAIFMT_LEFT_J: 112 val |= TEGRA30_I2S_CTRL_FRAME_FORMAT_LRCK; 113 val |= TEGRA30_I2S_CTRL_LRCK_L_LOW; 114 break; 115 default: 116 return -EINVAL; 117 } 118 119 pm_runtime_get_sync(dai->dev);
120 regmap_update_bits(i2s->regmap, TEGRA30_I2S_CH_CTRL_EGDE_CTRL_MASK, 121 i2s->is_tdm ? TEGRA30_I2S_CH_CTRL_EGDE_CTRL_NEG_EDGE : 0);
122 regmap_update_bits(i2s->regmap, TEGRA30_I2S_CTRL, mask, val); 123 pm_runtime_put(dai->dev); 124 125 return 0; 126 } 127
--- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation