Re: [PATCH v2 2/2] media: i2c: Add support for alvium camera

From: kernel test robot
Date: Tue May 30 2023 - 16:57:56 EST


Hi Tommaso,

kernel test robot noticed the following build warnings:

[auto build test WARNING on media-tree/master]
[also build test WARNING on linus/master v6.4-rc4 next-20230530]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Tommaso-Merciai/media-dt-bindings-alvium-add-document-YAML-binding/20230527-014222
base: git://linuxtv.org/media_tree.git master
patch link: https://lore.kernel.org/r/20230526173955.797226-3-tomm.merciai%40gmail.com
patch subject: [PATCH v2 2/2] media: i2c: Add support for alvium camera
config: x86_64-allmodconfig (https://download.01.org/0day-ci/archive/20230531/202305310436.Hwvw8IB9-lkp@xxxxxxxxx/config)
compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1)
reproduce (this is a W=1 build):
mkdir -p ~/bin
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/intel-lab-lkp/linux/commit/0777ad1510dd41fdb7f183ade7607af6b2fe36a8
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Tommaso-Merciai/media-dt-bindings-alvium-add-document-YAML-binding/20230527-014222
git checkout 0777ad1510dd41fdb7f183ade7607af6b2fe36a8
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang ~/bin/make.cross W=1 O=build_dir ARCH=x86_64 olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang ~/bin/make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/media/i2c/ fs/xfs/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202305310436.Hwvw8IB9-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

