CC: [email protected] CC: [email protected] CC: [email protected] TO: Paul Kocialkowski <[email protected]> CC: Mauro Carvalho Chehab <[email protected]> CC: [email protected] CC: Sakari Ailus <[email protected]>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 5833291ab6de9c3e2374336b51c814e515e8f3a5 commit: e43ccb0a045f34838b786e8021dc4838b4af5c38 media: i2c: Add support for the OV5648 image sensor date: 10 months ago :::::: branch date: 14 hours ago :::::: commit date: 10 months ago config: riscv-randconfig-c006-20211031 (attached as .config) compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project d321548c3ce987f4f21350ba1c81fdb5d4354224) 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://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e43ccb0a045f34838b786e8021dc4838b4af5c38 git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git fetch --no-tags linus master git checkout e43ccb0a045f34838b786e8021dc4838b4af5c38 # save the attached .config 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 >>) drivers/watchdog/pcwd_pci.c:696:2: note: Taking false branch if (pci_enable_device(pdev)) { ^ drivers/watchdog/pcwd_pci.c:701:6: note: Assuming field 'start' is not equal to 0 if (pci_resource_start(pdev, 0) == 0x0000) { ^ include/linux/pci.h:1854:38: note: expanded from macro 'pci_resource_start' #define pci_resource_start(dev, bar) ((dev)->resource[(bar)].start) ^ drivers/watchdog/pcwd_pci.c:701:2: note: Taking false branch if (pci_resource_start(pdev, 0) == 0x0000) { ^ drivers/watchdog/pcwd_pci.c:707:2: note: Loop condition is false. Exiting loop spin_lock_init(&pcipcwd_private.io_lock); ^ include/linux/spinlock.h:334:35: note: expanded from macro 'spin_lock_init' # define spin_lock_init(lock) \ ^ drivers/watchdog/pcwd_pci.c:711:6: note: Assuming the condition is false if (pci_request_regions(pdev, WATCHDOG_NAME)) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/watchdog/pcwd_pci.c:711:2: note: Taking false branch if (pci_request_regions(pdev, WATCHDOG_NAME)) { ^ drivers/watchdog/pcwd_pci.c:731:2: note: Calling 'pcipcwd_show_card_info' pcipcwd_show_card_info(); ^~~~~~~~~~~~~~~~~~~~~~~~ drivers/watchdog/pcwd_pci.c:226:32: note: 'fw_rev_minor' declared without an initial value int got_fw_rev, fw_rev_major, fw_rev_minor; ^~~~~~~~~~~~ drivers/watchdog/pcwd_pci.c:230:15: note: Calling 'send_command' got_fw_rev = send_command(CMD_GET_FIRMWARE_VERSION, &fw_rev_major, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/watchdog/pcwd_pci.c:158:6: note: Assuming 'debug' is < DEBUG if (debug >= DEBUG) ^~~~~~~~~~~~~~ drivers/watchdog/pcwd_pci.c:158:2: note: Taking false branch if (debug >= DEBUG) ^ drivers/watchdog/pcwd_pci.c:169:2: note: 1st function call argument is an uninitialized value outb_p(*lsb, pcipcwd_private.io_addr + 4); ^ ~~~~ include/asm-generic/io.h:577:16: note: expanded from macro 'outb_p' #define outb_p outb_p ^ 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. 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. 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/staging/comedi/drivers/pcmmio.c:578:2: warning: Value stored to 'val' is never read [clang-analyzer-deadcode.DeadStores] val |= inb(iobase + PCMMIO_AI_MSB_REG) << 8; ^ drivers/staging/comedi/drivers/pcmmio.c:578:2: note: Value stored to 'val' is never read 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. 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. 4 warnings generated. >> drivers/media/i2c/ov5648.c:587:8: warning: Excessive padding in 'struct >> ov5648_mode' (10 padding bytes, where 2 is optimal). Optimal fields order: pll2_config, register_values, pll1_config, crop_start_x, offset_x, output_size_x, crop_end_x, hts, crop_start_y, offset_y, output_size_y, crop_end_y, vts, inc_x_odd, inc_x_even, inc_y_odd, inc_y_even, register_values_count, frame_interval, binning_x, binning_y, consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding] struct ov5648_mode { ~~~~~~~^~~~~~~~~~~~~ drivers/media/i2c/ov5648.c:587:8: note: Excessive padding in 'struct ov5648_mode' (10 padding bytes, where 2 is optimal). Optimal fields order: pll2_config, register_values, pll1_config, crop_start_x, offset_x, output_size_x, crop_end_x, hts, crop_start_y, offset_y, output_size_y, crop_end_y, vts, inc_x_odd, inc_x_even, inc_y_odd, inc_y_even, register_values_count, frame_interval, binning_x, binning_y, consider reordering the fields or adding explicit padding members struct ov5648_mode { ~~~~~~~^~~~~~~~~~~~~ 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. 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. 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. 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. 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. 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. 2 warnings generated. vim +587 drivers/media/i2c/ov5648.c e43ccb0a045f34 Paul Kocialkowski 2020-12-31 575 e43ccb0a045f34 Paul Kocialkowski 2020-12-31 576 /* e43ccb0a045f34 Paul Kocialkowski 2020-12-31 577 * General formulas for (array-centered) mode calculation: e43ccb0a045f34 Paul Kocialkowski 2020-12-31 578 * - photo_array_width = 2624 e43ccb0a045f34 Paul Kocialkowski 2020-12-31 579 * - crop_start_x = (photo_array_width - output_size_x) / 2 e43ccb0a045f34 Paul Kocialkowski 2020-12-31 580 * - crop_end_x = crop_start_x + offset_x + output_size_x - 1 e43ccb0a045f34 Paul Kocialkowski 2020-12-31 581 * e43ccb0a045f34 Paul Kocialkowski 2020-12-31 582 * - photo_array_height = 1956 e43ccb0a045f34 Paul Kocialkowski 2020-12-31 583 * - crop_start_y = (photo_array_height - output_size_y) / 2 e43ccb0a045f34 Paul Kocialkowski 2020-12-31 584 * - crop_end_y = crop_start_y + offset_y + output_size_y - 1 e43ccb0a045f34 Paul Kocialkowski 2020-12-31 585 */ e43ccb0a045f34 Paul Kocialkowski 2020-12-31 586 e43ccb0a045f34 Paul Kocialkowski 2020-12-31 @587 struct ov5648_mode { e43ccb0a045f34 Paul Kocialkowski 2020-12-31 588 unsigned int crop_start_x; e43ccb0a045f34 Paul Kocialkowski 2020-12-31 589 unsigned int offset_x; e43ccb0a045f34 Paul Kocialkowski 2020-12-31 590 unsigned int output_size_x; e43ccb0a045f34 Paul Kocialkowski 2020-12-31 591 unsigned int crop_end_x; e43ccb0a045f34 Paul Kocialkowski 2020-12-31 592 unsigned int hts; e43ccb0a045f34 Paul Kocialkowski 2020-12-31 593 e43ccb0a045f34 Paul Kocialkowski 2020-12-31 594 unsigned int crop_start_y; e43ccb0a045f34 Paul Kocialkowski 2020-12-31 595 unsigned int offset_y; e43ccb0a045f34 Paul Kocialkowski 2020-12-31 596 unsigned int output_size_y; e43ccb0a045f34 Paul Kocialkowski 2020-12-31 597 unsigned int crop_end_y; e43ccb0a045f34 Paul Kocialkowski 2020-12-31 598 unsigned int vts; e43ccb0a045f34 Paul Kocialkowski 2020-12-31 599 e43ccb0a045f34 Paul Kocialkowski 2020-12-31 600 bool binning_x; e43ccb0a045f34 Paul Kocialkowski 2020-12-31 601 bool binning_y; e43ccb0a045f34 Paul Kocialkowski 2020-12-31 602 e43ccb0a045f34 Paul Kocialkowski 2020-12-31 603 unsigned int inc_x_odd; e43ccb0a045f34 Paul Kocialkowski 2020-12-31 604 unsigned int inc_x_even; e43ccb0a045f34 Paul Kocialkowski 2020-12-31 605 unsigned int inc_y_odd; e43ccb0a045f34 Paul Kocialkowski 2020-12-31 606 unsigned int inc_y_even; e43ccb0a045f34 Paul Kocialkowski 2020-12-31 607 e43ccb0a045f34 Paul Kocialkowski 2020-12-31 608 /* 8-bit frame interval followed by 10-bit frame interval. */ e43ccb0a045f34 Paul Kocialkowski 2020-12-31 609 struct v4l2_fract frame_interval[2]; e43ccb0a045f34 Paul Kocialkowski 2020-12-31 610 e43ccb0a045f34 Paul Kocialkowski 2020-12-31 611 /* 8-bit config followed by 10-bit config. */ e43ccb0a045f34 Paul Kocialkowski 2020-12-31 612 const struct ov5648_pll1_config *pll1_config[2]; e43ccb0a045f34 Paul Kocialkowski 2020-12-31 613 const struct ov5648_pll2_config *pll2_config; e43ccb0a045f34 Paul Kocialkowski 2020-12-31 614 e43ccb0a045f34 Paul Kocialkowski 2020-12-31 615 const struct ov5648_register_value *register_values; e43ccb0a045f34 Paul Kocialkowski 2020-12-31 616 unsigned int register_values_count; e43ccb0a045f34 Paul Kocialkowski 2020-12-31 617 }; e43ccb0a045f34 Paul Kocialkowski 2020-12-31 618 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/[email protected]
.config.gz
Description: application/gzip
_______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
