CC: [email protected]
CC: [email protected]
BCC: [email protected]
CC: [email protected]
TO: Gabriel Somlo <[email protected]>
CC: Ulf Hansson <[email protected]>
CC: Kamil Rakoczy <[email protected]>
CC: Maciej Dudek <[email protected]>
CC: Paul Mackerras <[email protected]>
CC: Joel Stanley <[email protected]>
CC: Andy Shevchenko <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   1c24a186398f59c80adb9a967486b65c1423a59d
commit: 92e099104729d7284d37bc0f49f8a9d30f3e0521 mmc: Add driver for LiteX's 
LiteSDCard interface
date:   4 weeks ago
:::::: branch date: 8 hours ago
:::::: commit date: 4 weeks ago
config: arm-randconfig-c002-20220328 
(https://download.01.org/0day-ci/archive/20220330/[email protected]/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 
0f6d9501cf49ce02937099350d08f20c4af86f3d)
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=92e099104729d7284d37bc0f49f8a9d30f3e0521
        git remote add linus 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout 92e099104729d7284d37bc0f49f8a9d30f3e0521
        # 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 >>)
   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.
   7 warnings generated.
   Suppressed 7 warnings (7 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 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 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 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 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 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 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.
   9 warnings generated.
   drivers/phy/cadence/phy-cadence-torrent.c:1352:25: warning: The result of 
the left shift is undefined because the left operand is negative 
[clang-analyzer-core.UndefinedBinaryOperatorResult]
           value |= ((~lane_mask) << PMA_TX_ELEC_IDLE_SHIFT) &
                                  ^
   drivers/phy/cadence/phy-cadence-torrent.c:1476:6: note: 'ret' is 0
           if (ret) {
               ^~~
   drivers/phy/cadence/phy-cadence-torrent.c:1476:2: note: Taking false branch
           if (ret) {
           ^
   drivers/phy/cadence/phy-cadence-torrent.c:1481:6: note: Assuming field 
'set_lanes' is not equal to 0
           if (opts->dp.set_lanes) {
               ^~~~~~~~~~~~~~~~~~
   drivers/phy/cadence/phy-cadence-torrent.c:1481:2: note: Taking true branch
           if (opts->dp.set_lanes) {
           ^
   drivers/phy/cadence/phy-cadence-torrent.c:1482:9: note: Calling 
'cdns_torrent_dp_set_lanes'
                   ret = cdns_torrent_dp_set_lanes(cdns_phy, &opts->dp);
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/phy/cadence/phy-cadence-torrent.c:1352:25: note: The result of the 
left shift is undefined because the left operand is negative
           value |= ((~lane_mask) << PMA_TX_ELEC_IDLE_SHIFT) &
                     ~~~~~~~~~~~~ ^
   Suppressed 8 warnings (8 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 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.
   12 warnings generated.
   drivers/mmc/host/mmc_spi.c:354:4: warning: Value stored to 'end' is never 
read [clang-analyzer-deadcode.DeadStores]
                           end = cp+1;
                           ^     ~~~~
   drivers/mmc/host/mmc_spi.c:354:4: note: Value stored to 'end' is never read
                           end = cp+1;
                           ^     ~~~~
   drivers/mmc/host/mmc_spi.c:866:15: warning: Value stored to 'write_or_read' 
during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           const char              *write_or_read = (direction == 
DMA_TO_DEVICE) ? "write" : "read";
                                    ^~~~~~~~~~~~~   
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/mmc/host/mmc_spi.c:866:15: note: Value stored to 'write_or_read' 
during its initialization is never read
           const char              *write_or_read = (direction == 
DMA_TO_DEVICE) ? "write" : "read";
                                    ^~~~~~~~~~~~~   
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/mmc/host/mmc_spi.c:1076:4: warning: Value stored to 'status' is 
never read [clang-analyzer-deadcode.DeadStores]
                           status = mmc_spi_command_send(host, mrq, &stop, 0);
                           ^        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/mmc/host/mmc_spi.c:1076:4: note: Value stored to 'status' is never 
read
                           status = mmc_spi_command_send(host, mrq, &stop, 0);
                           ^        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/mmc/host/mmc_spi.c:1083:4: warning: Value stored to 'status' is 
never read [clang-analyzer-deadcode.DeadStores]
                           status = mmc_spi_command_send(host, mrq, mrq->stop, 
0);
                           ^        
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/mmc/host/mmc_spi.c:1083:4: note: Value stored to 'status' is never 
read
                           status = mmc_spi_command_send(host, mrq, mrq->stop, 
0);
                           ^        
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/mmc/host/mmc_spi.c:1238:3: warning: Value stored to 'status' is 
never read [clang-analyzer-deadcode.DeadStores]
                   status = spi_setup(host->spi);
                   ^        ~~~~~~~~~~~~~~~~~~~~
   drivers/mmc/host/mmc_spi.c:1238:3: note: Value stored to 'status' is never 
read
                   status = spi_setup(host->spi);
                   ^        ~~~~~~~~~~~~~~~~~~~~
   Suppressed 7 warnings (7 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 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 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.
   8 warnings generated.
>> drivers/mmc/host/litex_mmc.c:436:17: warning: Value stored to 'dev' during 
>> its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct device *dev = mmc_dev(host->mmc);
                          ^~~
   drivers/mmc/host/litex_mmc.c:436:17: note: Value stored to 'dev' during its 
initialization is never read
           struct device *dev = mmc_dev(host->mmc);
                          ^~~
   Suppressed 7 warnings (7 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 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 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 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 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 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.
   7 warnings generated.
   Suppressed 7 warnings (7 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 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.
   8 warnings generated.
   Suppressed 8 warnings (7 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 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 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 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 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.
   8 warnings generated.
   drivers/gpu/drm/tegra/sor.c:809:7: warning: Value stored to 'value' is never 
read [clang-analyzer-deadcode.DeadStores]
           for (value = 0, i = 0; i < link->lanes; i++) {
                ^       ~
   drivers/gpu/drm/tegra/sor.c:809:7: note: Value stored to 'value' is never 
read
           for (value = 0, i = 0; i < link->lanes; i++) {
                ^       ~
   Suppressed 7 warnings (7 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.
   9 warnings generated.
   drivers/gpu/drm/tegra/dpaux.c:755:14: warning: The left operand of '!=' is a 
garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
                   if (status != connector_status_connected)
                       ~~~~~~ ^
   drivers/gpu/drm/tegra/dpaux.c:729:6: note: Assuming 'err' is >= 0
           if (err < 0)
               ^~~~~~~
   drivers/gpu/drm/tegra/dpaux.c:729:2: note: Taking false branch
           if (err < 0)
           ^
   drivers/gpu/drm/tegra/dpaux.c:735:6: note: Assuming field 'panel' is non-null
           if (output->panel) {
               ^~~~~~~~~~~~~
   drivers/gpu/drm/tegra/dpaux.c:735:2: note: Taking true branch
           if (output->panel) {
           ^
   drivers/gpu/drm/tegra/dpaux.c:736:3: note: 'status' declared without an 
initial value
                   enum drm_connector_status status;
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/tegra/dpaux.c:738:7: note: Assuming field 'vdd' is null
                   if (dpaux->vdd) {
                       ^~~~~~~~~~
   drivers/gpu/drm/tegra/dpaux.c:738:3: note: Taking false branch
                   if (dpaux->vdd) {
                   ^
   drivers/gpu/drm/tegra/dpaux.c:746:10: note: Left side of '&&' is true
                   while (time_before(jiffies, timeout)) {
                          ^
   include/linux/jiffies.h:108:26: note: expanded from macro 'time_before'
   #define time_before(a,b)        time_after(b,a)
                                   ^
   include/linux/jiffies.h:105:3: note: expanded from macro 'time_after'
           (typecheck(unsigned long, a) && \
            ^
   include/linux/typecheck.h:9:27: note: expanded from macro 'typecheck'
   #define typecheck(type,x) \
                             ^
   drivers/gpu/drm/tegra/dpaux.c:746:10: note: Left side of '&&' is true
                   while (time_before(jiffies, timeout)) {
                          ^
   include/linux/jiffies.h:108:26: note: expanded from macro 'time_before'
   #define time_before(a,b)        time_after(b,a)
                                   ^
   include/linux/jiffies.h:105:3: note: expanded from macro 'time_after'
           (typecheck(unsigned long, a) && \

vim +/dev +436 drivers/mmc/host/litex_mmc.c

92e099104729d72 Gabriel Somlo 2022-01-13  433  
92e099104729d72 Gabriel Somlo 2022-01-13  434  static void 
litex_mmc_setclk(struct litex_mmc_host *host, unsigned int freq)
92e099104729d72 Gabriel Somlo 2022-01-13  435  {
92e099104729d72 Gabriel Somlo 2022-01-13 @436   struct device *dev = 
mmc_dev(host->mmc);
92e099104729d72 Gabriel Somlo 2022-01-13  437   u32 div;
92e099104729d72 Gabriel Somlo 2022-01-13  438  
92e099104729d72 Gabriel Somlo 2022-01-13  439   div = freq ? host->ref_clk / 
freq : 256U;
92e099104729d72 Gabriel Somlo 2022-01-13  440   div = roundup_pow_of_two(div);
92e099104729d72 Gabriel Somlo 2022-01-13  441   div = clamp(div, 2U, 256U);
92e099104729d72 Gabriel Somlo 2022-01-13  442   dev_dbg(dev, "sd_clk_freq=%d: 
set to %d via div=%d\n",
92e099104729d72 Gabriel Somlo 2022-01-13  443           freq, host->ref_clk / 
div, div);
92e099104729d72 Gabriel Somlo 2022-01-13  444   litex_write16(host->sdphy + 
LITEX_PHY_CLOCKERDIV, div);
92e099104729d72 Gabriel Somlo 2022-01-13  445   host->sd_clk = freq;
92e099104729d72 Gabriel Somlo 2022-01-13  446  }
92e099104729d72 Gabriel Somlo 2022-01-13  447  

-- 
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