On Thu, 22 Sep 2022 08:50:17 +0800 kernel test robot wrote: > tree: https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git testing > head: d4e1a549566b9ea8b96e80f0cdcbe99714ac256e > commit: d4e1a549566b9ea8b96e80f0cdcbe99714ac256e [58/58] iio: adc: mcp3911: add support to set PGA > config: x86_64-randconfig-a012 > compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1) > reproduce (this is a W=1 build): > wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross > chmod +x ~/bin/make.cross > # https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git/commit/?id=d4e1a549566b9ea8b96e80f0cdcbe99714ac256e > git remote add jic23-iio https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git > git fetch --no-tags jic23-iio testing > git checkout d4e1a549566b9ea8b96e80f0cdcbe99714ac256e > # save the config file > mkdir build_dir && cp config build_dir/.config > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/iio/adc/ > > If you fix the issue, kindly add following tag where applicable > | Reported-by: kernel test robot > > All warnings (new ones prefixed by >>): > > >> drivers/iio/adc/mcp3911.c:274:6: warning: variable 'tmp0' set but not used [-Wunused-but-set-variable] > int tmp0, tmp1; > ^ > 1 warning generated. > > > vim +/tmp0 +274 drivers/iio/adc/mcp3911.c > > 268 > 269 static int mcp3911_calc_scale_table(struct mcp3911 *adc) > 270 { > 271 u32 ref = MCP3911_INT_VREF_MV; > 272 u32 div; > 273 int ret; > > 274 int tmp0, tmp1; > 275 s64 tmp2; > 276 > 277 if (adc->vref) { > 278 ret = regulator_get_voltage(adc->vref); > 279 if (ret < 0) { > 280 dev_err(&adc->spi->dev, > 281 "failed to get vref voltage: %d\n", > 282 ret); > 283 return ret; > 284 } > 285 > 286 ref = ret / 1000; > 287 } > 288 > 289 /* > 290 * For 24-bit Conversion > 291 * Raw = ((Voltage)/(Vref) * 2^23 * Gain * 1.5 > 292 * Voltage = Raw * (Vref)/(2^23 * Gain * 1.5) > 293 * > 294 * ref = Reference voltage > 295 * div = (2^23 * 1.5 * gain) = 12582912 * gain > 296 */ > 297 for (int i = 0; i < MCP3911_NUM_SCALES; i++) { > 298 div = 12582912 * BIT(i); > 299 tmp2 = div_s64((s64)ref * 1000000000LL, div); > 300 tmp1 = div; > 301 tmp0 = (int)div_s64_rem(tmp2, 1000000000, &tmp1); Marcus, I'm guessing the intent here is just to get the remainder. Hence fix is probably just to drop tmp0? If you confirm that I'll tweak the commit to do that. Jonathan > 302 > 303 mcp3911_scale_table[i][0] = 0; > 304 mcp3911_scale_table[i][1] = tmp1; > 305 } > 306 > 307 return 0; > 308 } > 309 >