CC: [email protected] CC: [email protected] CC: [email protected] TO: Eugen Hristev <[email protected]> CC: Hans Verkuil <[email protected]>
tree: git://linuxtv.org/hverkuil/media_tree.git for-v5.18b head: 3ea6bb332746a4cf91c93695855447ba996d99fc commit: a3f86357d1892ac46d799cba03fdf9020e5000d7 [76/92] media: atmel: atmel-isc: split the clock code into separate source file :::::: branch date: 3 days ago :::::: commit date: 3 days ago config: riscv-randconfig-c006-20220111 (https://download.01.org/0day-ci/archive/20220114/[email protected]/config) compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 244dd2913a43a200f5a6544d424cdc37b771028b) 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 git remote add hverkuil-media-tree git://linuxtv.org/hverkuil/media_tree.git git fetch --no-tags hverkuil-media-tree for-v5.18b git checkout a3f86357d1892ac46d799cba03fdf9020e5000d7 # save the config file to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=riscv clang-analyzer If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <[email protected]> clang-analyzer warnings: (new ones prefixed by >>) 2 warnings generated. Suppressed 2 warnings (2 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 2 warnings generated. Suppressed 2 warnings (2 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 2 warnings generated. Suppressed 2 warnings (2 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 2 warnings generated. Suppressed 2 warnings (2 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. drivers/input/rmi4/rmi_f11.c:1129:2: warning: Value stored to 'query_offset' is never read [clang-analyzer-deadcode.DeadStores] query_offset += rc; ^ ~~ drivers/input/rmi4/rmi_f11.c:1129:2: note: Value stored to 'query_offset' is never read query_offset += rc; ^ ~~ Suppressed 2 warnings (2 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 4 warnings generated. drivers/media/i2c/mt9v111.c:492:13: warning: Although the value stored to 'vb' is used in the enclosing expression, the value is never actually read from 'vb' [clang-analyzer-deadcode.DeadStores] best_fps = vb = hb = 0; ^ ~~~~~~ drivers/media/i2c/mt9v111.c:492:13: note: Although the value stored to 'vb' is used in the enclosing expression, the value is never actually read from 'vb' best_fps = vb = hb = 0; ^ ~~~~~~ Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 2 warnings generated. Suppressed 2 warnings (2 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 2 warnings generated. Suppressed 2 warnings (2 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 2 warnings generated. Suppressed 2 warnings (2 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 2 warnings generated. Suppressed 2 warnings (2 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 4 warnings generated. drivers/input/keyboard/lm8323.c:333:3: warning: Value stored to 'active' is never read [clang-analyzer-deadcode.DeadStores] active = debounce + 3; ^ ~~~~~~~~~~~~ drivers/input/keyboard/lm8323.c:333:3: note: Value stored to 'active' is never read active = debounce + 3; ^ ~~~~~~~~~~~~ Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 2 warnings generated. Suppressed 2 warnings (2 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 4 warnings generated. drivers/media/platform/xilinx/xilinx-csi2rxss.c:580:4: warning: Value stored to 'spkt' is never read [clang-analyzer-deadcode.DeadStores] spkt = xcsi2rxss_read(state, XCSI_SPKTR_OFFSET); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/media/platform/xilinx/xilinx-csi2rxss.c:580:4: note: Value stored to 'spkt' is never read spkt = xcsi2rxss_read(state, XCSI_SPKTR_OFFSET); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 4 warnings generated. >> drivers/media/platform/atmel/atmel-isc-clk.c:125:18: warning: Value stored >> to 'isc_clk' during its initialization is never read >> [clang-analyzer-deadcode.DeadStores] struct isc_clk *isc_clk = to_isc_clk(hw); ^~~~~~~ drivers/media/platform/atmel/atmel-isc-clk.c:125:18: note: Value stored to 'isc_clk' during its initialization is never read struct isc_clk *isc_clk = to_isc_clk(hw); ^~~~~~~ Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 2 warnings generated. Suppressed 2 warnings (2 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 3 warnings generated. drivers/iio/adc/ingenic-adc.c:658:3: warning: 3rd function call argument is an uninitialized value [clang-analyzer-core.CallAndMessage] ingenic_adc_set_config(adc, JZ_ADC_REG_CFG_AUX_MD, cmd); ^ drivers/iio/adc/ingenic-adc.c:692:2: note: Control jumps to 'case IIO_CHAN_INFO_RAW:' at line 693 switch (m) { ^ drivers/iio/adc/ingenic-adc.c:694:10: note: Calling 'ingenic_adc_read_chan_info_raw' return ingenic_adc_read_chan_info_raw(iio_dev, chan, val); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/iio/adc/ingenic-adc.c:633:6: note: 'cmd' declared without an initial value int cmd, ret, engine = (chan->channel == INGENIC_ADC_BATTERY); ^~~ drivers/iio/adc/ingenic-adc.c:633:26: note: Assuming field 'channel' is not equal to INGENIC_ADC_BATTERY int cmd, ret, engine = (chan->channel == INGENIC_ADC_BATTERY); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/iio/adc/ingenic-adc.c:637:2: note: Assuming 'ret' is 0 if (ret) { ^ include/linux/compiler.h:56:45: note: expanded from macro 'if' #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) ) ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler.h:58:52: note: expanded from macro '__trace_if_var' #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond)) ^~~~ drivers/iio/adc/ingenic-adc.c:637:2: note: '?' condition is false if (ret) { ^ include/linux/compiler.h:56:28: note: expanded from macro 'if' #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) ) ^ include/linux/compiler.h:58:31: note: expanded from macro '__trace_if_var' #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond)) ^ drivers/iio/adc/ingenic-adc.c:637:6: note: 'ret' is 0 if (ret) { ^ include/linux/compiler.h:56:47: note: expanded from macro 'if' #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) ) ^~~~ include/linux/compiler.h:58:86: note: expanded from macro '__trace_if_var' #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond)) ^~~~ include/linux/compiler.h:69:3: note: expanded from macro '__trace_if_value' (cond) ? \ ^~~~ drivers/iio/adc/ingenic-adc.c:637:2: note: '?' condition is false if (ret) { ^ include/linux/compiler.h:56:28: note: expanded from macro 'if' #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) ) ^ include/linux/compiler.h:58:69: note: expanded from macro '__trace_if_var' #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond)) ^ include/linux/compiler.h:69:2: note: expanded from macro '__trace_if_value' (cond) ? \ ^ drivers/iio/adc/ingenic-adc.c:637:2: note: Taking false branch if (ret) { ^ include/linux/compiler.h:56:23: note: expanded from macro 'if' #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) ) ^ drivers/iio/adc/ingenic-adc.c:645:6: note: Assuming field 'has_aux_md' is not equal to 0 if (adc->soc_data->has_aux_md && engine == 0) { ^ include/linux/compiler.h:56:47: note: expanded from macro 'if' #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) ) ^~~~ include/linux/compiler.h:58:52: note: expanded from macro '__trace_if_var' #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond)) ^~~~ drivers/iio/adc/ingenic-adc.c:645:6: note: Left side of '&&' is true if (adc->soc_data->has_aux_md && engine == 0) { vim +/isc_clk +125 drivers/media/platform/atmel/atmel-isc-clk.c a3f86357d1892a Eugen Hristev 2021-12-13 121 a3f86357d1892a Eugen Hristev 2021-12-13 122 static int isc_clk_determine_rate(struct clk_hw *hw, a3f86357d1892a Eugen Hristev 2021-12-13 123 struct clk_rate_request *req) a3f86357d1892a Eugen Hristev 2021-12-13 124 { a3f86357d1892a Eugen Hristev 2021-12-13 @125 struct isc_clk *isc_clk = to_isc_clk(hw); a3f86357d1892a Eugen Hristev 2021-12-13 126 long best_rate = -EINVAL; a3f86357d1892a Eugen Hristev 2021-12-13 127 int best_diff = -1; a3f86357d1892a Eugen Hristev 2021-12-13 128 unsigned int i, div; a3f86357d1892a Eugen Hristev 2021-12-13 129 a3f86357d1892a Eugen Hristev 2021-12-13 130 for (i = 0; i < clk_hw_get_num_parents(hw); i++) { a3f86357d1892a Eugen Hristev 2021-12-13 131 struct clk_hw *parent; a3f86357d1892a Eugen Hristev 2021-12-13 132 unsigned long parent_rate; a3f86357d1892a Eugen Hristev 2021-12-13 133 a3f86357d1892a Eugen Hristev 2021-12-13 134 parent = clk_hw_get_parent_by_index(hw, i); a3f86357d1892a Eugen Hristev 2021-12-13 135 if (!parent) a3f86357d1892a Eugen Hristev 2021-12-13 136 continue; a3f86357d1892a Eugen Hristev 2021-12-13 137 a3f86357d1892a Eugen Hristev 2021-12-13 138 parent_rate = clk_hw_get_rate(parent); a3f86357d1892a Eugen Hristev 2021-12-13 139 if (!parent_rate) a3f86357d1892a Eugen Hristev 2021-12-13 140 continue; a3f86357d1892a Eugen Hristev 2021-12-13 141 a3f86357d1892a Eugen Hristev 2021-12-13 142 for (div = 1; div < ISC_CLK_MAX_DIV + 2; div++) { a3f86357d1892a Eugen Hristev 2021-12-13 143 unsigned long rate; a3f86357d1892a Eugen Hristev 2021-12-13 144 int diff; a3f86357d1892a Eugen Hristev 2021-12-13 145 a3f86357d1892a Eugen Hristev 2021-12-13 146 rate = DIV_ROUND_CLOSEST(parent_rate, div); a3f86357d1892a Eugen Hristev 2021-12-13 147 diff = abs(req->rate - rate); a3f86357d1892a Eugen Hristev 2021-12-13 148 a3f86357d1892a Eugen Hristev 2021-12-13 149 if (best_diff < 0 || best_diff > diff) { a3f86357d1892a Eugen Hristev 2021-12-13 150 best_rate = rate; a3f86357d1892a Eugen Hristev 2021-12-13 151 best_diff = diff; a3f86357d1892a Eugen Hristev 2021-12-13 152 req->best_parent_rate = parent_rate; a3f86357d1892a Eugen Hristev 2021-12-13 153 req->best_parent_hw = parent; a3f86357d1892a Eugen Hristev 2021-12-13 154 } a3f86357d1892a Eugen Hristev 2021-12-13 155 a3f86357d1892a Eugen Hristev 2021-12-13 156 if (!best_diff || rate < req->rate) a3f86357d1892a Eugen Hristev 2021-12-13 157 break; a3f86357d1892a Eugen Hristev 2021-12-13 158 } a3f86357d1892a Eugen Hristev 2021-12-13 159 a3f86357d1892a Eugen Hristev 2021-12-13 160 if (!best_diff) a3f86357d1892a Eugen Hristev 2021-12-13 161 break; a3f86357d1892a Eugen Hristev 2021-12-13 162 } a3f86357d1892a Eugen Hristev 2021-12-13 163 a3f86357d1892a Eugen Hristev 2021-12-13 164 dev_dbg(isc_clk->dev, a3f86357d1892a Eugen Hristev 2021-12-13 165 "ISC CLK: %s, best_rate = %ld, parent clk: %s @ %ld\n", a3f86357d1892a Eugen Hristev 2021-12-13 166 __func__, best_rate, a3f86357d1892a Eugen Hristev 2021-12-13 167 __clk_get_name((req->best_parent_hw)->clk), a3f86357d1892a Eugen Hristev 2021-12-13 168 req->best_parent_rate); a3f86357d1892a Eugen Hristev 2021-12-13 169 a3f86357d1892a Eugen Hristev 2021-12-13 170 if (best_rate < 0) a3f86357d1892a Eugen Hristev 2021-12-13 171 return best_rate; a3f86357d1892a Eugen Hristev 2021-12-13 172 a3f86357d1892a Eugen Hristev 2021-12-13 173 req->rate = best_rate; a3f86357d1892a Eugen Hristev 2021-12-13 174 a3f86357d1892a Eugen Hristev 2021-12-13 175 return 0; a3f86357d1892a Eugen Hristev 2021-12-13 176 } a3f86357d1892a Eugen Hristev 2021-12-13 177 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/[email protected] _______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
