CC: l...@lists.linux.dev
CC: kbuild-...@lists.01.org
BCC: l...@intel.com
CC: linux-ker...@vger.kernel.org
TO: Eugen Hristev <eugen.hris...@microchip.com>
CC: Mauro Carvalho Chehab <mche...@kernel.org>
CC: linux-me...@vger.kernel.org
CC: Jacopo Mondi <jacopo+rene...@jmondi.org>
CC: Hans Verkuil <hverk...@xs4all.nl>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   3e732ebf7316ac83e8562db7e64cc68aec390a18
commit: 118bf76a35bc2ed061cd1454fe5e57d1c7bcd8d0 media: atmel: atmel-isc: split 
the clock code into separate source file
date:   2 months ago
:::::: branch date: 2 days ago
:::::: commit date: 2 months ago
config: arm-randconfig-c002-20220407 
(https://download.01.org/0day-ci/archive/20220407/202204072054.8oocmxhk-...@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 
6b306233f78876a1d197ed6e1f05785505de7c63)
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 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 <l...@intel.com>


clang-analyzer warnings: (new ones prefixed by >>)
   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.
   2 warnings generated.
   drivers/iio/adc/ti-ads8688.c:64:8: warning: Excessive padding in 'struct 
ads8688_state' (44 padding bytes, where 12 is optimal). 
   Optimal fields order: 
   data, 
   chip_info, 
   spi, 
   reg, 
   vref_mv, 
   lock, 
   range, 
   consider reordering the fields or adding explicit padding members 
