Re: [PATCH v2 10/10] iio: adc: mcp3911: add support to set PGA

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Marcus,

I love your patch! Perhaps something to improve:

[auto build test WARNING on jic23-iio/togreg]
[also build test WARNING on linus/master v5.19-rc3 next-20220624]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/intel-lab-lkp/linux/commits/Marcus-Folkesson/iio-adc-mcp3911-correct-microchip-device-addr-property/20220625-184118
base:   https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git togreg
config: i386-randconfig-a001
compiler: gcc-11 (Debian 11.3.0-3) 11.3.0
reproduce (this is a W=1 build):
        # https://github.com/intel-lab-lkp/linux/commit/def017eb4efc80ab515495d6eb7d59d142c0276d
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Marcus-Folkesson/iio-adc-mcp3911-correct-microchip-device-addr-property/20220625-184118
        git checkout def017eb4efc80ab515495d6eb7d59d142c0276d
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash drivers/iio/adc/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All warnings (new ones prefixed by >>):

   drivers/iio/adc/mcp3911.c: In function 'mcp3911_calc_scale_table':
>> drivers/iio/adc/mcp3911.c:305:13: warning: variable 'tmp0' set but not used [-Wunused-but-set-variable]
     305 |         int tmp0, tmp1;
         |             ^~~~
   drivers/iio/adc/mcp3911.c: At top level:
   drivers/iio/adc/mcp3911.c:366:22: warning: initialized field overwritten [-Woverride-init]
     366 |         MCP3911_CHAN(0),
         |                      ^
   drivers/iio/adc/mcp3911.c:347:31: note: in definition of macro 'MCP3911_CHAN'
     347 |                 .scan_index = idx,                              \
         |                               ^~~
   drivers/iio/adc/mcp3911.c:366:22: note: (near initialization for 'mcp3911_channels[0].scan_index')
     366 |         MCP3911_CHAN(0),
         |                      ^
   drivers/iio/adc/mcp3911.c:347:31: note: in definition of macro 'MCP3911_CHAN'
     347 |                 .scan_index = idx,                              \
         |                               ^~~
   drivers/iio/adc/mcp3911.c:367:22: warning: initialized field overwritten [-Woverride-init]
     367 |         MCP3911_CHAN(1),
         |                      ^
   drivers/iio/adc/mcp3911.c:347:31: note: in definition of macro 'MCP3911_CHAN'
     347 |                 .scan_index = idx,                              \
         |                               ^~~
   drivers/iio/adc/mcp3911.c:367:22: note: (near initialization for 'mcp3911_channels[1].scan_index')
     367 |         MCP3911_CHAN(1),
         |                      ^
   drivers/iio/adc/mcp3911.c:347:31: note: in definition of macro 'MCP3911_CHAN'
     347 |                 .scan_index = idx,                              \
         |                               ^~~


vim +/tmp0 +305 drivers/iio/adc/mcp3911.c

   299	
   300	static int mcp3911_calc_scale_table(struct mcp3911 *adc)
   301	{
   302		u32 ref = MCP3911_INT_VREF_MV;
   303		u32 div;
   304		int ret;
 > 305		int tmp0, tmp1;
   306		s64 tmp2;
   307	
   308		if (adc->vref) {
   309			ret = regulator_get_voltage(adc->vref);
   310			if (ret < 0) {
   311				dev_err(&adc->spi->dev,
   312					"failed to get vref voltage: %d\n",
   313				       ret);
   314				return ret;
   315			}
   316	
   317			ref = ret / 1000;
   318		}
   319	
   320		/*
   321		 * For 24bit Conversion
   322		 * Raw = ((Voltage)/(Vref) * 2^23 * Gain * 1.5
   323		 * Voltage = Raw * (Vref)/(2^23 * Gain * 1.5)
   324		 */
   325	
   326		/* ref = Reference voltage
   327		 * div = (2^23 * 1.5 * gain) = 12582912 * gain
   328		 */
   329		for (int i = 0; i < MCP3911_NUM_SCALES; i++) {
   330			div = 12582912 * BIT(i);
   331			tmp2 = div_s64((s64)ref * 1000000000LL, div);
   332			tmp1 = div;
   333			tmp0 = (int)div_s64_rem(tmp2, 1000000000, &tmp1);
   334	
   335			mcp3911_scale_table[i][0] = 0;
   336			mcp3911_scale_table[i][1] = tmp1;
   337		}
   338	
   339		return 0;
   340	}
   341	

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux