Re: [PATCH v5 1/4] iio: chemical: scd30: add core driver

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

 



Hi Tomasz,

I love your patch! Perhaps something to improve:

[auto build test WARNING on iio/togreg]
[also build test WARNING on robh/for-next linux/master v5.7]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    https://github.com/0day-ci/linux/commits/Tomasz-Duszynski/Add-support-for-SCD30-sensor/20200608-020304
base:   https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git togreg
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0

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


cppcheck warnings: (new ones prefixed by >>)

>> drivers/iio/chemical/scd30_core.c:93:31: warning: Clarify calculation precedence for '&' and '?'. [clarifyCalculation]
        sign = float32 & BIT(31) ? -1 : 1,
                                 ^

vim +93 drivers/iio/chemical/scd30_core.c

    87	
    88	/* simplified float to fixed point conversion with a scaling factor of 0.01 */
    89	static int scd30_float_to_fp(int float32)
    90	{
    91		int fraction, shift,
    92		    mantissa = float32 & GENMASK(22, 0),
  > 93		    sign = float32 & BIT(31) ? -1 : 1,
    94		    exp = (float32 & ~BIT(31)) >> 23;
    95	
    96		/* special case 0 */
    97		if (!exp && !mantissa)
    98			return 0;
    99	
   100		exp -= 127;
   101		if (exp < 0) {
   102			exp = -exp;
   103			/* return values ranging from 1 to 99 */
   104			return sign * ((((BIT(23) + mantissa) * 100) >> 23) >> exp);
   105		}
   106	
   107		/* return values starting at 100 */
   108		shift = 23 - exp;
   109		float32 = BIT(exp) + (mantissa >> shift);
   110		fraction = mantissa & GENMASK(shift - 1, 0);
   111	
   112		return sign * (float32 * 100 + ((fraction * 100) >> shift));
   113	}
   114	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx



[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