[clang-analyzer-optin.performance.Padding]
   struct ads8688_state {
   ~~~~~~~^~~~~~~~~~~~~~~
   drivers/iio/adc/ti-ads8688.c:64:8: note: Excessive padding in 'struct 
ads8688_state' (44 padding bytes, where 12 is optimal). Optimal fields order: 
data, chip_info, spi, reg, vref_mv, lock, range, consider reordering the fields 
or adding explicit padding members
   struct ads8688_state {
   ~~~~~~~^~~~~~~~~~~~~~~
   Suppressed 1 warnings (1 with check filters).
   1 warning generated.
   drivers/iio/adc/twl6030-gpadc.c:911:2: warning: Value stored to 'ret' is 
never read [clang-analyzer-deadcode.DeadStores]
           ret = devm_request_threaded_irq(dev, irq, NULL,
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/iio/adc/twl6030-gpadc.c:911:2: note: Value stored to 'ret' is never 
read
           ret = devm_request_threaded_irq(dev, irq, NULL,
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   2 warnings generated.
   Suppressed 2 warnings (1 in non-user code, 1 with check filters).
   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 (1 in non-user code, 1 with check filters).
   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.
   net/strparser/strparser.c:161:5: warning: Value stored to 'head' is never 
read [clang-analyzer-deadcode.DeadStores]
                                   head = skb;
                                   ^      ~~~
   net/strparser/strparser.c:161:5: note: Value stored to 'head' is never read
                                   head = skb;
                                   ^      ~~~
   Suppressed 2 warnings (1 in non-user code, 1 with check filters).
   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.
   fs/ext4/page-io.c:325:11: warning: Value stored to 'bi_sector' during its 
initialization is never read [clang-analyzer-deadcode.DeadStores]
           sector_t bi_sector = bio->bi_iter.bi_sector;
                    ^~~~~~~~~   ~~~~~~~~~~~~~~~~~~~~~~
   fs/ext4/page-io.c:325:11: note: Value stored to 'bi_sector' during its 
initialization is never read
           sector_t bi_sector = bio->bi_iter.bi_sector;
                    ^~~~~~~~~   ~~~~~~~~~~~~~~~~~~~~~~
   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.
   1 warning generated.
   Suppressed 1 warnings (1 with check filters).
   1 warning generated.
   drivers/iio/proximity/vcnl3020.c:76:8: warning: Excessive padding in 'struct 
vcnl3020_data' (57 padding bytes, where 25 is optimal). 
   Optimal fields order: 
   buf, 
   rev, 
   regmap, 
   dev, 
   lock, 
   consider reordering the fields or adding explicit padding members 
[clang-analyzer-optin.performance.Padding]
   struct vcnl3020_data {
   ~~~~~~~^~~~~~~~~~~~~~~
   drivers/iio/proximity/vcnl3020.c:76:8: note: Excessive padding in 'struct 
vcnl3020_data' (57 padding bytes, where 25 is optimal). Optimal fields order: 
buf, rev, regmap, dev, lock, consider reordering the fields or adding explicit 
padding members
   struct vcnl3020_data {
   ~~~~~~~^~~~~~~~~~~~~~~
   5 warnings generated.
   Suppressed 5 warnings (1 in non-user code, 4 with check filters).
   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.
   Suppressed 4 warnings (4 with check filters).
   1 warning generated.
   Suppressed 1 warnings (1 with check filters).
   3 warnings generated.
   net/unix/af_unix.c:1684:3: warning: Value stored to 'err' is never read 
[clang-analyzer-deadcode.DeadStores]
                   err = 0;
                   ^     ~
   net/unix/af_unix.c:1684:3: note: Value stored to 'err' is never read
                   err = 0;
                   ^     ~
   net/unix/af_unix.c:2689:3: warning: Value stored to 'err' is never read 
[clang-analyzer-deadcode.DeadStores]
                   err = -EOPNOTSUPP;
                   ^     ~~~~~~~~~~~
   net/unix/af_unix.c:2689:3: note: Value stored to 'err' is never read
                   err = -EOPNOTSUPP;
                   ^     ~~~~~~~~~~~
   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).
   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 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.
   1 warning generated.
   net/ieee802154/nl-mac.c:529:2: warning: Value stored to 'rc' is never read 
[clang-analyzer-deadcode.DeadStores]
           rc = ops->set_mac_params(dev, &params);
           ^    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   net/ieee802154/nl-mac.c:529:2: note: Value stored to 'rc' is never read
           rc = ops->set_mac_params(dev, &params);
           ^    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   1 warning generated.
   Suppressed 1 warnings (1 with check filters).
   3 warnings generated.
   net/ipv4/udp.c:742:2: warning: Value stored to 'err' is never read 
[clang-analyzer-deadcode.DeadStores]
           err = 0;
           ^     ~
   net/ipv4/udp.c:742:2: note: Value stored to 'err' is never read
           err = 0;
           ^     ~
   Suppressed 2 warnings (1 in non-user code, 1 with check filters).
   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.
   drivers/iio/potentiometer/ad5272.c:49:8: warning: Excessive padding in 
'struct ad5272_data' (58 padding bytes, where 26 is optimal). 
   Optimal fields order: 
   buf, 
   client, 
   cfg, 
   lock, 
   consider reordering the fields or adding explicit padding members 
[clang-analyzer-optin.performance.Padding]
   struct ad5272_data {
   ~~~~~~~^~~~~~~~~~~~~
   drivers/iio/potentiometer/ad5272.c:49:8: note: Excessive padding in 'struct 
ad5272_data' (58 padding bytes, where 26 is optimal). Optimal fields order: 
buf, client, cfg, lock, consider reordering the fields or adding explicit 
padding members
   struct ad5272_data {
   ~~~~~~~^~~~~~~~~~~~~
   1 warning generated.
   Suppressed 1 warnings (1 with check filters).
   4 warnings generated.
   net/ipv4/route.c:879:2: warning: Value stored to 'log_martians' is never 
read [clang-analyzer-deadcode.DeadStores]
           log_martians = IN_DEV_LOG_MARTIANS(in_dev);
           ^
   net/ipv4/route.c:879:2: note: Value stored to 'log_martians' is never read
   Suppressed 3 warnings (1 in non-user code, 2 with check filters).
   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).
   2 warnings generated.
   net/ipv4/ip_fragment.c:619:3: warning: Argument to kfree() is the address of 
the global variable 'ip4_frags_ns_ctl_table', which is not memory allocated by 
malloc() [clang-analyzer-unix.Malloc]
                   kfree(table);
                   ^
   net/ipv4/ip_fragment.c:657:6: note: Assuming 'res' is >= 0
           if (res < 0)
               ^~~~~~~
   net/ipv4/ip_fragment.c:657:2: note: Taking false branch
           if (res < 0)
           ^
   net/ipv4/ip_fragment.c:684:8: note: Calling 'ip4_frags_ns_ctl_register'
           res = ip4_frags_ns_ctl_register(net);
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   net/ipv4/ip_fragment.c:597:6: note: Assuming the condition is false
           if (!net_eq(net, &init_net)) {
               ^~~~~~~~~~~~~~~~~~~~~~~
   net/ipv4/ip_fragment.c:597:2: note: Taking false branch
           if (!net_eq(net, &init_net)) {
           ^
   net/ipv4/ip_fragment.c:611:6: note: Assuming 'hdr' is null
           if (!hdr)
               ^~~~
   net/ipv4/ip_fragment.c:611:2: note: Taking true branch
           if (!hdr)
           ^
   net/ipv4/ip_fragment.c:612:3: note: Control jumps to line 618
                   goto err_reg;
                   ^
   net/ipv4/ip_fragment.c:618:6: note: Assuming the condition is true
           if (!net_eq(net, &init_net))
               ^~~~~~~~~~~~~~~~~~~~~~~
   net/ipv4/ip_fragment.c:618:2: note: Taking true branch
           if (!net_eq(net, &init_net))
           ^
   net/ipv4/ip_fragment.c:619:3: note: Argument to kfree() is the address of 
the global variable 'ip4_frags_ns_ctl_table', which is not memory allocated by 
malloc()
                   kfree(table);
                   ^     ~~~~~
   Suppressed 1 warnings (1 with check filters).
   14 warnings generated.
   Suppressed 14 warnings (1 in non-user code, 13 with check filters).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.

vim +/isc_clk +125 drivers/media/platform/atmel/atmel-isc-clk.c

118bf76a35bc2e Eugen Hristev 2021-12-13  121  
118bf76a35bc2e Eugen Hristev 2021-12-13  122  static int 
isc_clk_determine_rate(struct clk_hw *hw,
118bf76a35bc2e Eugen Hristev 2021-12-13  123                              
struct clk_rate_request *req)
118bf76a35bc2e Eugen Hristev 2021-12-13  124  {
118bf76a35bc2e Eugen Hristev 2021-12-13 @125    struct isc_clk *isc_clk = 
to_isc_clk(hw);
118bf76a35bc2e Eugen Hristev 2021-12-13  126    long best_rate = -EINVAL;
118bf76a35bc2e Eugen Hristev 2021-12-13  127    int best_diff = -1;
118bf76a35bc2e Eugen Hristev 2021-12-13  128    unsigned int i, div;
118bf76a35bc2e Eugen Hristev 2021-12-13  129  
118bf76a35bc2e Eugen Hristev 2021-12-13  130    for (i = 0; i < 
clk_hw_get_num_parents(hw); i++) {
118bf76a35bc2e Eugen Hristev 2021-12-13  131            struct clk_hw *parent;
118bf76a35bc2e Eugen Hristev 2021-12-13  132            unsigned long 
parent_rate;
118bf76a35bc2e Eugen Hristev 2021-12-13  133  
118bf76a35bc2e Eugen Hristev 2021-12-13  134            parent = 
clk_hw_get_parent_by_index(hw, i);
118bf76a35bc2e Eugen Hristev 2021-12-13  135            if (!parent)
118bf76a35bc2e Eugen Hristev 2021-12-13  136                    continue;
118bf76a35bc2e Eugen Hristev 2021-12-13  137  
118bf76a35bc2e Eugen Hristev 2021-12-13  138            parent_rate = 
clk_hw_get_rate(parent);
118bf76a35bc2e Eugen Hristev 2021-12-13  139            if (!parent_rate)
118bf76a35bc2e Eugen Hristev 2021-12-13  140                    continue;
118bf76a35bc2e Eugen Hristev 2021-12-13  141  
118bf76a35bc2e Eugen Hristev 2021-12-13  142            for (div = 1; div < 
ISC_CLK_MAX_DIV + 2; div++) {
118bf76a35bc2e Eugen Hristev 2021-12-13  143                    unsigned long 
rate;
118bf76a35bc2e Eugen Hristev 2021-12-13  144                    int diff;
118bf76a35bc2e Eugen Hristev 2021-12-13  145  
118bf76a35bc2e Eugen Hristev 2021-12-13  146                    rate = 
DIV_ROUND_CLOSEST(parent_rate, div);
118bf76a35bc2e Eugen Hristev 2021-12-13  147                    diff = 
abs(req->rate - rate);
118bf76a35bc2e Eugen Hristev 2021-12-13  148  
118bf76a35bc2e Eugen Hristev 2021-12-13  149                    if (best_diff < 
0 || best_diff > diff) {
118bf76a35bc2e Eugen Hristev 2021-12-13  150                            
best_rate = rate;
118bf76a35bc2e Eugen Hristev 2021-12-13  151                            
best_diff = diff;
118bf76a35bc2e Eugen Hristev 2021-12-13  152                            
req->best_parent_rate = parent_rate;
118bf76a35bc2e Eugen Hristev 2021-12-13  153                            
req->best_parent_hw = parent;
118bf76a35bc2e Eugen Hristev 2021-12-13  154                    }
118bf76a35bc2e Eugen Hristev 2021-12-13  155  
118bf76a35bc2e Eugen Hristev 2021-12-13  156                    if (!best_diff 
|| rate < req->rate)
118bf76a35bc2e Eugen Hristev 2021-12-13  157                            break;
118bf76a35bc2e Eugen Hristev 2021-12-13  158            }
118bf76a35bc2e Eugen Hristev 2021-12-13  159  
118bf76a35bc2e Eugen Hristev 2021-12-13  160            if (!best_diff)
118bf76a35bc2e Eugen Hristev 2021-12-13  161                    break;
118bf76a35bc2e Eugen Hristev 2021-12-13  162    }
118bf76a35bc2e Eugen Hristev 2021-12-13  163  
118bf76a35bc2e Eugen Hristev 2021-12-13  164    dev_dbg(isc_clk->dev,
118bf76a35bc2e Eugen Hristev 2021-12-13  165            "ISC CLK: %s, best_rate 
= %ld, parent clk: %s @ %ld\n",
118bf76a35bc2e Eugen Hristev 2021-12-13  166            __func__, best_rate,
118bf76a35bc2e Eugen Hristev 2021-12-13  167            
__clk_get_name((req->best_parent_hw)->clk),
118bf76a35bc2e Eugen Hristev 2021-12-13  168            req->best_parent_rate);
118bf76a35bc2e Eugen Hristev 2021-12-13  169  
118bf76a35bc2e Eugen Hristev 2021-12-13  170    if (best_rate < 0)
118bf76a35bc2e Eugen Hristev 2021-12-13  171            return best_rate;
118bf76a35bc2e Eugen Hristev 2021-12-13  172  
118bf76a35bc2e Eugen Hristev 2021-12-13  173    req->rate = best_rate;
118bf76a35bc2e Eugen Hristev 2021-12-13  174  
118bf76a35bc2e Eugen Hristev 2021-12-13  175    return 0;
118bf76a35bc2e Eugen Hristev 2021-12-13  176  }
118bf76a35bc2e Eugen Hristev 2021-12-13  177  

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

Reply via email to