On Tue, 9 Jun 2020 04:18:56 +0800
kernel test robot <l...@intel.com> wrote:

> 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 <l...@intel.com>

I'll tidy this up whilst applying assuming nothing else comes up.
No comment on it's validity as a warning, but in my view it
is always squashing warnings to keep the noise low for any
more useful ones (as long as it's not too costly).

Jonathan

> 
> 
> 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-...@lists.01.org

Reply via email to