CC: [email protected] CC: [email protected] BCC: [email protected] CC: [email protected] TO: Eugen Hristev <[email protected]> CC: Mauro Carvalho Chehab <[email protected]> CC: [email protected] CC: Jacopo Mondi <[email protected]> CC: Hans Verkuil <[email protected]>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 8013d1d3d2e33236dee13a133fba49ad55045e79 commit: 118bf76a35bc2ed061cd1454fe5e57d1c7bcd8d0 media: atmel: atmel-isc: split the clock code into separate source file date: 3 months ago :::::: branch date: 5 hours ago :::::: commit date: 3 months ago config: arm-randconfig-c002-20220427 (https://download.01.org/0day-ci/archive/20220430/[email protected]/config) compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 1cddcfdc3c683b393df1a5c9063252eb60e52818) 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 arm cross compiling tool for clang build # apt-get install binutils-arm-linux-gnueabi # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=118bf76a35bc2ed061cd1454fe5e57d1c7bcd8d0 git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git fetch --no-tags linus master git checkout 118bf76a35bc2ed061cd1454fe5e57d1c7bcd8d0 # save the config file COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm 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 >>) if (lpuart_is_32(sport)) ^ drivers/tty/serial/fsl_lpuart.c:2876:6: note: Assuming field 'lpuart_dma_rx_use' is true if (sport->lpuart_dma_rx_use) { ^~~~~~~~~~~~~~~~~~~~~~~~ drivers/tty/serial/fsl_lpuart.c:2876:2: note: Taking true branch if (sport->lpuart_dma_rx_use) { ^ drivers/tty/serial/fsl_lpuart.c:2877:7: note: Assuming 'irq_wake' is true if (irq_wake) { ^~~~~~~~ drivers/tty/serial/fsl_lpuart.c:2877:3: note: Taking true branch if (irq_wake) { ^ drivers/tty/serial/fsl_lpuart.c:2878:9: note: Calling 'lpuart_start_rx_dma' if (!lpuart_start_rx_dma(sport)) ^~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/tty/serial/fsl_lpuart.c:1274:9: note: Assuming the condition is false bits = (termios->c_cflag & CSIZE) == CS7 ? 9 : 10; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/tty/serial/fsl_lpuart.c:1274:9: note: '?' condition is false drivers/tty/serial/fsl_lpuart.c:1275:6: note: Assuming the condition is false if (termios->c_cflag & PARENB) ^~~~~~~~~~~~~~~~~~~~~~~~~ drivers/tty/serial/fsl_lpuart.c:1275:2: note: Taking false branch if (termios->c_cflag & PARENB) ^ drivers/tty/serial/fsl_lpuart.c:1283:33: note: The result of the left shift is undefined because the right operand is negative sport->rx_dma_rng_buf_len = (1 << (fls(sport->rx_dma_rng_buf_len) - 1)); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 warning generated. Suppressed 1 warnings (1 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. 1 warning generated. Suppressed 1 warnings (1 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. 1 warning generated. Suppressed 1 warnings (1 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. 1 warning generated. Suppressed 1 warnings (1 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. 1 warning generated. Suppressed 1 warnings (1 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. 1 warning generated. Suppressed 1 warnings (1 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. 1 warning generated. Suppressed 1 warnings (1 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. 1 warning generated. Suppressed 1 warnings (1 with check filters). 1 warning generated. Suppressed 1 warnings (1 with check filters). 3 warnings generated. drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c:479:2: warning: Value stored to 'cif_id' is never read [clang-analyzer-deadcode.DeadStores] cif_id = rkisp1_read(rkisp1, RKISP1_CIF_VI_ID); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c:479:2: note: Value stored to 'cif_id' is never read cif_id = rkisp1_read(rkisp1, RKISP1_CIF_VI_ID); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c:910:24: warning: Value stored to 'rkisp1' during its initialization is never read [clang-analyzer-deadcode.DeadStores] struct rkisp1_device *rkisp1 = ^~~~~~ drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c:910:24: note: Value stored to 'rkisp1' during its initialization is never read struct rkisp1_device *rkisp1 = ^~~~~~ Suppressed 1 warnings (1 with check filters). 1 warning generated. Suppressed 1 warnings (1 with check filters). 1 warning generated. Suppressed 1 warnings (1 with check filters). 1 warning generated. Suppressed 1 warnings (1 with check filters). 3 warnings generated. drivers/media/platform/am437x/am437x-vpfe.c:819:2: warning: Value stored to 'vpfe_int_status' is never read [clang-analyzer-deadcode.DeadStores] vpfe_int_status = vpfe_reg_read(ccdc, VPFE_IRQ_STS); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/media/platform/am437x/am437x-vpfe.c:819:2: note: Value stored to 'vpfe_int_status' is never read vpfe_int_status = vpfe_reg_read(ccdc, VPFE_IRQ_STS); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/media/platform/am437x/am437x-vpfe.c:1411:2: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores] ret = 0; ^ ~ drivers/media/platform/am437x/am437x-vpfe.c:1411:2: note: Value stored to 'ret' is never read ret = 0; ^ ~ Suppressed 1 warnings (1 with check filters). 1 warning generated. Suppressed 1 warnings (1 with check filters). 1 warning generated. Suppressed 1 warnings (1 with check filters). 1 warning generated. Suppressed 1 warnings (1 with check filters). 1 warning generated. Suppressed 1 warnings (1 with check filters). 1 warning generated. Suppressed 1 warnings (1 with check filters). 2 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 1 warnings (1 with check filters). 1 warning generated. Suppressed 1 warnings (1 with check filters). 1 warning generated. Suppressed 1 warnings (1 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. 7 warnings generated. Suppressed 7 warnings (7 with check filters). 1 warning generated. drivers/mmc/core/core.c:1940:19: warning: Value stored to 'host' during its initialization is never read [clang-analyzer-deadcode.DeadStores] struct mmc_host *host = card->host; ^~~~ ~~~~~~~~~~ drivers/mmc/core/core.c:1940:19: note: Value stored to 'host' during its initialization is never read struct mmc_host *host = card->host; ^~~~ ~~~~~~~~~~ 1 warning generated. Suppressed 1 warnings (1 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. 1 warning generated. drivers/iio/addac/ad74413r.c:51:8: warning: Excessive padding in 'struct ad74413r_state' (32 padding bytes, where 0 is optimal). Optimal fields order: adc_samples_buf, num_gpo_gpios, num_comparator_gpios, sense_resistor_ohms, chip_info, spi, refin_reg, regmap, dev, trig, adc_active_channels, adc_data_completion, lock, gpo_gpio_offsets, comp_gpio_offsets, channel_configs, adc_samples_msg, gpo_gpiochip, comp_gpiochip, adc_samples_xfer, reg_tx_buf, reg_rx_buf, adc_samples_tx_buf, consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding] struct ad74413r_state { ~~~~~~~^~~~~~~~~~~~~~~~ drivers/iio/addac/ad74413r.c:51:8: note: Excessive padding in 'struct ad74413r_state' (32 padding bytes, where 0 is optimal). Optimal fields order: adc_samples_buf, num_gpo_gpios, num_comparator_gpios, sense_resistor_ohms, chip_info, spi, refin_reg, regmap, dev, trig, adc_active_channels, adc_data_completion, lock, gpo_gpio_offsets, comp_gpio_offsets, channel_configs, adc_samples_msg, gpo_gpiochip, comp_gpiochip, adc_samples_xfer, reg_tx_buf, reg_rx_buf, adc_samples_tx_buf, consider reordering the fields or adding explicit padding members struct ad74413r_state { ~~~~~~~^~~~~~~~~~~~~~~~ 1 warning generated. drivers/gpu/drm/panel/panel-xinpeng-xpp055c272.c:74:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores] struct device *dev = ctx->dev; ^~~ ~~~~~~~~ drivers/gpu/drm/panel/panel-xinpeng-xpp055c272.c:74:17: note: Value stored to 'dev' during its initialization is never read struct device *dev = ctx->dev; ^~~ ~~~~~~~~ 1 warning 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; ^ ~~ 3 warnings generated. drivers/input/rmi4/rmi_f12.c:133:3: warning: Value stored to 'offset' is never read [clang-analyzer-deadcode.DeadStores] offset += 1; ^ ~ drivers/input/rmi4/rmi_f12.c:133:3: note: Value stored to 'offset' is never read offset += 1; ^ ~ drivers/input/rmi4/rmi_f12.c:401:2: warning: Value stored to 'query_addr' is never read [clang-analyzer-deadcode.DeadStores] query_addr += 3; ^ ~ drivers/input/rmi4/rmi_f12.c:401:2: note: Value stored to 'query_addr' is never read query_addr += 3; ^ ~ drivers/input/rmi4/rmi_f12.c:520:3: warning: Value stored to 'data_offset' is never read [clang-analyzer-deadcode.DeadStores] data_offset += item->reg_size; ^ ~~~~~~~~~~~~~~ drivers/input/rmi4/rmi_f12.c:520:3: note: Value stored to 'data_offset' is never read data_offset += item->reg_size; ^ ~~~~~~~~~~~~~~ 4 warnings generated. drivers/greybus/svc.c:1144:2: warning: Value stored to 'reset' is never read [clang-analyzer-deadcode.DeadStores] reset = request->payload; ^ ~~~~~~~~~~~~~~~~ drivers/greybus/svc.c:1144:2: note: Value stored to 'reset' is never read reset = request->payload; ^ ~~~~~~~~~~~~~~~~ drivers/greybus/svc.c:1162:2: warning: Value stored to 'request' is never read [clang-analyzer-deadcode.DeadStores] request = op->request->payload; ^ ~~~~~~~~~~~~~~~~~~~~ drivers/greybus/svc.c:1162:2: note: Value stored to 'request' is never read request = op->request->payload; vim +/isc_clk +125 drivers/media/platform/atmel/atmel-isc-clk.c 118bf76a35bc2ed Eugen Hristev 2021-12-13 121 118bf76a35bc2ed Eugen Hristev 2021-12-13 122 static int isc_clk_determine_rate(struct clk_hw *hw, 118bf76a35bc2ed Eugen Hristev 2021-12-13 123 struct clk_rate_request *req) 118bf76a35bc2ed Eugen Hristev 2021-12-13 124 { 118bf76a35bc2ed Eugen Hristev 2021-12-13 @125 struct isc_clk *isc_clk = to_isc_clk(hw); 118bf76a35bc2ed Eugen Hristev 2021-12-13 126 long best_rate = -EINVAL; 118bf76a35bc2ed Eugen Hristev 2021-12-13 127 int best_diff = -1; 118bf76a35bc2ed Eugen Hristev 2021-12-13 128 unsigned int i, div; 118bf76a35bc2ed Eugen Hristev 2021-12-13 129 118bf76a35bc2ed Eugen Hristev 2021-12-13 130 for (i = 0; i < clk_hw_get_num_parents(hw); i++) { 118bf76a35bc2ed Eugen Hristev 2021-12-13 131 struct clk_hw *parent; 118bf76a35bc2ed Eugen Hristev 2021-12-13 132 unsigned long parent_rate; 118bf76a35bc2ed Eugen Hristev 2021-12-13 133 118bf76a35bc2ed Eugen Hristev 2021-12-13 134 parent = clk_hw_get_parent_by_index(hw, i); 118bf76a35bc2ed Eugen Hristev 2021-12-13 135 if (!parent) 118bf76a35bc2ed Eugen Hristev 2021-12-13 136 continue; 118bf76a35bc2ed Eugen Hristev 2021-12-13 137 118bf76a35bc2ed Eugen Hristev 2021-12-13 138 parent_rate = clk_hw_get_rate(parent); 118bf76a35bc2ed Eugen Hristev 2021-12-13 139 if (!parent_rate) 118bf76a35bc2ed Eugen Hristev 2021-12-13 140 continue; 118bf76a35bc2ed Eugen Hristev 2021-12-13 141 118bf76a35bc2ed Eugen Hristev 2021-12-13 142 for (div = 1; div < ISC_CLK_MAX_DIV + 2; div++) { 118bf76a35bc2ed Eugen Hristev 2021-12-13 143 unsigned long rate; 118bf76a35bc2ed Eugen Hristev 2021-12-13 144 int diff; 118bf76a35bc2ed Eugen Hristev 2021-12-13 145 118bf76a35bc2ed Eugen Hristev 2021-12-13 146 rate = DIV_ROUND_CLOSEST(parent_rate, div); 118bf76a35bc2ed Eugen Hristev 2021-12-13 147 diff = abs(req->rate - rate); 118bf76a35bc2ed Eugen Hristev 2021-12-13 148 118bf76a35bc2ed Eugen Hristev 2021-12-13 149 if (best_diff < 0 || best_diff > diff) { 118bf76a35bc2ed Eugen Hristev 2021-12-13 150 best_rate = rate; 118bf76a35bc2ed Eugen Hristev 2021-12-13 151 best_diff = diff; 118bf76a35bc2ed Eugen Hristev 2021-12-13 152 req->best_parent_rate = parent_rate; 118bf76a35bc2ed Eugen Hristev 2021-12-13 153 req->best_parent_hw = parent; 118bf76a35bc2ed Eugen Hristev 2021-12-13 154 } 118bf76a35bc2ed Eugen Hristev 2021-12-13 155 118bf76a35bc2ed Eugen Hristev 2021-12-13 156 if (!best_diff || rate < req->rate) 118bf76a35bc2ed Eugen Hristev 2021-12-13 157 break; 118bf76a35bc2ed Eugen Hristev 2021-12-13 158 } 118bf76a35bc2ed Eugen Hristev 2021-12-13 159 118bf76a35bc2ed Eugen Hristev 2021-12-13 160 if (!best_diff) 118bf76a35bc2ed Eugen Hristev 2021-12-13 161 break; 118bf76a35bc2ed Eugen Hristev 2021-12-13 162 } 118bf76a35bc2ed Eugen Hristev 2021-12-13 163 118bf76a35bc2ed Eugen Hristev 2021-12-13 164 dev_dbg(isc_clk->dev, 118bf76a35bc2ed Eugen Hristev 2021-12-13 165 "ISC CLK: %s, best_rate = %ld, parent clk: %s @ %ld\n", 118bf76a35bc2ed Eugen Hristev 2021-12-13 166 __func__, best_rate, 118bf76a35bc2ed Eugen Hristev 2021-12-13 167 __clk_get_name((req->best_parent_hw)->clk), 118bf76a35bc2ed Eugen Hristev 2021-12-13 168 req->best_parent_rate); 118bf76a35bc2ed Eugen Hristev 2021-12-13 169 118bf76a35bc2ed Eugen Hristev 2021-12-13 170 if (best_rate < 0) 118bf76a35bc2ed Eugen Hristev 2021-12-13 171 return best_rate; 118bf76a35bc2ed Eugen Hristev 2021-12-13 172 118bf76a35bc2ed Eugen Hristev 2021-12-13 173 req->rate = best_rate; 118bf76a35bc2ed Eugen Hristev 2021-12-13 174 118bf76a35bc2ed Eugen Hristev 2021-12-13 175 return 0; 118bf76a35bc2ed Eugen Hristev 2021-12-13 176 } 118bf76a35bc2ed Eugen Hristev 2021-12-13 177 -- 0-DAY CI Kernel Test Service https://01.org/lkp _______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
