CC: [email protected]
CC: [email protected]
BCC: [email protected]
CC: [email protected]
TO: Marek Vasut <[email protected]>
CC: Sakari Ailus <[email protected]>
CC: Michael Tretter <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   1831fed559732b132aef0ea8261ac77e73f7eadf
commit: 51ef2be546e2e480e56fdb59fdeb9a4406e8d52e media: i2c: isl7998x: Add 
driver for Intersil ISL7998x
date:   5 weeks ago
:::::: branch date: 9 hours ago
:::::: commit date: 5 weeks ago
config: arm-randconfig-c002-20220408 
(https://download.01.org/0day-ci/archive/20220408/[email protected]/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 
c29a51b3a257908aebc01cd7c4655665db317d66)
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=51ef2be546e2e480e56fdb59fdeb9a4406e8d52e
        git remote add linus 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout 51ef2be546e2e480e56fdb59fdeb9a4406e8d52e
        # save the config file to linux build tree
        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 >>)
   drivers/base/bus.c:871:2: note: Returning from 'bus_remove_groups'
           bus_remove_groups(bus, bus->bus_groups);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/base/bus.c:872:2: note: Calling 'remove_probe_files'
           remove_probe_files(bus);
           ^~~~~~~~~~~~~~~~~~~~~~~
   drivers/base/bus.c:572:2: note: Calling 'bus_remove_file'
           bus_remove_file(bus, &bus_attr_drivers_autoprobe);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/base/bus.c:145:6: note: Calling 'bus_get'
           if (bus_get(bus)) {
               ^~~~~~~~~~~~
   drivers/base/bus.c:44:6: note: 'bus' is non-null
           if (bus) {
               ^~~
   drivers/base/bus.c:44:2: note: Taking true branch
           if (bus) {
           ^
   drivers/base/bus.c:46:3: note: Returning without writing to 'bus->p'
                   return bus;
                   ^
   drivers/base/bus.c:145:6: note: Returning from 'bus_get'
           if (bus_get(bus)) {
               ^~~~~~~~~~~~
   drivers/base/bus.c:145:2: note: Taking true branch
           if (bus_get(bus)) {
           ^
   drivers/base/bus.c:147:3: note: Calling 'bus_put'
                   bus_put(bus);
                   ^~~~~~~~~~~~
   drivers/base/bus.c:53:6: note: 'bus' is non-null
           if (bus)
               ^~~
   drivers/base/bus.c:53:2: note: Taking true branch
           if (bus)
           ^
   drivers/base/bus.c:55:1: note: Returning without writing to 'bus->p'
   }
   ^
   drivers/base/bus.c:147:3: note: Returning from 'bus_put'
                   bus_put(bus);
                   ^~~~~~~~~~~~
   drivers/base/bus.c:149:1: note: Returning without writing to 'bus->p'
   }
   ^
   drivers/base/bus.c:572:2: note: Returning from 'bus_remove_file'
           bus_remove_file(bus, &bus_attr_drivers_autoprobe);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/base/bus.c:573:2: note: Calling 'bus_remove_file'
           bus_remove_file(bus, &bus_attr_drivers_probe);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/base/bus.c:145:6: note: Calling 'bus_get'
           if (bus_get(bus)) {
               ^~~~~~~~~~~~
   drivers/base/bus.c:44:6: note: 'bus' is non-null
           if (bus) {
               ^~~
   drivers/base/bus.c:44:2: note: Taking true branch
           if (bus) {
           ^
   drivers/base/bus.c:46:3: note: Returning without writing to 'bus->p'
                   return bus;
                   ^
   drivers/base/bus.c:145:6: note: Returning from 'bus_get'
           if (bus_get(bus)) {
               ^~~~~~~~~~~~
   drivers/base/bus.c:145:2: note: Taking true branch
           if (bus_get(bus)) {
           ^
   drivers/base/bus.c:147:3: note: Calling 'bus_put'
                   bus_put(bus);
                   ^~~~~~~~~~~~
   drivers/base/bus.c:53:6: note: 'bus' is non-null
           if (bus)
               ^~~
   drivers/base/bus.c:53:2: note: Taking true branch
           if (bus)
           ^
   drivers/base/bus.c:55:1: note: Returning without writing to 'bus->p'
   }
   ^
   drivers/base/bus.c:147:3: note: Returning from 'bus_put'
                   bus_put(bus);
                   ^~~~~~~~~~~~
   drivers/base/bus.c:149:1: note: Returning without writing to 'bus->p'
   }
   ^
   drivers/base/bus.c:573:2: note: Returning from 'bus_remove_file'
           bus_remove_file(bus, &bus_attr_drivers_probe);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/base/bus.c:574:1: note: Returning without writing to 'bus->p'
   }
   ^
   drivers/base/bus.c:872:2: note: Returning from 'remove_probe_files'
           remove_probe_files(bus);
           ^~~~~~~~~~~~~~~~~~~~~~~
   drivers/base/bus.c:873:18: note: Access to field 'drivers_kset' results in a 
dereference of a null pointer (loaded from field 'p')
           kset_unregister(bus->p->drivers_kset);
                           ^    ~
   3 warnings generated.
>> drivers/media/i2c/isl7998x.c:677:17: warning: Value stored to 'dev' during 
>> its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct device *dev = isl7998x->subdev.dev;
                          ^~~   ~~~~~~~~~~~~~~~~~~~~
   drivers/media/i2c/isl7998x.c:677:17: note: Value stored to 'dev' during its 
initialization is never read
           struct device *dev = isl7998x->subdev.dev;
                          ^~~   ~~~~~~~~~~~~~~~~~~~~
   drivers/media/i2c/isl7998x.c:919:17: warning: Value stored to 'dev' during 
its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct device *dev = &client->dev;
                          ^~~   ~~~~~~~~~~~~
   drivers/media/i2c/isl7998x.c:919:17: note: Value stored to 'dev' during its 
initialization is never read
           struct device *dev = &client->dev;
                          ^~~   ~~~~~~~~~~~~
   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).
   5 warnings generated.
   drivers/media/i2c/rdacm21.c:373:11: warning: The left operand of '==' is a 
garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
                   if (val == OV10640_ID_HIGH)
                           ^
   drivers/media/i2c/rdacm21.c:550:6: note: Assuming 'dev' is non-null
           if (!dev)
               ^~~~
   drivers/media/i2c/rdacm21.c:550:2: note: Taking false branch
           if (!dev)
           ^
   drivers/media/i2c/rdacm21.c:557:6: note: 'ret' is >= 0
           if (ret < 0) {
               ^~~
   drivers/media/i2c/rdacm21.c:557:2: note: Taking false branch
           if (ret < 0) {
           ^
   drivers/media/i2c/rdacm21.c:564:2: note: Taking false branch
           if (IS_ERR(dev->isp))
           ^
   drivers/media/i2c/rdacm21.c:567:8: note: Calling 'rdacm21_initialize'
           ret = rdacm21_initialize(dev);
                 ^~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/i2c/rdacm21.c:481:6: note: Assuming 'ret' is 0
           if (ret)
               ^~~
   drivers/media/i2c/rdacm21.c:481:2: note: Taking false branch
           if (ret)
           ^
   drivers/media/i2c/rdacm21.c:489:6: note: Assuming 'ret' is 0
           if (ret)
               ^~~
   drivers/media/i2c/rdacm21.c:489:2: note: Taking false branch
           if (ret)
           ^
   drivers/media/i2c/rdacm21.c:493:6: note: Assuming 'ret' is 0
           if (ret)
               ^~~
   drivers/media/i2c/rdacm21.c:493:2: note: Taking false branch
           if (ret)
           ^
   drivers/media/i2c/rdacm21.c:501:6: note: Assuming 'ret' is 0
           if (ret)
               ^~~
   drivers/media/i2c/rdacm21.c:501:2: note: Taking false branch
           if (ret)
           ^
   drivers/media/i2c/rdacm21.c:505:6: note: Assuming 'ret' is 0
           if (ret)
               ^~~
   drivers/media/i2c/rdacm21.c:505:2: note: Taking false branch
           if (ret)
           ^
   drivers/media/i2c/rdacm21.c:510:6: note: Assuming 'ret' is 0
           if (ret)
               ^~~
   drivers/media/i2c/rdacm21.c:510:2: note: Taking false branch
           if (ret)
           ^
   drivers/media/i2c/rdacm21.c:514:6: note: Assuming 'ret' is 0
           if (ret)
               ^~~
   drivers/media/i2c/rdacm21.c:514:2: note: Taking false branch
           if (ret)
           ^
   drivers/media/i2c/rdacm21.c:520:6: note: Assuming 'ret' is 0
           if (ret)
               ^~~
   drivers/media/i2c/rdacm21.c:520:2: note: Taking false branch
           if (ret)
           ^
   drivers/media/i2c/rdacm21.c:526:6: note: Assuming 'ret' is 0
           if (ret)
               ^~~
   drivers/media/i2c/rdacm21.c:526:2: note: Taking false branch
           if (ret)
           ^
   drivers/media/i2c/rdacm21.c:530:8: note: Calling 'ov490_initialize'
           ret = ov490_initialize(dev);
                 ^~~~~~~~~~~~~~~~~~~~~
   drivers/media/i2c/rdacm21.c:399:2: note: Loop condition is true.  Entering 
loop body
           for (i = 0; i < OV490_PID_TIMEOUT; ++i) {
           ^
   drivers/media/i2c/rdacm21.c:401:7: note: 'ret' is equal to 0
                   if (ret == 0)

vim +/dev +677 drivers/media/i2c/isl7998x.c

51ef2be546e2e4 Marek Vasut 2022-02-17  664  
51ef2be546e2e4 Marek Vasut 2022-02-17  665  static int isl7998x_init(struct 
isl7998x *isl7998x)
51ef2be546e2e4 Marek Vasut 2022-02-17  666  {
51ef2be546e2e4 Marek Vasut 2022-02-17  667      const unsigned int lanes = 
isl7998x->nr_mipi_lanes;
51ef2be546e2e4 Marek Vasut 2022-02-17  668      const u32 
isl7998x_video_in_chan_map[] = { 0x00, 0x11, 0x02, 0x02 };
51ef2be546e2e4 Marek Vasut 2022-02-17  669      const struct reg_sequence 
isl7998x_init_seq_custom[] = {
51ef2be546e2e4 Marek Vasut 2022-02-17  670              { 
ISL7998X_REG_P0_VIDEO_IN_CHAN_CTL,
51ef2be546e2e4 Marek Vasut 2022-02-17  671                
isl7998x_video_in_chan_map[isl7998x->nr_inputs - 1] },
51ef2be546e2e4 Marek Vasut 2022-02-17  672              { 
ISL7998X_REG_P0_CLK_CTL_4,
51ef2be546e2e4 Marek Vasut 2022-02-17  673                (lanes == 1) ? 0x40 : 
0x41 },
51ef2be546e2e4 Marek Vasut 2022-02-17  674              { 
ISL7998X_REG_P5_LI_ENGINE_CTL,
51ef2be546e2e4 Marek Vasut 2022-02-17  675                (lanes == 1) ? 0x01 : 
0x02 },
51ef2be546e2e4 Marek Vasut 2022-02-17  676      };
51ef2be546e2e4 Marek Vasut 2022-02-17 @677      struct device *dev = 
isl7998x->subdev.dev;
51ef2be546e2e4 Marek Vasut 2022-02-17  678      struct regmap *regmap = 
isl7998x->regmap;
51ef2be546e2e4 Marek Vasut 2022-02-17  679      int ret;
51ef2be546e2e4 Marek Vasut 2022-02-17  680  
51ef2be546e2e4 Marek Vasut 2022-02-17  681      dev_dbg(dev, "configuring %d 
lanes for %d inputs (norm %s)\n",
51ef2be546e2e4 Marek Vasut 2022-02-17  682              
isl7998x->nr_mipi_lanes, isl7998x->nr_inputs,
51ef2be546e2e4 Marek Vasut 2022-02-17  683              
v4l2_norm_to_name(isl7998x->norm));
51ef2be546e2e4 Marek Vasut 2022-02-17  684  
51ef2be546e2e4 Marek Vasut 2022-02-17  685      ret = 
regmap_register_patch(regmap, isl7998x_init_seq_1,
51ef2be546e2e4 Marek Vasut 2022-02-17  686                                  
ARRAY_SIZE(isl7998x_init_seq_1));
51ef2be546e2e4 Marek Vasut 2022-02-17  687      if (ret)
51ef2be546e2e4 Marek Vasut 2022-02-17  688              return ret;
51ef2be546e2e4 Marek Vasut 2022-02-17  689  
51ef2be546e2e4 Marek Vasut 2022-02-17  690      mutex_lock(&isl7998x->lock);
51ef2be546e2e4 Marek Vasut 2022-02-17  691      ret = 
isl7998x_set_standard(isl7998x, isl7998x->norm);
51ef2be546e2e4 Marek Vasut 2022-02-17  692      mutex_unlock(&isl7998x->lock);
51ef2be546e2e4 Marek Vasut 2022-02-17  693      if (ret)
51ef2be546e2e4 Marek Vasut 2022-02-17  694              return ret;
51ef2be546e2e4 Marek Vasut 2022-02-17  695  
51ef2be546e2e4 Marek Vasut 2022-02-17  696      ret = 
regmap_register_patch(regmap, isl7998x_init_seq_custom,
51ef2be546e2e4 Marek Vasut 2022-02-17  697                                  
ARRAY_SIZE(isl7998x_init_seq_custom));
51ef2be546e2e4 Marek Vasut 2022-02-17  698      if (ret)
51ef2be546e2e4 Marek Vasut 2022-02-17  699              return ret;
51ef2be546e2e4 Marek Vasut 2022-02-17  700  
51ef2be546e2e4 Marek Vasut 2022-02-17  701      return 
regmap_register_patch(regmap, isl7998x_init_seq_2,
51ef2be546e2e4 Marek Vasut 2022-02-17  702                                   
ARRAY_SIZE(isl7998x_init_seq_2));
51ef2be546e2e4 Marek Vasut 2022-02-17  703  }
51ef2be546e2e4 Marek Vasut 2022-02-17  704  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp
_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to