drivers/thermal/thermal_sysfs.c:794:9: warning: mixing declarations and code is a C99 extension

From: kernel test robot
Date: Sun May 08 2022 - 15:06:06 EST


tree: https://github.com/intel-lab-lkp/linux/commits/UPDATE-20220508-232600/Zhang-Rui/thermal-thermal_stats-skip-broken-trans_table/20220419-165035
head: a9158ddd9f2a97e356583d0bdb81c4e6822e6ad7
commit: a9158ddd9f2a97e356583d0bdb81c4e6822e6ad7 thermal/core: change mm alloc method to avoid kernel warning
date: 2 hours ago
config: riscv-randconfig-r042-20220508 (https://download.01.org/0day-ci/archive/20220509/202205090117.wVvKlfFv-lkp@xxxxxxxxx/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project a385645b470e2d3a1534aae618ea56b31177639f)
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
# install riscv cross compiling tool for clang build
# apt-get install binutils-riscv64-linux-gnu
# https://github.com/intel-lab-lkp/linux/commit/a9158ddd9f2a97e356583d0bdb81c4e6822e6ad7
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review UPDATE-20220508-232600/Zhang-Rui/thermal-thermal_stats-skip-broken-trans_table/20220419-165035
git checkout a9158ddd9f2a97e356583d0bdb81c4e6822e6ad7
# 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=riscv SHELL=/bin/bash drivers/thermal/

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

All warnings (new ones prefixed by >>):

>> drivers/thermal/thermal_sysfs.c:794:9: warning: mixing declarations and code is a C99 extension [-Wdeclaration-after-statement]
int l = min, r = max, mid, cnt = 0;
^
1 warning generated.


vim +794 drivers/thermal/thermal_sysfs.c

785
786 static int find_show_state( int *nums, int numsSize, int k, unsigned int *max_value)
787 {
788 int i, min = INT_MAX, max = 0;
789 for( i = 0; i < numsSize; ++i )
790 {
791 min = nums[i] < min ? nums[i] : min;
792 max = nums[i] > max ? nums[i] : max;
793 }
> 794 int l = min, r = max, mid, cnt = 0;
795 while( l < r )
796 {
797 mid = r - (r - l) / 2;
798 for( i = 0; i < numsSize; ++i )
799 {
800 if( nums[i] >= mid )
801 ++cnt;
802 }
803 if( cnt < k )
804 {
805 r = mid - 1;
806 cnt = 0;
807 }
808 else
809 {
810 l = mid;
811 cnt = 0;
812 }
813 }
814 *max_value = max;
815 return l;
816 }
817

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