>> drivers/media/i2c/alvium.c:559:6: warning: no previous prototype for function 'alvium_print_avail_mipi_fmt' [-Wmissing-prototypes]
void alvium_print_avail_mipi_fmt(struct alvium_dev *alvium)
^
drivers/media/i2c/alvium.c:559:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void alvium_print_avail_mipi_fmt(struct alvium_dev *alvium)
^
static
>> drivers/media/i2c/alvium.c:603:6: warning: no previous prototype for function 'alvium_print_avail_feat' [-Wmissing-prototypes]
void alvium_print_avail_feat(struct alvium_dev *alvium)
^
drivers/media/i2c/alvium.c:603:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void alvium_print_avail_feat(struct alvium_dev *alvium)
^
static
>> drivers/media/i2c/alvium.c:647:6: warning: no previous prototype for function 'alvium_print_avail_bayer' [-Wmissing-prototypes]
void alvium_print_avail_bayer(struct alvium_dev *alvium)
^
drivers/media/i2c/alvium.c:647:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void alvium_print_avail_bayer(struct alvium_dev *alvium)
^
static
>> drivers/media/i2c/alvium.c:1957:2: warning: switch condition has boolean value [-Wswitch-bool]
switch (on) {
^ ~~
drivers/media/i2c/alvium.c:2040:2: warning: switch condition has boolean value [-Wswitch-bool]
switch (on) {
^ ~~
drivers/media/i2c/alvium.c:2099:2: warning: switch condition has boolean value [-Wswitch-bool]
switch (on) {
^ ~~
drivers/media/i2c/alvium.c:2228:2: warning: switch condition has boolean value [-Wswitch-bool]
switch (on) {
^ ~~
drivers/media/i2c/alvium.c:2303:7: warning: variable 'red_max' set but not used [-Wunused-but-set-variable]
u64 red_max;
^
drivers/media/i2c/alvium.c:2304:7: warning: variable 'red_min' set but not used [-Wunused-but-set-variable]
u64 red_min;
^
drivers/media/i2c/alvium.c:2305:7: warning: variable 'blue_max' set but not used [-Wunused-but-set-variable]
u64 blue_max;
^
drivers/media/i2c/alvium.c:2306:7: warning: variable 'blue_min' set but not used [-Wunused-but-set-variable]
u64 blue_min;
^
drivers/media/i2c/alvium.c:2721:14: warning: variable 'min_fr' set but not used [-Wunused-but-set-variable]
u64 req_fr, min_fr, max_fr;
^
drivers/media/i2c/alvium.c:2721:22: warning: variable 'max_fr' set but not used [-Wunused-but-set-variable]
u64 req_fr, min_fr, max_fr;
^
>> drivers/media/i2c/alvium.c:2788:6: warning: variable 'num_formats' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
if (alvium_is_csi2(alvium)) {
^~~~~~~~~~~~~~~~~~~~~~
drivers/media/i2c/alvium.c:2793:21: note: uninitialized use occurs here
if (code->index >= num_formats)
^~~~~~~~~~~
drivers/media/i2c/alvium.c:2788:2: note: remove the 'if' if its condition is always true
if (alvium_is_csi2(alvium)) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/i2c/alvium.c:2786:26: note: initialize the variable 'num_formats' to silence this warning
unsigned int num_formats;
^
= 0
drivers/media/i2c/alvium.c:2943:26: warning: variable 'crop' set but not used [-Wunused-but-set-variable]
const struct v4l2_rect *crop;
^
15 warnings generated.


vim +/alvium_print_avail_mipi_fmt +559 drivers/media/i2c/alvium.c

558
> 559 void alvium_print_avail_mipi_fmt(struct alvium_dev *alvium)
560 {
561 struct device *dev = &alvium->i2c_client->dev;
562
563 dev_dbg(dev, "avail mipi_fmt yuv420_8_leg: %u\n",
564 alvium->is_mipi_fmt_avail[ALVIUM_BIT_YUV420_8_LEG]);
565 dev_dbg(dev, "avail mipi_fmt yuv420_8: %u\n",
566 alvium->is_mipi_fmt_avail[ALVIUM_BIT_YUV420_8]);
567 dev_dbg(dev, "avail mipi_fmt yuv420_10: %u\n",
568 alvium->is_mipi_fmt_avail[ALVIUM_BIT_YUV420_10]);
569 dev_dbg(dev, "avail mipi_fmt yuv420_8_csps: %u\n",
570 alvium->is_mipi_fmt_avail[ALVIUM_BIT_YUV420_8_CSPS]);
571 dev_dbg(dev, "avail mipi_fmt yuv420_10_csps: %u\n",
572 alvium->is_mipi_fmt_avail[ALVIUM_BIT_YUV420_10_CSPS]);
573 dev_dbg(dev, "avail mipi_fmt yuv422_8: %u\n",
574 alvium->is_mipi_fmt_avail[ALVIUM_BIT_YUV422_8]);
575 dev_dbg(dev, "avail mipi_fmt yuv422_10: %u\n",
576 alvium->is_mipi_fmt_avail[ALVIUM_BIT_YUV422_10]);
577 dev_dbg(dev, "avail mipi_fmt rgb888: %u\n",
578 alvium->is_mipi_fmt_avail[ALVIUM_BIT_RGB888]);
579 dev_dbg(dev, "avail mipi_fmt rgb666: %u\n",
580 alvium->is_mipi_fmt_avail[ALVIUM_BIT_RGB666]);
581 dev_dbg(dev, "avail mipi_fmt rgb565: %u\n",
582 alvium->is_mipi_fmt_avail[ALVIUM_BIT_RGB565]);
583 dev_dbg(dev, "avail mipi_fmt rgb555: %u\n",
584 alvium->is_mipi_fmt_avail[ALVIUM_BIT_RGB555]);
585 dev_dbg(dev, "avail mipi_fmt rgb444: %u\n",
586 alvium->is_mipi_fmt_avail[ALVIUM_BIT_RGB444]);
587 dev_dbg(dev, "avail mipi_fmt raw6: %u\n",
588 alvium->is_mipi_fmt_avail[ALVIUM_BIT_RAW6]);
589 dev_dbg(dev, "avail mipi_fmt raw7: %u\n",
590 alvium->is_mipi_fmt_avail[ALVIUM_BIT_RAW7]);
591 dev_dbg(dev, "avail mipi_fmt raw8: %u\n",
592 alvium->is_mipi_fmt_avail[ALVIUM_BIT_RAW8]);
593 dev_dbg(dev, "avail mipi_fmt raw10: %u\n",
594 alvium->is_mipi_fmt_avail[ALVIUM_BIT_RAW10]);
595 dev_dbg(dev, "avail mipi_fmt raw12: %u\n",
596 alvium->is_mipi_fmt_avail[ALVIUM_BIT_RAW12]);
597 dev_dbg(dev, "avail mipi_fmt raw14: %u\n",
598 alvium->is_mipi_fmt_avail[ALVIUM_BIT_RAW14]);
599 dev_dbg(dev, "avail mipi_fmt jpeg: %u\n",
600 alvium->is_mipi_fmt_avail[ALVIUM_BIT_JPEG]);
601 }
602
> 603 void alvium_print_avail_feat(struct alvium_dev *alvium)
604 {
605 struct device *dev = &alvium->i2c_client->dev;
606
607 dev_dbg(dev, "feature rev_x: %u\n",
608 alvium->avail_ft.rev_x);
609 dev_dbg(dev, "feature rev_y: %u\n",
610 alvium->avail_ft.rev_y);
611 dev_dbg(dev, "feature int_autop: %u\n",
612 alvium->avail_ft.int_autop);
613 dev_dbg(dev, "feature black_lvl: %u\n",
614 alvium->avail_ft.black_lvl);
615 dev_dbg(dev, "feature gain: %u\n",
616 alvium->avail_ft.gain);
617 dev_dbg(dev, "feature gamma: %u\n",
618 alvium->avail_ft.gamma);
619 dev_dbg(dev, "feature contrast: %u\n",
620 alvium->avail_ft.contrast);
621 dev_dbg(dev, "feature sat: %u\n",
622 alvium->avail_ft.sat);
623 dev_dbg(dev, "feature hue: %u\n",
624 alvium->avail_ft.hue);
625 dev_dbg(dev, "feature whiteb: %u\n",
626 alvium->avail_ft.whiteb);
627 dev_dbg(dev, "feature sharp: %u\n",
628 alvium->avail_ft.sharp);
629 dev_dbg(dev, "feature auto_exp: %u\n",
630 alvium->avail_ft.auto_exp);
631 dev_dbg(dev, "feature auto_gain: %u\n",
632 alvium->avail_ft.auto_gain);
633 dev_dbg(dev, "feature auto_whiteb: %u\n",
634 alvium->avail_ft.auto_whiteb);
635 dev_dbg(dev, "feature dev_temp: %u\n",
636 alvium->avail_ft.dev_temp);
637 dev_dbg(dev, "feature acq_abort: %u\n",
638 alvium->avail_ft.acq_abort);
639 dev_dbg(dev, "feature acq_fr: %u\n",
640 alvium->avail_ft.acq_fr);
641 dev_dbg(dev, "feature fr_trigger: %u\n",
642 alvium->avail_ft.fr_trigger);
643 dev_dbg(dev, "feature exp_acq_line: %u\n",
644 alvium->avail_ft.exp_acq_line);
645 }
646
> 647 void alvium_print_avail_bayer(struct alvium_dev *alvium)
648 {
649 struct device *dev = &alvium->i2c_client->dev;
650
651 dev_dbg(dev, "avail bayer mono: %u\n",
652 alvium->is_bay_avail[ALVIUM_BIT_BAY_MONO]);
653 dev_dbg(dev, "avail bayer gr: %u\n",
654 alvium->is_bay_avail[ALVIUM_BIT_BAY_GR]);
655 dev_dbg(dev, "avail bayer rg: %u\n",
656 alvium->is_bay_avail[ALVIUM_BIT_BAY_RG]);
657 dev_dbg(dev, "avail bayer gb: %u\n",
658 alvium->is_bay_avail[ALVIUM_BIT_BAY_GB]);
659 dev_dbg(dev, "avail bayer bg: %u\n",
660 alvium->is_bay_avail[ALVIUM_BIT_BAY_BG]);
661 }
662

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki