Hi Damien.Horsley, [auto build test results on v4.3-rc3 -- if it's inappropriate base, please ignore] config: x86_64-allmodconfig (attached as .config) reproduce: git checkout 5037c15dd47c86ab337b73c7f9ffcabe1bb86f3b # save the attached .config to linux build tree make ARCH=x86_64 All warnings (new ones prefixed by >>): sound/soc/img/img-i2s-out.c:218:16: sparse: incorrect type in assignment (different base types) sound/soc/img/img-i2s-out.c:218:16: expected unsigned int [unsigned] format sound/soc/img/img-i2s-out.c:218:16: got restricted snd_pcm_format_t sound/soc/img/img-i2s-out.c:222:23: sparse: restricted snd_pcm_format_t degrades to integer sound/soc/img/img-i2s-out.c: In function 'img_i2s_out_hw_params': >> sound/soc/img/img-i2s-out.c:263:17: warning: large integer implicitly truncated to unsigned type [-Woverflow] control_mask = ~IMG_I2S_OUT_CTL_CLK_MASK & ^ sound/soc/img/img-i2s-out.c: In function 'img_i2s_out_set_fmt': sound/soc/img/img-i2s-out.c:336:17: warning: large integer implicitly truncated to unsigned type [-Woverflow] control_mask = ~IMG_I2S_OUT_CTL_CLK_EN_MASK & ^ sound/soc/img/img-i2s-out.c:341:22: warning: large integer implicitly truncated to unsigned type [-Woverflow] chan_control_mask = ~IMG_I2S_OUT_CHAN_CTL_CLKT_MASK; ^ sparse warnings: (new ones prefixed by >>) >> sound/soc/img/img-i2s-out.c:218:16: sparse: incorrect type in assignment (different base types) sound/soc/img/img-i2s-out.c:218:16: expected unsigned int [unsigned] format sound/soc/img/img-i2s-out.c:218:16: got restricted snd_pcm_format_t >> sound/soc/img/img-i2s-out.c:222:23: sparse: restricted snd_pcm_format_t degrades to integer sound/soc/img/img-i2s-out.c: In function 'img_i2s_out_hw_params': sound/soc/img/img-i2s-out.c:263:17: warning: large integer implicitly truncated to unsigned type [-Woverflow] control_mask = ~IMG_I2S_OUT_CTL_CLK_MASK & ^ sound/soc/img/img-i2s-out.c: In function 'img_i2s_out_set_fmt': sound/soc/img/img-i2s-out.c:336:17: warning: large integer implicitly truncated to unsigned type [-Woverflow] control_mask = ~IMG_I2S_OUT_CTL_CLK_EN_MASK & ^ sound/soc/img/img-i2s-out.c:341:22: warning: large integer implicitly truncated to unsigned type [-Woverflow] chan_control_mask = ~IMG_I2S_OUT_CHAN_CTL_CLKT_MASK; ^ vim +263 sound/soc/img/img-i2s-out.c 212 unsigned int channels, i2s_channels, format; 213 long pre_div_a, pre_div_b, diff_a, diff_b, rate, clk_rate; 214 int i; 215 u32 reg, control_reg, control_mask, control_set = 0; 216 217 rate = params_rate(params); > 218 format = params_format(params); 219 channels = params_channels(params); 220 i2s_channels = channels / 2; 221 > 222 if (format != SNDRV_PCM_FORMAT_S32_LE) 223 return -EINVAL; 224 225 if ((channels < 2) || 226 (channels > (i2s->max_i2s_chan * 2)) || 227 (channels % 2)) 228 return -EINVAL; 229 230 pre_div_a = clk_round_rate(i2s->clk_ref, rate * 256); 231 if (pre_div_a < 0) 232 return pre_div_a; 233 pre_div_b = clk_round_rate(i2s->clk_ref, rate * 384); 234 if (pre_div_b < 0) 235 return pre_div_b; 236 237 diff_a = abs((pre_div_a / 256) - rate); 238 diff_b = abs((pre_div_b / 384) - rate); 239 240 /* If diffs are equal, use lower clock rate */ 241 if (diff_a > diff_b) 242 clk_set_rate(i2s->clk_ref, pre_div_b); 243 else 244 clk_set_rate(i2s->clk_ref, pre_div_a); 245 246 /* 247 * Another driver (eg alsa machine driver) may have rejected the above 248 * change. Get the current rate and set the register bit according to 249 * the new minimum diff 250 */ 251 clk_rate = clk_get_rate(i2s->clk_ref); 252 253 diff_a = abs((clk_rate / 256) - rate); 254 diff_b = abs((clk_rate / 384) - rate); 255 256 if (diff_a > diff_b) 257 control_set |= IMG_I2S_OUT_CTL_CLK_MASK; 258 259 control_set |= (((i2s_channels - 1) << 260 IMG_I2S_OUT_CTL_ACTIVE_CHAN_SHIFT) & 261 IMG_I2S_OUT_CTL_ACTIVE_CHAN_MASK); 262 > 263 control_mask = ~IMG_I2S_OUT_CTL_CLK_MASK & 264 ~IMG_I2S_OUT_CTL_ACTIVE_CHAN_MASK; 265 266 control_reg = img_i2s_out_disable(i2s); --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: Binary data