All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: arch/arm/mach-omap2/id.c:158:2: warning: Value stored to 'rev' is never read [clang-analyzer-deadcode.DeadStores]
Date: Tue, 04 Jan 2022 10:46:02 +0800	[thread overview]
Message-ID: <202201041044.vbmB2v4W-lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 525753 bytes --]

CC: llvm(a)lists.linux.dev
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Randy Dunlap <rdunlap@infradead.org>
CC: Russell King <rmk+kernel@armlinux.org.uk>

Hi Randy,

First bad commit (maybe != root cause):

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   c9e6606c7fe92b50a02ce51dda82586ebdf99b48
commit: fd749fe4bcb00ad80d9eece709f804bb4ac6bf1e ARM: 9065/1: OABI compat: fix build when EPOLL is not enabled
date:   11 months ago
:::::: branch date: 28 hours ago
:::::: commit date: 11 months ago
config: arm-randconfig-c002-20220103 (https://download.01.org/0day-ci/archive/20220104/202201041044.vbmB2v4W-lkp(a)intel.com/config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project b50fea47b6c454581fce89af359f3afe5154986c)
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=fd749fe4bcb00ad80d9eece709f804bb4ac6bf1e
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout fd749fe4bcb00ad80d9eece709f804bb4ac6bf1e
        # 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 <lkp@intel.com>


clang-analyzer warnings: (new ones prefixed by >>)
                   ^
   fs/jfs/jfs_dmap.c:4008:4: note:  Execution continues on line 4011
                           break;
                           ^
   fs/jfs/jfs_dmap.c:4012:6: note: 'sz' is < 'nblocks'
           if (sz < nblocks)
               ^~
   fs/jfs/jfs_dmap.c:4012:2: note: Taking true branch
           if (sz < nblocks)
           ^
   fs/jfs/jfs_dmap.c:4016:2: note: Returning the value 57
           return (l2sz - L2MAXAG);
           ^~~~~~~~~~~~~~~~~~~~~~~
   fs/jfs/jfs_dmap.c:3407:13: note: Returning from 'dbGetL2AGSize'
           l2agsize = dbGetL2AGSize(newsize);
                      ^~~~~~~~~~~~~~~~~~~~~~
   fs/jfs/jfs_dmap.c:3407:2: note: The value 57 is assigned to 'l2agsize'
           l2agsize = dbGetL2AGSize(newsize);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/jfs/jfs_dmap.c:3411:21: note: The result of the left shift is undefined due to shifting by '57', which is greater or equal to the width of type 'int'
           bmp->db_agsize = 1 << l2agsize;
                              ^  ~~~~~~~~
   fs/jfs/jfs_dmap.c:4011:15: warning: The result of the left shift is undefined due to shifting by '64', which is greater or equal to the width of type 's64' [clang-analyzer-core.UndefinedBinaryOperatorResult]
           sz = (s64) 1 << l2sz;
                        ^
   fs/jfs/jfs_dmap.c:3392:2: note: Assuming 'jfsloglevel' is < 4
           jfs_info("dbExtendFS: blkno:%Ld nblocks:%Ld newsize:%Ld",
           ^
   fs/jfs/jfs_debug.h:56:6: note: expanded from macro 'jfs_info'
           if (jfsloglevel >= JFS_LOGLEVEL_INFO)           \
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/jfs/jfs_dmap.c:3392:2: note: Taking false branch
           jfs_info("dbExtendFS: blkno:%Ld nblocks:%Ld newsize:%Ld",
           ^
   fs/jfs/jfs_debug.h:56:2: note: expanded from macro 'jfs_info'
           if (jfsloglevel >= JFS_LOGLEVEL_INFO)           \
           ^
   fs/jfs/jfs_dmap.c:3392:2: note: Loop condition is false.  Exiting loop
           jfs_info("dbExtendFS: blkno:%Ld nblocks:%Ld newsize:%Ld",
           ^
   fs/jfs/jfs_debug.h:55:31: note: expanded from macro 'jfs_info'
   #define jfs_info(fmt, arg...) do {                      \
                                 ^
   fs/jfs/jfs_dmap.c:3404:21: note: Assuming the condition is true
           bmp->db_maxlevel = BMAPSZTOLEV(bmp->db_mapsize);
                              ^
   fs/jfs/jfs_dmap.h:117:4: note: expanded from macro 'BMAPSZTOLEV'
           (((size) <= MAXL0SIZE) ? 0 : ((size) <= MAXL1SIZE) ? 1 : 2)
             ^~~~~~~~~~~~~~~~~~~
   fs/jfs/jfs_dmap.c:3404:21: note: '?' condition is true
           bmp->db_maxlevel = BMAPSZTOLEV(bmp->db_mapsize);
                              ^
   fs/jfs/jfs_dmap.h:117:3: note: expanded from macro 'BMAPSZTOLEV'
           (((size) <= MAXL0SIZE) ? 0 : ((size) <= MAXL1SIZE) ? 1 : 2)
            ^
   fs/jfs/jfs_dmap.c:3407:13: note: Calling 'dbGetL2AGSize'
           l2agsize = dbGetL2AGSize(newsize);
                      ^~~~~~~~~~~~~~~~~~~~~~
   fs/jfs/jfs_dmap.c:4001:6: note: Assuming the condition is false
           if (nblocks < BPERDMAP * MAXAG)
               ^~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/jfs/jfs_dmap.c:4001:2: note: Taking false branch
           if (nblocks < BPERDMAP * MAXAG)
           ^
   fs/jfs/jfs_dmap.c:4006:7: note: The value 64 is assigned to 'l2sz'
           for (l2sz = 64; l2sz >= 0; l2sz--, m >>= 1) {
                ^~~~~~~~~
   fs/jfs/jfs_dmap.c:4006:2: note: Loop condition is true.  Entering loop body
           for (l2sz = 64; l2sz >= 0; l2sz--, m >>= 1) {
           ^
   fs/jfs/jfs_dmap.c:4007:7: note: Assuming the condition is true
                   if (m & nblocks)
                       ^~~~~~~~~~~
   fs/jfs/jfs_dmap.c:4007:3: note: Taking true branch
                   if (m & nblocks)
                   ^
   fs/jfs/jfs_dmap.c:4008:4: note:  Execution continues on line 4011
                           break;
                           ^
   fs/jfs/jfs_dmap.c:4011:15: note: The result of the left shift is undefined due to shifting by '64', which is greater or equal to the width of type 's64'
           sz = (s64) 1 << l2sz;
                        ^  ~~~~
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   5 warnings generated.
>> arch/arm/mach-omap2/id.c:158:2: warning: Value stored to 'rev' is never read [clang-analyzer-deadcode.DeadStores]
           rev = (idcode >> 28) & 0x0f;
           ^     ~~~~~~~~~~~~~~~~~~~~~
   arch/arm/mach-omap2/id.c:158:2: note: Value stored to 'rev' is never read
           rev = (idcode >> 28) & 0x0f;
           ^     ~~~~~~~~~~~~~~~~~~~~~
   arch/arm/mach-omap2/id.c:191:3: warning: Value stored to 'j' is never read [clang-analyzer-deadcode.DeadStores]
                   j = i;
                   ^   ~
   arch/arm/mach-omap2/id.c:191:3: note: Value stored to 'j' is never read
                   j = i;
                   ^   ~
   arch/arm/mach-omap2/id.c:266:2: warning: Value stored to 'n' is never read [clang-analyzer-deadcode.DeadStores]
           n += scnprintf(buf + n, sizeof(buf) - n, ")\n");
           ^    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/arm/mach-omap2/id.c:266:2: note: Value stored to 'n' is never read
           n += scnprintf(buf + n, sizeof(buf) - n, ")\n");
           ^    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/arm/mach-omap2/id.c:363:3: warning: Value stored to 'cpu_rev' is never read [clang-analyzer-deadcode.DeadStores]
                   cpu_rev = "1.0";
                   ^         ~~~~~
   arch/arm/mach-omap2/id.c:363:3: note: Value stored to 'cpu_rev' is never read
                   cpu_rev = "1.0";
                   ^         ~~~~~
   arch/arm/mach-omap2/id.c:773:9: warning: 3rd function call argument is an uninitialized value [clang-analyzer-core.CallAndMessage]
           return sprintf(buf, "%s\n", omap_types[omap_type()]);
                  ^                    ~~~~~~~~~~~~~~~~~~~~~~~
   arch/arm/mach-omap2/id.c:773:41: note: Calling 'omap_type'
           return sprintf(buf, "%s\n", omap_types[omap_type()]);
                                                  ^~~~~~~~~~~
   arch/arm/mach-omap2/id.c:52:2: note: 'val' initialized to 1792
           static u32 val = OMAP2_DEVICETYPE_MASK;
           ^~~~~~~~~~~~~~
   arch/arm/mach-omap2/id.c:54:2: note: Taking false branch
           if (val < OMAP2_DEVICETYPE_MASK)
           ^
   arch/arm/mach-omap2/id.c:57:2: note: Taking false branch
           if (soc_is_omap24xx()) {
           ^
   arch/arm/mach-omap2/id.c:59:9: note: Taking false branch
           } else if (soc_is_ti81xx()) {
                  ^
   arch/arm/mach-omap2/id.c:61:13: note: Left side of '||' is false
           } else if (soc_is_am33xx() || soc_is_am43xx()) {
                      ^
   arch/arm/mach-omap2/soc.h:174:27: note: expanded from macro 'soc_is_am33xx'
   #define soc_is_am33xx()                 0
                                           ^
   arch/arm/mach-omap2/id.c:61:9: note: Taking false branch
           } else if (soc_is_am33xx() || soc_is_am43xx()) {
                  ^
   arch/arm/mach-omap2/id.c:63:9: note: Taking false branch
           } else if (soc_is_omap34xx()) {
                  ^
   arch/arm/mach-omap2/id.c:65:9: note: Taking false branch
           } else if (soc_is_omap44xx()) {
                  ^
   arch/arm/mach-omap2/id.c:67:13: note: Left side of '||' is false
           } else if (soc_is_omap54xx() || soc_is_dra7xx()) {
                      ^
   arch/arm/mach-omap2/soc.h:309:29: note: expanded from macro 'soc_is_omap54xx'
   # define soc_is_omap54xx()              is_omap54xx()
                                           ^
   arch/arm/mach-omap2/id.c:67:9: note: Taking false branch
           } else if (soc_is_omap54xx() || soc_is_dra7xx()) {
                  ^
   arch/arm/mach-omap2/id.c:74:3: note: Control jumps to line 81
                   goto out;
                   ^
   arch/arm/mach-omap2/id.c:81:2: note: Returning the value 1792 (loaded from 'val')
           return val;
           ^~~~~~~~~~
   arch/arm/mach-omap2/id.c:773:41: note: Returning from 'omap_type'
           return sprintf(buf, "%s\n", omap_types[omap_type()]);
                                                  ^~~~~~~~~~~
   arch/arm/mach-omap2/id.c:773:9: note: 3rd function call argument is an uninitialized value
           return sprintf(buf, "%s\n", omap_types[omap_type()]);
                  ^                    ~~~~~~~~~~~~~~~~~~~~~~~
   14 warnings generated.
   mm/oom_kill.c:257:17: warning: Value stored to 'highest_zoneidx' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           enum zone_type highest_zoneidx = gfp_zone(oc->gfp_mask);
                          ^~~~~~~~~~~~~~~   ~~~~~~~~~~~~~~~~~~~~~~
   mm/oom_kill.c:257:17: note: Value stored to 'highest_zoneidx' during its initialization is never read
           enum zone_type highest_zoneidx = gfp_zone(oc->gfp_mask);
                          ^~~~~~~~~~~~~~~   ~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   Suppressed 12 warnings (12 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.
   14 warnings generated.
   mm/page-writeback.c:1408:14: warning: The result of the left shift is undefined because the right operand is negative [clang-analyzer-core.UndefinedBinaryOperatorResult]
                   return 1UL << (ilog2(thresh - dirty) >> 1);
                              ^
   mm/page-writeback.c:1885:6: note: Assuming the condition is false
           if (!(bdi->capabilities & BDI_CAP_WRITEBACK))
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   mm/page-writeback.c:1885:2: note: Taking false branch
--
   drivers/pinctrl/samsung/pinctrl-samsung.c:997:6: note: Assuming 'id' is < field 'num_ctrl'
           if (id >= of_data->num_ctrl) {
               ^~~~~~~~~~~~~~~~~~~~~~~
   drivers/pinctrl/samsung/pinctrl-samsung.c:997:2: note: Taking false branch
           if (id >= of_data->num_ctrl) {
           ^
   drivers/pinctrl/samsung/pinctrl-samsung.c:1002:2: note: Returning pointer, which participates in a condition later
           return &(of_data->ctrl[id]);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/pinctrl/samsung/pinctrl-samsung.c:1019:9: note: Returning from 'samsung_pinctrl_get_soc_data_for_of_alias'
           ctrl = samsung_pinctrl_get_soc_data_for_of_alias(pdev);
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/pinctrl/samsung/pinctrl-samsung.c:1020:6: note: Assuming 'ctrl' is non-null
           if (!ctrl)
               ^~~~~
   drivers/pinctrl/samsung/pinctrl-samsung.c:1020:2: note: Taking false branch
           if (!ctrl)
           ^
   drivers/pinctrl/samsung/pinctrl-samsung.c:1026:17: note: Calling 'devm_kcalloc'
           d->pin_banks = devm_kcalloc(&pdev->dev, d->nr_banks,
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/device.h:232:9: note: Calling 'devm_kmalloc_array'
           return devm_kmalloc_array(dev, n, size, flags | __GFP_ZERO);
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/device.h:224:2: note: Taking false branch
           if (unlikely(check_mul_overflow(n, size, &bytes)))
           ^
   include/linux/device.h:227:2: note: Returning pointer, which participates in a condition later
           return devm_kmalloc(dev, bytes, flags);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/device.h:232:9: note: Returning from 'devm_kmalloc_array'
           return devm_kmalloc_array(dev, n, size, flags | __GFP_ZERO);
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/device.h:232:2: note: Returning pointer, which participates in a condition later
           return devm_kmalloc_array(dev, n, size, flags | __GFP_ZERO);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/pinctrl/samsung/pinctrl-samsung.c:1026:17: note: Returning from 'devm_kcalloc'
           d->pin_banks = devm_kcalloc(&pdev->dev, d->nr_banks,
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/pinctrl/samsung/pinctrl-samsung.c:1028:6: note: Assuming field 'pin_banks' is non-null
           if (!d->pin_banks)
               ^~~~~~~~~~~~~
   drivers/pinctrl/samsung/pinctrl-samsung.c:1028:2: note: Taking false branch
           if (!d->pin_banks)
           ^
   drivers/pinctrl/samsung/pinctrl-samsung.c:1031:6: note: Assuming the condition is false
           if (ctrl->nr_ext_resources + 1 > SAMSUNG_PINCTRL_NUM_RESOURCES)
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/pinctrl/samsung/pinctrl-samsung.c:1031:2: note: Taking false branch
           if (ctrl->nr_ext_resources + 1 > SAMSUNG_PINCTRL_NUM_RESOURCES)
           ^
   drivers/pinctrl/samsung/pinctrl-samsung.c:1034:14: note: Assuming the condition is false
           for (i = 0; i < ctrl->nr_ext_resources + 1; i++) {
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/pinctrl/samsung/pinctrl-samsung.c:1034:2: note: Loop condition is false. Execution continues on line 1048
           for (i = 0; i < ctrl->nr_ext_resources + 1; i++) {
           ^
   drivers/pinctrl/samsung/pinctrl-samsung.c:1050:14: note: Assuming 'i' is >= field 'nr_banks'
           for (i = 0; i < ctrl->nr_banks; ++i, ++bdata, ++bank) {
                       ^~~~~~~~~~~~~~~~~~
   drivers/pinctrl/samsung/pinctrl-samsung.c:1050:2: note: Loop condition is false. Execution continues on line 1073
           for (i = 0; i < ctrl->nr_banks; ++i, ++bdata, ++bank) {
           ^
   drivers/pinctrl/samsung/pinctrl-samsung.c:1073:15: note: Assigned value is garbage or undefined
           d->virt_base = virt_base[0];
                        ^ ~~~~~~~~~~~~
   1 warning generated.
   arch/arm/mach-omap2/omap-wakeupgen.c:99:14: warning: Although the value stored to 'irq' is used in the enclosing expression, the value is never actually read from 'irq' [clang-analyzer-deadcode.DeadStores]
           *bit_posn = irq %= 32;
                       ^      ~~
   arch/arm/mach-omap2/omap-wakeupgen.c:99:14: note: Although the value stored to 'irq' is used in the enclosing expression, the value is never actually read from 'irq'
           *bit_posn = irq %= 32;
                       ^      ~~
   12 warnings generated.
   Suppressed 12 warnings (12 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   Suppressed 12 warnings (12 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.
   13 warnings generated.
   Suppressed 13 warnings (12 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 (2 with check filters).
   4 warnings generated.
>> drivers/bus/omap_l3_noc.c:96:3: warning: Value stored to 'err_description' is never read [clang-analyzer-deadcode.DeadStores]
                   err_description = "Standard";
                   ^                 ~~~~~~~~~~
   drivers/bus/omap_l3_noc.c:96:3: note: Value stored to 'err_description' is never read
                   err_description = "Standard";
                   ^                 ~~~~~~~~~~
   drivers/bus/omap_l3_noc.c:107:3: warning: Value stored to 'err_description' is never read [clang-analyzer-deadcode.DeadStores]
                   err_description = "Custom";
                   ^                 ~~~~~~~~
   drivers/bus/omap_l3_noc.c:107:3: note: Value stored to 'err_description' is never read
                   err_description = "Custom";
                   ^                 ~~~~~~~~
>> drivers/bus/omap_l3_noc.c:127:4: warning: Value stored to 'master_name' is never read [clang-analyzer-deadcode.DeadStores]
                           master_name = master->name;
                           ^             ~~~~~~~~~~~~
   drivers/bus/omap_l3_noc.c:127:4: note: Value stored to 'master_name' is never read
                           master_name = master->name;
                           ^             ~~~~~~~~~~~~
>> drivers/bus/omap_l3_noc.c:132:2: warning: Value stored to 'op_code' is never read [clang-analyzer-deadcode.DeadStores]
           op_code = readl_relaxed(l3_targ_hdr) & 0x7;
           ^
   drivers/bus/omap_l3_noc.c:132:2: note: Value stored to 'op_code' is never read
   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.
   25 warnings generated.
   crypto/sm3_generic.c:121:2: warning: Value stored to 'a' is never read [clang-analyzer-deadcode.DeadStores]
           a = b = c = d = e = f = g = h = ss1 = ss2 = tt1 = tt2 = 0;
           ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   crypto/sm3_generic.c:121:2: note: Value stored to 'a' is never read
           a = b = c = d = e = f = g = h = ss1 = ss2 = tt1 = tt2 = 0;
           ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   crypto/sm3_generic.c:121:6: warning: Although the value stored to 'b' is used in the enclosing expression, the value is never actually read from 'b' [clang-analyzer-deadcode.DeadStores]
           a = b = c = d = e = f = g = h = ss1 = ss2 = tt1 = tt2 = 0;
               ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   crypto/sm3_generic.c:121:6: note: Although the value stored to 'b' is used in the enclosing expression, the value is never actually read from 'b'
           a = b = c = d = e = f = g = h = ss1 = ss2 = tt1 = tt2 = 0;
               ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   crypto/sm3_generic.c:121:10: warning: Although the value stored to 'c' is used in the enclosing expression, the value is never actually read from 'c' [clang-analyzer-deadcode.DeadStores]
           a = b = c = d = e = f = g = h = ss1 = ss2 = tt1 = tt2 = 0;
                   ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   crypto/sm3_generic.c:121:10: note: Although the value stored to 'c' is used in the enclosing expression, the value is never actually read from 'c'
           a = b = c = d = e = f = g = h = ss1 = ss2 = tt1 = tt2 = 0;
                   ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   crypto/sm3_generic.c:121:14: warning: Although the value stored to 'd' is used in the enclosing expression, the value is never actually read from 'd' [clang-analyzer-deadcode.DeadStores]
           a = b = c = d = e = f = g = h = ss1 = ss2 = tt1 = tt2 = 0;
                       ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   crypto/sm3_generic.c:121:14: note: Although the value stored to 'd' is used in the enclosing expression, the value is never actually read from 'd'
           a = b = c = d = e = f = g = h = ss1 = ss2 = tt1 = tt2 = 0;
                       ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   crypto/sm3_generic.c:121:18: warning: Although the value stored to 'e' is used in the enclosing expression, the value is never actually read from 'e' [clang-analyzer-deadcode.DeadStores]
           a = b = c = d = e = f = g = h = ss1 = ss2 = tt1 = tt2 = 0;
                           ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   crypto/sm3_generic.c:121:18: note: Although the value stored to 'e' is used in the enclosing expression, the value is never actually read from 'e'
           a = b = c = d = e = f = g = h = ss1 = ss2 = tt1 = tt2 = 0;
                           ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   crypto/sm3_generic.c:121:22: warning: Although the value stored to 'f' is used in the enclosing expression, the value is never actually read from 'f' [clang-analyzer-deadcode.DeadStores]
           a = b = c = d = e = f = g = h = ss1 = ss2 = tt1 = tt2 = 0;
                               ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   crypto/sm3_generic.c:121:22: note: Although the value stored to 'f' is used in the enclosing expression, the value is never actually read from 'f'
           a = b = c = d = e = f = g = h = ss1 = ss2 = tt1 = tt2 = 0;
                               ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   crypto/sm3_generic.c:121:26: warning: Although the value stored to 'g' is used in the enclosing expression, the value is never actually read from 'g' [clang-analyzer-deadcode.DeadStores]
           a = b = c = d = e = f = g = h = ss1 = ss2 = tt1 = tt2 = 0;
                                   ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   crypto/sm3_generic.c:121:26: note: Although the value stored to 'g' is used in the enclosing expression, the value is never actually read from 'g'
           a = b = c = d = e = f = g = h = ss1 = ss2 = tt1 = tt2 = 0;
                                   ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   crypto/sm3_generic.c:121:30: warning: Although the value stored to 'h' is used in the enclosing expression, the value is never actually read from 'h' [clang-analyzer-deadcode.DeadStores]
           a = b = c = d = e = f = g = h = ss1 = ss2 = tt1 = tt2 = 0;
                                       ^   ~~~~~~~~~~~~~~~~~~~~~~~~~
   crypto/sm3_generic.c:121:30: note: Although the value stored to 'h' is used in the enclosing expression, the value is never actually read from 'h'
           a = b = c = d = e = f = g = h = ss1 = ss2 = tt1 = tt2 = 0;
                                       ^   ~~~~~~~~~~~~~~~~~~~~~~~~~
   crypto/sm3_generic.c:121:34: warning: Although the value stored to 'ss1' is used in the enclosing expression, the value is never actually read from 'ss1' [clang-analyzer-deadcode.DeadStores]
           a = b = c = d = e = f = g = h = ss1 = ss2 = tt1 = tt2 = 0;
                                           ^     ~~~~~~~~~~~~~~~~~~~
   crypto/sm3_generic.c:121:34: note: Although the value stored to 'ss1' is used in the enclosing expression, the value is never actually read from 'ss1'
           a = b = c = d = e = f = g = h = ss1 = ss2 = tt1 = tt2 = 0;
                                           ^     ~~~~~~~~~~~~~~~~~~~
   crypto/sm3_generic.c:121:40: warning: Although the value stored to 'ss2' is used in the enclosing expression, the value is never actually read from 'ss2' [clang-analyzer-deadcode.DeadStores]
           a = b = c = d = e = f = g = h = ss1 = ss2 = tt1 = tt2 = 0;
                                                 ^     ~~~~~~~~~~~~~
   crypto/sm3_generic.c:121:40: note: Although the value stored to 'ss2' is used in the enclosing expression, the value is never actually read from 'ss2'
           a = b = c = d = e = f = g = h = ss1 = ss2 = tt1 = tt2 = 0;
                                                 ^     ~~~~~~~~~~~~~
   crypto/sm3_generic.c:121:46: warning: Although the value stored to 'tt1' is used in the enclosing expression, the value is never actually read from 'tt1' [clang-analyzer-deadcode.DeadStores]
           a = b = c = d = e = f = g = h = ss1 = ss2 = tt1 = tt2 = 0;
                                                       ^     ~~~~~~~
   crypto/sm3_generic.c:121:46: note: Although the value stored to 'tt1' is used in the enclosing expression, the value is never actually read from 'tt1'
           a = b = c = d = e = f = g = h = ss1 = ss2 = tt1 = tt2 = 0;
                                                       ^     ~~~~~~~
   crypto/sm3_generic.c:121:52: warning: Although the value stored to 'tt2' is used in the enclosing expression, the value is never actually read from 'tt2' [clang-analyzer-deadcode.DeadStores]
           a = b = c = d = e = f = g = h = ss1 = ss2 = tt1 = tt2 = 0;
                                                             ^     ~
   crypto/sm3_generic.c:121:52: note: Although the value stored to 'tt2' is used in the enclosing expression, the value is never actually read from 'tt2'
           a = b = c = d = e = f = g = h = ss1 = ss2 = tt1 = tt2 = 0;
                                                             ^     ~
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   5 warnings generated.
>> drivers/pinctrl/pinctrl-st.c:582:4: warning: The left expression of the compound assignment is an uninitialized value. The computed value will also be garbage [clang-analyzer-core.uninitialized.Assign]
                           ST_PINCONF_PACK_OE(*config);
                           ^
   drivers/pinctrl/pinctrl-st.c:138:34: note: expanded from macro 'ST_PINCONF_PACK_OE'
   #define ST_PINCONF_PACK_OE(conf)        ST_PINCONF_PACK(conf, 1, OE)
                                           ^
   drivers/pinctrl/pinctrl-st.c:129:49: note: expanded from macro 'ST_PINCONF_PACK'
   #define ST_PINCONF_PACK(conf, val, param)       (conf |=\
                                                         ^
   drivers/pinctrl/pinctrl-st.c:1013:6: note: 'function' is 0
           if (function)
               ^~~~~~~~
   drivers/pinctrl/pinctrl-st.c:1013:2: note: Taking false branch
           if (function)
           ^
   drivers/pinctrl/pinctrl-st.c:1018:30: note: Left side of '&&' is false
           oe = st_gpio_get_direction(&pc_to_bank(pc)->gpio_chip, offset);
                                       ^
   drivers/pinctrl/pinctrl-st.c:205:3: note: expanded from macro 'pc_to_bank'
                   container_of(pc, struct st_gpio_bank, pc)
                   ^
   include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
                                                                      ^
   drivers/pinctrl/pinctrl-st.c:1018:30: note: Taking false branch
           oe = st_gpio_get_direction(&pc_to_bank(pc)->gpio_chip, offset);
                                       ^
   drivers/pinctrl/pinctrl-st.c:205:3: note: expanded from macro 'pc_to_bank'
                   container_of(pc, struct st_gpio_bank, pc)
                   ^
   include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
           ^
   include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
   #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                       ^
   include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
                   if (!(condition))                                       \
                   ^
   drivers/pinctrl/pinctrl-st.c:1018:30: note: Loop condition is false.  Exiting loop
           oe = st_gpio_get_direction(&pc_to_bank(pc)->gpio_chip, offset);
                                       ^
   drivers/pinctrl/pinctrl-st.c:205:3: note: expanded from macro 'pc_to_bank'
                   container_of(pc, struct st_gpio_bank, pc)
                   ^
   include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
           ^
   include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
   #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                       ^
   include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
           do {                                                            \
           ^
   drivers/pinctrl/pinctrl-st.c:1018:7: note: Calling 'st_gpio_get_direction'
           oe = st_gpio_get_direction(&pc_to_bank(pc)->gpio_chip, offset);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/pinctrl/pinctrl-st.c:739:2: note: 'config' declared without an initial value
           unsigned long config;
           ^~~~~~~~~~~~~~~~~~~~
   drivers/pinctrl/pinctrl-st.c:746:13: note: Calling 'st_pctl_get_pin_function'
           function = st_pctl_get_pin_function(&pc, offset);
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/pinctrl/pinctrl-st.c:440:6: note: Assuming 'alt' is non-null
           if (!alt)
               ^~~~
   drivers/pinctrl/pinctrl-st.c:440:2: note: Taking false branch
           if (!alt)
           ^
   drivers/pinctrl/pinctrl-st.c:445:2: note: Returning without writing to 'pc->oe', which participates in a condition later
           return (val >> offset) & 0xf;
           ^
   drivers/pinctrl/pinctrl-st.c:746:13: note: Returning from 'st_pctl_get_pin_function'
           function = st_pctl_get_pin_function(&pc, offset);
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/pinctrl/pinctrl-st.c:747:6: note: Assuming 'function' is not equal to 0
           if (function) {
               ^~~~~~~~
   drivers/pinctrl/pinctrl-st.c:747:2: note: Taking true branch
           if (function) {
           ^
   drivers/pinctrl/pinctrl-st.c:748:3: note: Calling 'st_pinconf_get_direction'
                   st_pinconf_get_direction(&pc, offset, &config);
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/pinctrl/pinctrl-st.c:579:6: note: Assuming field 'oe' is non-null
           if (pc->oe) {
               ^~~~~~
   drivers/pinctrl/pinctrl-st.c:579:2: note: Taking true branch
           if (pc->oe) {
--
                 ^
   include/linux/minmax.h:51:19: note: expanded from macro 'min'
   #define min(x, y)       __careful_cmp(x, y, <)
                           ^
   include/linux/minmax.h:44:3: note: expanded from macro '__careful_cmp'
                   __cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op))
                   ^
   include/linux/minmax.h:39:3: note: expanded from macro '__cmp_once'
                   __cmp(unique_x, unique_y, op); })
                   ^
   include/linux/minmax.h:34:26: note: expanded from macro '__cmp'
   #define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
                            ^
   mm/page_alloc.c:8285:6: note: Assuming 'numentries' is >= 'low_limit'
           if (numentries < low_limit)
               ^~~~~~~~~~~~~~~~~~~~~~
   mm/page_alloc.c:8285:2: note: Taking false branch
           if (numentries < low_limit)
           ^
   mm/page_alloc.c:8287:6: note: Assuming 'numentries' is <= 'max'
           if (numentries > max)
               ^~~~~~~~~~~~~~~~
   mm/page_alloc.c:8287:2: note: Taking false branch
           if (numentries > max)
           ^
   mm/page_alloc.c:8290:12: note: '?' condition is false
           log2qty = ilog2(numentries);
                     ^
   include/linux/log2.h:158:2: note: expanded from macro 'ilog2'
           __builtin_constant_p(n) ?       \
           ^
   mm/page_alloc.c:8290:12: note: '?' condition is true
           log2qty = ilog2(numentries);
                     ^
   include/linux/log2.h:161:2: note: expanded from macro 'ilog2'
           (sizeof(n) <= 4) ?              \
           ^
   mm/page_alloc.c:8290:12: note: Calling '__ilog2_u32'
           log2qty = ilog2(numentries);
                     ^
   include/linux/log2.h:162:2: note: expanded from macro 'ilog2'
           __ilog2_u32(n) :                \
           ^~~~~~~~~~~~~~
   include/linux/log2.h:24:2: note: Returning the value -1
           return fls(n) - 1;
           ^~~~~~~~~~~~~~~~~
   mm/page_alloc.c:8290:12: note: Returning from '__ilog2_u32'
           log2qty = ilog2(numentries);
                     ^
   include/linux/log2.h:162:2: note: expanded from macro 'ilog2'
           __ilog2_u32(n) :                \
           ^~~~~~~~~~~~~~
   mm/page_alloc.c:8290:2: note: The value 4294967295 is assigned to 'log2qty'
           log2qty = ilog2(numentries);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   mm/page_alloc.c:8292:15: note: Assuming the condition is false
           gfp_flags = (flags & HASH_ZERO) ? GFP_ATOMIC | __GFP_ZERO : GFP_ATOMIC;
                        ^~~~~~~~~~~~~~~~~
   mm/page_alloc.c:8292:14: note: '?' condition is false
           gfp_flags = (flags & HASH_ZERO) ? GFP_ATOMIC | __GFP_ZERO : GFP_ATOMIC;
                       ^
   mm/page_alloc.c:8296:7: note: Assuming the condition is true
                   if (flags & HASH_EARLY) {
                       ^~~~~~~~~~~~~~~~~~
   mm/page_alloc.c:8296:3: note: Taking true branch
                   if (flags & HASH_EARLY) {
                   ^
   mm/page_alloc.c:8297:4: note: Taking false branch
                           if (flags & HASH_ZERO)
                           ^
   mm/page_alloc.c:8314:11: note: Assuming 'table' is non-null
           } while (!table && size > PAGE_SIZE && --log2qty);
                    ^~~~~~
   mm/page_alloc.c:8314:18: note: Left side of '&&' is false
           } while (!table && size > PAGE_SIZE && --log2qty);
                           ^
   mm/page_alloc.c:8293:2: note: Loop condition is false.  Exiting loop
           do {
           ^
   mm/page_alloc.c:8316:7: note: 'table' is non-null
           if (!table)
                ^~~~~
   mm/page_alloc.c:8316:2: note: Taking false branch
           if (!table)
           ^
   mm/page_alloc.c:8320:18: note: The result of the left shift is undefined due to shifting by '4294967295', which is greater or equal to the width of type 'unsigned long'
                   tablename, 1UL << log2qty, ilog2(size) - PAGE_SHIFT, size,
                                  ^
   include/linux/printk.h:373:34: note: expanded from macro 'pr_info'
           printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__)
                                           ^~~~~~~~~~~
   Suppressed 16 warnings (14 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.
   12 warnings generated.
   Suppressed 12 warnings (12 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
>> arch/arm/mach-imx/tzic.c:160:2: warning: Value stored to 'i' is never read [clang-analyzer-deadcode.DeadStores]
           i = imx_readl(tzic_base + TZIC_INTCNTL);
           ^
   arch/arm/mach-imx/tzic.c:160:2: note: Value stored to 'i' is never read
   12 warnings generated.
   Suppressed 12 warnings (12 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   Suppressed 12 warnings (12 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).
   12 warnings generated.
   Suppressed 12 warnings (12 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 with check filters).
   1 warning generated.
   lib/glob.c:48:32: warning: Assigned value is garbage or undefined [clang-analyzer-core.uninitialized.Assign]
           char const *back_pat = NULL, *back_str = back_str;
                                         ^          ~~~~~~~~
   lib/glob.c:48:32: note: Assigned value is garbage or undefined
           char const *back_pat = NULL, *back_str = back_str;
                                         ^          ~~~~~~~~
   12 warnings generated.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   include/linux/math64.h:91:15: warning: Division by zero [clang-analyzer-core.DivideZero]
           *remainder = do_div(dividend, divisor);
                        ^
   include/asm-generic/div64.h:240:25: note: expanded from macro 'do_div'
                   __rem = (uint32_t)(n) % __base;         \
                                         ^
   drivers/clk/analogbits/wrpll-cln28hpc.c:230:6: note: Assuming field 'flags' is not equal to 0
           if (c->flags == 0) {
               ^~~~~~~~~~~~~
   drivers/clk/analogbits/wrpll-cln28hpc.c:230:2: note: Taking false branch
           if (c->flags == 0) {
           ^
   drivers/clk/analogbits/wrpll-cln28hpc.c:236:6: note: Assuming 'parent_rate' is equal to field 'parent_rate'
           if (parent_rate != c->parent_rate) {
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/analogbits/wrpll-cln28hpc.c:236:2: note: Taking false branch
           if (parent_rate != c->parent_rate) {
           ^
   drivers/clk/analogbits/wrpll-cln28hpc.c:247:6: note: Assuming 'target_rate' is not equal to 'parent_rate'
           if (target_rate == parent_rate) {
               ^~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/analogbits/wrpll-cln28hpc.c:247:2: note: Taking false branch
           if (target_rate == parent_rate) {
           ^
   drivers/clk/analogbits/wrpll-cln28hpc.c:255:9: note: Calling '__wrpll_calc_divq'
           divq = __wrpll_calc_divq(target_rate, &target_vco_rate);
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/analogbits/wrpll-cln28hpc.c:149:7: note: 'vco_rate' is non-null
           if (!vco_rate) {
                ^~~~~~~~
   drivers/clk/analogbits/wrpll-cln28hpc.c:149:2: note: Taking false branch
           if (!vco_rate) {
           ^
   drivers/clk/analogbits/wrpll-cln28hpc.c:155:6: note: Assuming 's' is <= 1
           if (s <= 1) {
               ^~~~~~
   drivers/clk/analogbits/wrpll-cln28hpc.c:155:2: note: Taking true branch
           if (s <= 1) {
           ^
   drivers/clk/analogbits/wrpll-cln28hpc.c:167:2: note: Returning the value 1 (loaded from 'divq'), which participates in a condition later
           return divq;
           ^~~~~~~~~~~
   drivers/clk/analogbits/wrpll-cln28hpc.c:255:9: note: Returning from '__wrpll_calc_divq'
           divq = __wrpll_calc_divq(target_rate, &target_vco_rate);
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/analogbits/wrpll-cln28hpc.c:256:7: note: 'divq' is 1
           if (!divq)
                ^~~~
   drivers/clk/analogbits/wrpll-cln28hpc.c:256:2: note: Taking false branch
--
                           ^
   mm/memblock.c:1176:8: note: Assuming 'm_end' is <= 'r_start'
                           if (m_end > r_start) {
                               ^~~~~~~~~~~~~~~
   mm/memblock.c:1176:4: note: Taking false branch
                           if (m_end > r_start) {
                           ^
   mm/memblock.c:1159:10: note: Assuming 'idx_b' is >= 0
                   for (; idx_b >= 0; idx_b--) {
                          ^~~~~~~~~~
   mm/memblock.c:1159:3: note: Loop condition is true.  Entering loop body
                   for (; idx_b >= 0; idx_b--) {
                   ^
   mm/memblock.c:1165:14: note: Assuming 'idx_b' is 0
                           r_start = idx_b ? r[-1].base + r[-1].size : 0;
                                     ^~~~~
   mm/memblock.c:1165:14: note: '?' condition is false
   mm/memblock.c:1166:12: note: Assuming 'idx_b' is >= field 'cnt'
                           r_end = idx_b < type_b->cnt ?
                                   ^~~~~~~~~~~~~~~~~~~
   mm/memblock.c:1166:12: note: '?' condition is false
   mm/memblock.c:1173:8: note: 'r_end' is > 'm_start'
                           if (r_end <= m_start)
                               ^~~~~
   mm/memblock.c:1173:4: note: Taking false branch
                           if (r_end <= m_start)
                           ^
   mm/memblock.c:1176:8: note: Assuming 'm_end' is > 'r_start'
                           if (m_end > r_start) {
                               ^~~~~~~~~~~~~~~
   mm/memblock.c:1176:4: note: Taking true branch
                           if (m_end > r_start) {
                           ^
   mm/memblock.c:1177:9: note: Assuming 'out_start' is null
                                   if (out_start)
                                       ^~~~~~~~~
   mm/memblock.c:1177:5: note: Taking false branch
                                   if (out_start)
                                   ^
   mm/memblock.c:1179:9: note: Assuming 'out_end' is null
                                   if (out_end)
                                       ^~~~~~~
   mm/memblock.c:1179:5: note: Taking false branch
                                   if (out_end)
                                   ^
   mm/memblock.c:1181:9: note: Assuming 'out_nid' is null
                                   if (out_nid)
                                       ^~~~~~~
   mm/memblock.c:1181:5: note: Taking false branch
                                   if (out_nid)
                                   ^
   mm/memblock.c:1183:9: note: 'm_start' is >= 'r_start'
                                   if (m_start >= r_start)
                                       ^~~~~~~
   mm/memblock.c:1183:5: note: Taking true branch
                                   if (m_start >= r_start)
                                   ^
   mm/memblock.c:1187:36: note: The result of the '<<' expression is undefined
                                   *idx = (u32)idx_a | (u64)idx_b << 32;
                                                       ~~~~~~~~~~~^~~~~
   Suppressed 12 warnings (12 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.
   drivers/gpio/gpio-tegra186.c:602:5: warning: Value stored to 'value' is never read [clang-analyzer-deadcode.DeadStores]
                                   value = readl(base + offset);
                                   ^
   drivers/gpio/gpio-tegra186.c:602:5: note: Value stored to 'value' is never read
   2 warnings generated.
   drivers/clk/tegra/clk-tegra-super-gen4.c:141:3: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
                   clk = clk_register_divider(NULL, "hclk_div", "sclk", 0,
                   ^
   drivers/clk/tegra/clk-tegra-super-gen4.c:141:3: note: Value stored to 'clk' is never read
   drivers/clk/tegra/clk-tegra-super-gen4.c:156:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
           clk = clk_register_divider(NULL, "pclk_div", "hclk", 0,
           ^
   drivers/clk/tegra/clk-tegra-super-gen4.c:156:2: note: Value stored to 'clk' is never read
   4 warnings generated.
   drivers/clk/tegra/clk-tegra114.c:910:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
           clk = tegra_clk_register_divider("pll_c_out1_div", "pll_c",
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/tegra/clk-tegra114.c:910:2: note: Value stored to 'clk' is never read
           clk = tegra_clk_register_divider("pll_c_out1_div", "pll_c",
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/tegra/clk-tegra114.c:934:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
           clk = tegra_clk_register_divider("pll_m_out1_div", "pll_m",
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/tegra/clk-tegra114.c:934:2: note: Value stored to 'clk' is never read
           clk = tegra_clk_register_divider("pll_m_out1_div", "pll_m",
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/tegra/clk-tegra114.c:943:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
           clk = clk_register_fixed_factor(NULL, "pll_m_ud", "pll_m",
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/tegra/clk-tegra114.c:943:2: note: Value stored to 'clk' is never read
           clk = clk_register_fixed_factor(NULL, "pll_m_ud", "pll_m",
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/tegra/clk-tegra114.c:1049:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
           clk = clk_register_mux(NULL, "emc_mux", mux_pllmcp_clkm,
           ^
   drivers/clk/tegra/clk-tegra114.c:1049:2: note: Value stored to 'clk' is never read
   2 warnings generated.
>> drivers/clk/tegra/clk-tegra124.c:1098:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
           clk = tegra_clk_register_divider("pll_c_out1_div", "pll_c",
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/tegra/clk-tegra124.c:1098:2: note: Value stored to 'clk' is never read
           clk = tegra_clk_register_divider("pll_c_out1_div", "pll_c",
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/tegra/clk-tegra124.c:1132:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
           clk = tegra_clk_register_divider("pll_m_out1_div", "pll_m",
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/tegra/clk-tegra124.c:1132:2: note: Value stored to 'clk' is never read
           clk = tegra_clk_register_divider("pll_m_out1_div", "pll_m",
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   1 warning generated.
   fs/configfs/symlink.c:72:3: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
                   strcpy(s,"../");
                   ^~~~~~
   fs/configfs/symlink.c:72:3: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
                   strcpy(s,"../");
                   ^~~~~~
   12 warnings generated.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   14 warnings generated.
   fs/reiserfs/bitmap.c:1198:14: warning: Value stored to 'start' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           b_blocknr_t start = hint->search_start;
                       ^~~~~   ~~~~~~~~~~~~~~~~~~
   fs/reiserfs/bitmap.c:1198:14: note: Value stored to 'start' during its initialization is never read
           b_blocknr_t start = hint->search_start;
                       ^~~~~   ~~~~~~~~~~~~~~~~~~
   fs/reiserfs/bitmap.c:1199:14: warning: Value stored to 'finish' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           b_blocknr_t finish = SB_BLOCK_COUNT(s) - 1;
                       ^~~~~~
   fs/reiserfs/bitmap.c:1199:14: note: Value stored to 'finish' during its initialization is never read
           b_blocknr_t finish = SB_BLOCK_COUNT(s) - 1;
                       ^~~~~~
   Suppressed 12 warnings (12 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.
   14 warnings generated.
   fs/reiserfs/do_balan.c:1162:2: warning: Value stored to 'leaf_mi' is never read [clang-analyzer-deadcode.DeadStores]
           leaf_mi = leaf_move_items(LEAF_FROM_S_TO_SNEW, tb, tb->snum[i],
           ^         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/reiserfs/do_balan.c:1162:2: note: Value stored to 'leaf_mi' is never read
           leaf_mi = leaf_move_items(LEAF_FROM_S_TO_SNEW, tb, tb->snum[i],
           ^         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 13 warnings (12 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.
   15 warnings generated.
   fs/reiserfs/namei.c:1445:8: warning: Although the value stored to 'retval' is used in the enclosing expression, the value is never actually read from 'retval' [clang-analyzer-deadcode.DeadStores]
                   if ((retval =
                        ^
   fs/reiserfs/namei.c:1445:8: note: Although the value stored to 'retval' is used in the enclosing expression, the value is never actually read from 'retval'
                   if ((retval =
                        ^
   fs/reiserfs/namei.c:1484:9: warning: Although the value stored to 'retval' is used in the enclosing expression, the value is never actually read from 'retval' [clang-analyzer-deadcode.DeadStores]
                           if ((retval =
                                ^
   fs/reiserfs/namei.c:1484:9: note: Although the value stored to 'retval' is used in the enclosing expression, the value is never actually read from 'retval'
                           if ((retval =
                                ^
   fs/reiserfs/reiserfs.h:1586:2: warning: Undefined or garbage value returned to caller [clang-analyzer-core.uninitialized.UndefReturn]
           return key->on_disk_key.k_offset;
           ^
   fs/reiserfs/namei.c:1324:6: note: Assuming the condition is false
           if (flags & ~RENAME_NOREPLACE)
               ^~~~~~~~~~~~~~~~~~~~~~~~~
   fs/reiserfs/namei.c:1324:2: note: Taking false branch
           if (flags & ~RENAME_NOREPLACE)
           ^
   fs/reiserfs/namei.c:1342:6: note: 'retval' is 0
           if (retval)
               ^~~~~~
   fs/reiserfs/namei.c:1342:2: note: Taking false branch
           if (retval)
           ^
   fs/reiserfs/namei.c:1345:6: note: 'retval' is 0
           if (retval)
               ^~~~~~
   fs/reiserfs/namei.c:1345:2: note: Taking false branch
           if (retval)
           ^
   fs/reiserfs/namei.c:1362:2: note: Taking false branch
           if (retval == IO_ERROR) {
           ^
   fs/reiserfs/namei.c:1367:6: note: 'retval' is equal to NAME_FOUND
           if (retval != NAME_FOUND || old_de.de_objectid != old_inode->i_ino) {
               ^~~~~~
   fs/reiserfs/namei.c:1367:6: note: Left side of '||' is false
   fs/reiserfs/namei.c:1367:30: note: Assuming field 'de_objectid' is equal to field 'i_ino'
           if (retval != NAME_FOUND || old_de.de_objectid != old_inode->i_ino) {
                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/reiserfs/namei.c:1367:2: note: Taking false branch
           if (retval != NAME_FOUND || old_de.de_objectid != old_inode->i_ino) {
           ^
   fs/reiserfs/namei.c:1373:6: note: Assuming the condition is false
           if (S_ISDIR(old_inode_mode)) {
--
   include/linux/math.h:14:46: note: expanded from macro '__round_mask'
   #define __round_mask(x, y) ((__typeof__(x))((y)-1))
                                                ^
   mm/shmem.c:1542:29: note: Taking true branch
           hindex = round_down(index, HPAGE_PMD_NR);
                                      ^
   include/linux/huge_mm.h:107:26: note: expanded from macro 'HPAGE_PMD_NR'
   #define HPAGE_PMD_NR (1<<HPAGE_PMD_ORDER)
                            ^
   include/linux/huge_mm.h:106:26: note: expanded from macro 'HPAGE_PMD_ORDER'
   #define HPAGE_PMD_ORDER (HPAGE_PMD_SHIFT-PAGE_SHIFT)
                            ^
   include/linux/huge_mm.h:325:28: note: expanded from macro 'HPAGE_PMD_SHIFT'
   #define HPAGE_PMD_SHIFT ({ BUILD_BUG(); 0; })
                              ^
   note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
                   if (!(condition))                                       \
                   ^
   mm/shmem.c:1542:29: note: Loop condition is false.  Exiting loop
           hindex = round_down(index, HPAGE_PMD_NR);
                                      ^
   include/linux/huge_mm.h:107:26: note: expanded from macro 'HPAGE_PMD_NR'
   #define HPAGE_PMD_NR (1<<HPAGE_PMD_ORDER)
                            ^
   include/linux/huge_mm.h:106:26: note: expanded from macro 'HPAGE_PMD_ORDER'
   #define HPAGE_PMD_ORDER (HPAGE_PMD_SHIFT-PAGE_SHIFT)
                            ^
   include/linux/huge_mm.h:325:28: note: expanded from macro 'HPAGE_PMD_SHIFT'
   #define HPAGE_PMD_SHIFT ({ BUILD_BUG(); 0; })
                              ^
   note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
           do {                                                            \
           ^
   mm/shmem.c:1542:29: note: The result of the left shift is undefined because the right operand is negative
           hindex = round_down(index, HPAGE_PMD_NR);
                                      ^
   include/linux/huge_mm.h:107:24: note: expanded from macro 'HPAGE_PMD_NR'
   #define HPAGE_PMD_NR (1<<HPAGE_PMD_ORDER)
                          ^
   include/linux/math.h:34:50: note: expanded from macro 'round_down'
   #define round_down(x, y) ((x) & ~__round_mask(x, y))
                                    ~~~~~~~~~~~~~~~~^~
   include/linux/math.h:14:46: note: expanded from macro '__round_mask'
   #define __round_mask(x, y) ((__typeof__(x))((y)-1))
                                                ^
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   Suppressed 12 warnings (12 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (12 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.
   12 warnings generated.
   Suppressed 12 warnings (12 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.
   14 warnings generated.
   fs/sysv/dir.c:339:2: warning: Value stored to 'err' is never read [clang-analyzer-deadcode.DeadStores]
           err = dir_commit_chunk(page, pos, SYSV_DIRSIZE);
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/sysv/dir.c:339:2: note: Value stored to 'err' is never read
           err = dir_commit_chunk(page, pos, SYSV_DIRSIZE);
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 13 warnings (13 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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).
   12 warnings generated.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
>> drivers/clk/imx/clk-imx6q.c:251:2: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
           ret = of_parse_phandle_with_args(node, "assigned-clock-parents",
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/imx/clk-imx6q.c:251:2: note: Value stored to 'ret' is never read
           ret = of_parse_phandle_with_args(node, "assigned-clock-parents",
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   1 warning generated.
   Suppressed 1 warnings (1 with check filters).
   1 warning generated.
   drivers/clk/ingenic/cgu.c:484:10: warning: Division by zero [clang-analyzer-core.DivideZero]
                   rate = DIV_ROUND_UP(parent_rate, div);
                          ^
   include/linux/math.h:36:22: note: expanded from macro 'DIV_ROUND_UP'
   #define DIV_ROUND_UP __KERNEL_DIV_ROUND_UP
                        ^
   include/uapi/linux/const.h:34:54: note: expanded from macro '__KERNEL_DIV_ROUND_UP'
   #define __KERNEL_DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d))
                                        ~~~~~~~~~~~~~~~~^~~~~
   drivers/clk/ingenic/cgu.c:474:36: note: Left side of '&&' is false
           struct ingenic_clk *ingenic_clk = to_ingenic_clk(hw);
                                             ^
   drivers/clk/ingenic/cgu.h:206:29: note: expanded from macro 'to_ingenic_clk'
   #define to_ingenic_clk(_hw) container_of(_hw, struct ingenic_clk, hw)
                               ^
   include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
                                                                      ^
   drivers/clk/ingenic/cgu.c:474:36: note: Taking false branch
           struct ingenic_clk *ingenic_clk = to_ingenic_clk(hw);
                                             ^
   drivers/clk/ingenic/cgu.h:206:29: note: expanded from macro 'to_ingenic_clk'
   #define to_ingenic_clk(_hw) container_of(_hw, struct ingenic_clk, hw)
                               ^
   include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
           ^
   include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
   #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                       ^
   include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
                   if (!(condition))                                       \
                   ^
   drivers/clk/ingenic/cgu.c:474:36: note: Loop condition is false.  Exiting loop
           struct ingenic_clk *ingenic_clk = to_ingenic_clk(hw);
                                             ^
   drivers/clk/ingenic/cgu.h:206:29: note: expanded from macro 'to_ingenic_clk'
   #define to_ingenic_clk(_hw) container_of(_hw, struct ingenic_clk, hw)
                               ^
   include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
           ^
   include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
   #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                       ^
   include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
           do {                                                            \
           ^
   drivers/clk/ingenic/cgu.c:482:6: note: Assuming the condition is true
           if (clk_info->type & CGU_CLK_DIV) {
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/ingenic/cgu.c:482:2: note: Taking true branch
           if (clk_info->type & CGU_CLK_DIV) {
           ^
   drivers/clk/ingenic/cgu.c:483:9: note: Calling 'ingenic_clk_calc_div'
                   div = ingenic_clk_calc_div(clk_info, parent_rate, req_rate);
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/ingenic/cgu.c:421:6: note: Assuming field 'div_table' is non-null
           if (clk_info->div.div_table) {
               ^~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/ingenic/cgu.c:421:2: note: Taking true branch
           if (clk_info->div.div_table) {
           ^
   drivers/clk/ingenic/cgu.c:422:12: note: Calling 'ingenic_clk_calc_hw_div'
                   hw_div = ingenic_clk_calc_hw_div(clk_info, div);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/ingenic/cgu.c:395:18: note: 'best_i' initialized to 0
           unsigned int i, best_i = 0, best = (unsigned int)-1;
                           ^~~~~~
   drivers/clk/ingenic/cgu.c:397:14: note: Assuming the condition is true
           for (i = 0; i < (1 << clk_info->div.bits)
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/ingenic/cgu.c:397:14: note: Left side of '&&' is true
   drivers/clk/ingenic/cgu.c:397:2: note: Loop condition is false. Execution continues on line 409
           for (i = 0; i < (1 << clk_info->div.bits)
           ^
   drivers/clk/ingenic/cgu.c:409:2: note: Returning zero (loaded from 'best_i')
           return best_i;
           ^~~~~~~~~~~~~
   drivers/clk/ingenic/cgu.c:422:12: note: Returning from 'ingenic_clk_calc_hw_div'
--
   drivers/gpu/drm/ttm/ttm_bo_util.c:57:3: note: Returning zero, which participates in a condition later
                   return 0;
                   ^~~~~~~~
   drivers/gpu/drm/ttm/ttm_bo_util.c:83:8: note: Returning from 'ttm_mem_io_reserve'
           ret = ttm_mem_io_reserve(bdev, mem);
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/ttm/ttm_bo_util.c:84:6: note: 'ret' is 0
           if (ret || !mem->bus.is_iomem)
               ^~~
   drivers/gpu/drm/ttm/ttm_bo_util.c:84:6: note: Left side of '||' is false
   drivers/gpu/drm/ttm/ttm_bo_util.c:84:23: note: Field 'is_iomem' is false
           if (ret || !mem->bus.is_iomem)
                                ^
   drivers/gpu/drm/ttm/ttm_bo_util.c:84:2: note: Taking true branch
           if (ret || !mem->bus.is_iomem)
           ^
   drivers/gpu/drm/ttm/ttm_bo_util.c:85:3: note: Returning zero (loaded from 'ret'), which participates in a condition later
                   return ret;
                   ^~~~~~~~~~
   drivers/gpu/drm/ttm/ttm_bo_util.c:192:8: note: Returning from 'ttm_resource_ioremap'
           ret = ttm_resource_ioremap(bdev, new_mem, &new_iomap);
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/ttm/ttm_bo_util.c:193:6: note: 'ret' is 0
           if (ret)
               ^~~
   drivers/gpu/drm/ttm/ttm_bo_util.c:193:2: note: Taking false branch
           if (ret)
           ^
   drivers/gpu/drm/ttm/ttm_bo_util.c:199:6: note: 'old_iomap' is not equal to NULL
           if (old_iomap == NULL && new_iomap == NULL)
               ^~~~~~~~~
   drivers/gpu/drm/ttm/ttm_bo_util.c:199:24: note: Left side of '&&' is false
           if (old_iomap == NULL && new_iomap == NULL)
                                 ^
   drivers/gpu/drm/ttm/ttm_bo_util.c:205:6: note: 'old_iomap' is not equal to NULL
           if (old_iomap == NULL &&
               ^~~~~~~~~
   drivers/gpu/drm/ttm/ttm_bo_util.c:205:24: note: Left side of '&&' is false
           if (old_iomap == NULL &&
                                 ^
   drivers/gpu/drm/ttm/ttm_bo_util.c:215:6: note: Assuming 'ttm' is null
           if (ttm) {
               ^~~
   drivers/gpu/drm/ttm/ttm_bo_util.c:215:2: note: Taking false branch
           if (ttm) {
           ^
   drivers/gpu/drm/ttm/ttm_bo_util.c:221:14: note: Assuming 'i' is < field 'num_pages'
           for (i = 0; i < new_mem->num_pages; ++i) {
                       ^~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/ttm/ttm_bo_util.c:221:2: note: Loop condition is true.  Entering loop body
           for (i = 0; i < new_mem->num_pages; ++i) {
           ^
   drivers/gpu/drm/ttm/ttm_bo_util.c:222:7: note: 'old_iomap' is not equal to NULL
                   if (old_iomap == NULL) {
                       ^~~~~~~~~
   drivers/gpu/drm/ttm/ttm_bo_util.c:222:3: note: Taking false branch
                   if (old_iomap == NULL) {
                   ^
   drivers/gpu/drm/ttm/ttm_bo_util.c:226:14: note: 'new_iomap' is equal to NULL
                   } else if (new_iomap == NULL) {
                              ^~~~~~~~~
   drivers/gpu/drm/ttm/ttm_bo_util.c:226:10: note: Taking true branch
                   } else if (new_iomap == NULL) {
                          ^
   drivers/gpu/drm/ttm/ttm_bo_util.c:228:31: note: Passing null pointer value via 1st parameter 'ttm'
                           ret = ttm_copy_io_ttm_page(ttm, old_iomap, i,
                                                      ^~~
   drivers/gpu/drm/ttm/ttm_bo_util.c:228:10: note: Calling 'ttm_copy_io_ttm_page'
                           ret = ttm_copy_io_ttm_page(ttm, old_iomap, i,
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/ttm/ttm_bo_util.c:131:19: note: Access to field 'pages' results in a dereference of a null pointer (loaded from variable 'ttm')
           struct page *d = ttm->pages[page];
                            ^~~
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   13 warnings generated.
   drivers/pci/controller/pci-v3-semi.c:604:6: warning: Value stored to 'pci_end' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           u64 pci_end = cpu_end - entry->offset;
               ^~~~~~~   ~~~~~~~~~~~~~~~~~~~~~~~
   drivers/pci/controller/pci-v3-semi.c:604:6: note: Value stored to 'pci_end' during its initialization is never read
           u64 pci_end = cpu_end - entry->offset;
               ^~~~~~~   ~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 12 warnings (12 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.
   13 warnings generated.
   drivers/pci/controller/pci-versatile.c:37:10: warning: Although the value stored to 'retval' is used in the enclosing expression, the value is never actually read from 'retval' [clang-analyzer-deadcode.DeadStores]
           while ((retval = get_option(&str, &slot))) {
                   ^        ~~~~~~~~~~~~~~~~~~~~~~~
   drivers/pci/controller/pci-versatile.c:37:10: note: Although the value stored to 'retval' is used in the enclosing expression, the value is never actually read from 'retval'
           while ((retval = get_option(&str, &slot))) {
                   ^        ~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 12 warnings (12 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.
   15 warnings generated.
>> drivers/pci/controller/pcie-iproc.c:861:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct device *dev = pcie->dev;
                          ^~~   ~~~~~~~~~
   drivers/pci/controller/pcie-iproc.c:861:17: note: Value stored to 'dev' during its initialization is never read
           struct device *dev = pcie->dev;
                          ^~~   ~~~~~~~~~
   drivers/pci/controller/pcie-iproc.c:1065:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct device *dev = pcie->dev;
                          ^~~   ~~~~~~~~~
   drivers/pci/controller/pcie-iproc.c:1065:17: note: Value stored to 'dev' during its initialization is never read
           struct device *dev = pcie->dev;
                          ^~~   ~~~~~~~~~
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   16 warnings generated.
   Suppressed 16 warnings (14 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   14 warnings generated.
   Suppressed 14 warnings (14 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.
   15 warnings generated.
   drivers/phy/cadence/phy-cadence-salvo.c:227:2: warning: Value stored to 'value' is never read [clang-analyzer-deadcode.DeadStores]
           value |= RXDET_IN_P3_32KHZ;
           ^
   drivers/phy/cadence/phy-cadence-salvo.c:227:2: note: Value stored to 'value' is never read
   Suppressed 14 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   Suppressed 12 warnings (12 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.
   14 warnings generated.
   drivers/gpu/host1x/job.c:182:35: warning: Assigned value is garbage or undefined [clang-analyzer-core.uninitialized.Assign]
                   job->addr_phys[job->num_unpins] = phys_addr;
                                                   ^
   drivers/gpu/host1x/job.c:596:8: note: Calling 'pin_job'
           err = pin_job(host, job);
                 ^~~~~~~~~~~~~~~~~~
   drivers/gpu/host1x/job.c:116:14: note: Assuming 'i' is < field 'num_relocs'
           for (i = 0; i < job->num_relocs; i++) {
                       ^~~~~~~~~~~~~~~~~~~
   drivers/gpu/host1x/job.c:116:2: note: Loop condition is true.  Entering loop body
           for (i = 0; i < job->num_relocs; i++) {
           ^
   drivers/gpu/host1x/job.c:118:14: note: 'phys_addr' declared without an initial value
                   dma_addr_t phys_addr, *phys;
                              ^~~~~~~~~
   drivers/gpu/host1x/job.c:122:7: note: Assuming field 'bo' is non-null
                   if (!reloc->target.bo) {
                       ^~~~~~~~~~~~~~~~~
   drivers/gpu/host1x/job.c:122:3: note: Taking false branch
                   if (!reloc->target.bo) {
                   ^
   drivers/gpu/host1x/job.c:139:7: note: Assuming 'domain' is non-null
                   if (!domain || client->group)
                       ^~~~~~~
   drivers/gpu/host1x/job.c:139:7: note: Left side of '||' is false
   drivers/gpu/host1x/job.c:139:18: note: Assuming field 'group' is null
                   if (!domain || client->group)
                                  ^~~~~~~~~~~~~
--
           if (subcap_id == TPM_CAP_VERSION_1_1 ||
               ^~~~~~~~~
   drivers/char/tpm/tpm1-cmd.c:492:6: note: Left side of '||' is false
   drivers/char/tpm/tpm1-cmd.c:493:6: note: 'subcap_id' is not equal to TPM_CAP_VERSION_1_2
               subcap_id == TPM_CAP_VERSION_1_2) {
               ^~~~~~~~~
   drivers/char/tpm/tpm1-cmd.c:492:2: note: Taking false branch
           if (subcap_id == TPM_CAP_VERSION_1_1 ||
           ^
   drivers/char/tpm/tpm1-cmd.c:497:7: note: 'subcap_id' is not equal to TPM_CAP_FLAG_PERM
                   if (subcap_id == TPM_CAP_FLAG_PERM ||
                       ^~~~~~~~~
   drivers/char/tpm/tpm1-cmd.c:497:7: note: Left side of '||' is false
   drivers/char/tpm/tpm1-cmd.c:498:7: note: 'subcap_id' is not equal to TPM_CAP_FLAG_VOL
                       subcap_id == TPM_CAP_FLAG_VOL)
                       ^~~~~~~~~
   drivers/char/tpm/tpm1-cmd.c:497:3: note: Taking false branch
                   if (subcap_id == TPM_CAP_FLAG_PERM ||
                   ^
   drivers/char/tpm/tpm1-cmd.c:506:7: note: Value assigned to field 'duration_adjusted', which participates in a condition later
           rc = tpm_transmit_cmd(chip, &buf, min_cap_length, desc);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/char/tpm/tpm1-cmd.c:507:6: note: Assuming 'rc' is 0, which participates in a condition later
           if (!rc)
               ^~~
   drivers/char/tpm/tpm1-cmd.c:507:2: note: Taking true branch
           if (!rc)
           ^
   drivers/char/tpm/tpm1-cmd.c:510:2: note: Returning zero (loaded from 'rc'), which participates in a condition later
           return rc;
           ^~~~~~~~~
   drivers/char/tpm/tpm1-cmd.c:417:7: note: Returning from 'tpm1_getcap'
           rc = tpm1_getcap(chip, TPM_CAP_PROP_TIS_DURATION, &cap,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/char/tpm/tpm1-cmd.c:420:6: note: 'rc' is 0
           if (rc)
               ^~
   drivers/char/tpm/tpm1-cmd.c:420:2: note: Taking false branch
           if (rc)
           ^
   drivers/char/tpm/tpm1-cmd.c:424:20: note: '?' condition is false
                   usecs_to_jiffies(be32_to_cpu(cap.duration.tpm_short));
                                    ^
   include/linux/byteorder/generic.h:95:21: note: expanded from macro 'be32_to_cpu'
   #define be32_to_cpu __be32_to_cpu
                       ^
   include/uapi/linux/byteorder/little_endian.h:40:26: note: expanded from macro '__be32_to_cpu'
   #define __be32_to_cpu(x) __swab32((__force __u32)(__be32)(x))
                            ^
   include/uapi/linux/swab.h:118:3: note: expanded from macro '__swab32'
           (__builtin_constant_p((__u32)(x)) ?     \
            ^
   drivers/char/tpm/tpm1-cmd.c:426:20: note: '?' condition is false
                   usecs_to_jiffies(be32_to_cpu(cap.duration.tpm_medium));
                                    ^
   include/linux/byteorder/generic.h:95:21: note: expanded from macro 'be32_to_cpu'
   #define be32_to_cpu __be32_to_cpu
                       ^
   include/uapi/linux/byteorder/little_endian.h:40:26: note: expanded from macro '__be32_to_cpu'
   #define __be32_to_cpu(x) __swab32((__force __u32)(__be32)(x))
                            ^
   include/uapi/linux/swab.h:118:3: note: expanded from macro '__swab32'
           (__builtin_constant_p((__u32)(x)) ?     \
            ^
   drivers/char/tpm/tpm1-cmd.c:428:20: note: '?' condition is false
                   usecs_to_jiffies(be32_to_cpu(cap.duration.tpm_long));
                                    ^
   include/linux/byteorder/generic.h:95:21: note: expanded from macro 'be32_to_cpu'
   #define be32_to_cpu __be32_to_cpu
                       ^
   include/uapi/linux/byteorder/little_endian.h:40:26: note: expanded from macro '__be32_to_cpu'
   #define __be32_to_cpu(x) __swab32((__force __u32)(__be32)(x))
                            ^
   include/uapi/linux/swab.h:118:3: note: expanded from macro '__swab32'
           (__builtin_constant_p((__u32)(x)) ?     \
            ^
   drivers/char/tpm/tpm1-cmd.c:435:6: note: Assuming field 'update_durations' is null
           if (chip->ops->update_durations)
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/char/tpm/tpm1-cmd.c:435:2: note: Taking false branch
           if (chip->ops->update_durations)
           ^
   drivers/char/tpm/tpm1-cmd.c:438:6: note: Assuming field 'duration_adjusted' is true
           if (chip->duration_adjusted) {
               ^~~~~~~~~~~~~~~~~~~~~~~
   drivers/char/tpm/tpm1-cmd.c:438:2: note: Taking true branch
           if (chip->duration_adjusted) {
           ^
   drivers/char/tpm/tpm1-cmd.c:440:29: note: Assigned value is garbage or undefined
                   chip->duration[TPM_SHORT] = durations[0];
                                             ^ ~~~~~~~~~~~~
   drivers/char/tpm/tpm1-cmd.c:747:3: warning: Value stored to 'rc' is never read [clang-analyzer-deadcode.DeadStores]
                   rc = tpm1_pcr_extend(chip, tpm_suspend_pcr, dummy_hash,
                   ^    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/char/tpm/tpm1-cmd.c:747:3: note: Value stored to 'rc' is never read
                   rc = tpm1_pcr_extend(chip, tpm_suspend_pcr, dummy_hash,
                   ^    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 14 warnings (13 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.
>> drivers/clk/ti/clockdomain.c:115:2: warning: Value stored to 'clk_name' is never read [clang-analyzer-deadcode.DeadStores]
           clk_name = __clk_get_name(hw->clk);
           ^          ~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/ti/clockdomain.c:115:2: note: Value stored to 'clk_name' is never read
           clk_name = __clk_get_name(hw->clk);
           ^          ~~~~~~~~~~~~~~~~~~~~~~~
   2 warnings generated.
   drivers/clk/ti/divider.c:240:9: warning: Division by zero [clang-analyzer-core.DivideZero]
           return DIV_ROUND_UP(*prate, div);
                  ^
   include/linux/math.h:36:22: note: expanded from macro 'DIV_ROUND_UP'
   #define DIV_ROUND_UP __KERNEL_DIV_ROUND_UP
                        ^
   include/uapi/linux/const.h:34:54: note: expanded from macro '__KERNEL_DIV_ROUND_UP'
   #define __KERNEL_DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d))
                                        ~~~~~~~~~~~~~~~~^~~~~
   drivers/clk/ti/divider.c:238:8: note: Calling 'ti_clk_divider_bestdiv'
           div = ti_clk_divider_bestdiv(hw, rate, prate);
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/ti/divider.c:179:37: note: Left side of '&&' is false
           struct clk_omap_divider *divider = to_clk_omap_divider(hw);
                                              ^
   drivers/clk/ti/clock.h:32:34: note: expanded from macro 'to_clk_omap_divider'
   #define to_clk_omap_divider(_hw) container_of(_hw, struct clk_omap_divider, hw)
                                    ^
   include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
                                                                      ^
   drivers/clk/ti/divider.c:179:37: note: Taking false branch
           struct clk_omap_divider *divider = to_clk_omap_divider(hw);
                                              ^
   drivers/clk/ti/clock.h:32:34: note: expanded from macro 'to_clk_omap_divider'
   #define to_clk_omap_divider(_hw) container_of(_hw, struct clk_omap_divider, hw)
                                    ^
   include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
           ^
   include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
   #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                       ^
   include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
                   if (!(condition))                                       \
                   ^
   drivers/clk/ti/divider.c:179:37: note: Loop condition is false.  Exiting loop
           struct clk_omap_divider *divider = to_clk_omap_divider(hw);
                                              ^
   drivers/clk/ti/clock.h:32:34: note: expanded from macro 'to_clk_omap_divider'
   #define to_clk_omap_divider(_hw) container_of(_hw, struct clk_omap_divider, hw)
                                    ^
   include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
           ^
   include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
   #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                       ^
   include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
           do {                                                            \
           ^
   drivers/clk/ti/divider.c:184:6: note: Assuming 'rate' is not equal to 0
           if (!rate)
               ^~~~~
   drivers/clk/ti/divider.c:184:2: note: Taking false branch
           if (!rate)
           ^
   drivers/clk/ti/divider.c:189:6: note: Assuming the condition is false
           if (!(clk_hw_get_flags(hw) & CLK_SET_RATE_PARENT)) {
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/ti/divider.c:189:2: note: Taking false branch
           if (!(clk_hw_get_flags(hw) & CLK_SET_RATE_PARENT)) {
           ^
   drivers/clk/ti/divider.c:201:11: note: Assuming '__UNIQUE_ID___x112' is >= '__UNIQUE_ID___y113'
           maxdiv = min(ULONG_MAX / rate, maxdiv);
                    ^
   include/linux/minmax.h:51:19: note: expanded from macro 'min'
   #define min(x, y)       __careful_cmp(x, y, <)
                           ^~~~~~~~~~~~~~~~~~~~~~
   include/linux/minmax.h:44:3: note: expanded from macro '__careful_cmp'
                   __cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op))
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/minmax.h:39:3: note: expanded from macro '__cmp_once'
                   __cmp(unique_x, unique_y, op); })
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/minmax.h:34:26: note: expanded from macro '__cmp'
   #define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
                            ^~~~~~~~~~
   drivers/clk/ti/divider.c:201:11: note: '?' condition is false
           maxdiv = min(ULONG_MAX / rate, maxdiv);
                    ^
   include/linux/minmax.h:51:19: note: expanded from macro 'min'
--
   12 warnings generated.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   15 warnings generated.
   Suppressed 15 warnings (15 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.
   14 warnings generated.
   Suppressed 14 warnings (14 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.
   14 warnings generated.
   drivers/gpu/drm/rcar-du/rcar_du_plane.c:386:2: warning: 4th function call argument is an uninitialized value [clang-analyzer-core.CallAndMessage]
           rcar_du_plane_write(rgrp, index, PnDSA0R, dma[0]);
           ^
   drivers/gpu/drm/rcar-du/rcar_du_plane.c:624:6: note: Assuming field 'visible' is true
           if (!plane->state->visible)
               ^~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/rcar-du/rcar_du_plane.c:624:2: note: Taking false branch
           if (!plane->state->visible)
           ^
   drivers/gpu/drm/rcar-du/rcar_du_plane.c:627:2: note: Calling 'rcar_du_plane_setup'
           rcar_du_plane_setup(rplane);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/rcar-du/rcar_du_plane.h:83:9: note: Calling '__rcar_du_plane_setup'
           return __rcar_du_plane_setup(plane->group, state);
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/rcar-du/rcar_du_plane.c:548:21: note: Field 'planes' is not equal to 2
           if (state->format->planes == 2)
                              ^
   drivers/gpu/drm/rcar-du/rcar_du_plane.c:548:2: note: Taking false branch
           if (state->format->planes == 2)
           ^
   drivers/gpu/drm/rcar-du/rcar_du_plane.c:552:18: note: Field 'gen' is < 3
           if (rcdu->info->gen < 3)
                           ^
   drivers/gpu/drm/rcar-du/rcar_du_plane.c:552:2: note: Taking true branch
           if (rcdu->info->gen < 3)
           ^
   drivers/gpu/drm/rcar-du/rcar_du_plane.c:553:3: note: Calling 'rcar_du_plane_setup_scanout'
                   rcar_du_plane_setup_scanout(rgrp, state);
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/rcar-du/rcar_du_plane.c:341:13: note: Field 'source' is equal to RCAR_DU_PLANE_MEMORY
           if (state->source == RCAR_DU_PLANE_MEMORY) {
                      ^
   drivers/gpu/drm/rcar-du/rcar_du_plane.c:341:2: note: Taking true branch
           if (state->source == RCAR_DU_PLANE_MEMORY) {
           ^
   drivers/gpu/drm/rcar-du/rcar_du_plane.c:346:22: note: Field 'planes' is not equal to 2
                   if (state->format->planes == 2)
                                      ^
   drivers/gpu/drm/rcar-du/rcar_du_plane.c:346:3: note: Taking false branch
                   if (state->format->planes == 2)
                   ^
   drivers/gpu/drm/rcar-du/rcar_du_plane.c:351:15: note: Assuming 'i' is >= field 'planes'
                   for (i = 0; i < state->format->planes; ++i) {
                               ^~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/rcar-du/rcar_du_plane.c:351:3: note: Loop condition is false. Execution continues on line 365
                   for (i = 0; i < state->format->planes; ++i) {
                   ^
   drivers/gpu/drm/rcar-du/rcar_du_plane.c:366:9: note: Assuming 'interlaced' is false
                               (interlaced && state->format->bpp == 32) ?
                                ^~~~~~~~~~
   drivers/gpu/drm/rcar-du/rcar_du_plane.c:366:20: note: Left side of '&&' is false
                               (interlaced && state->format->bpp == 32) ?
                                           ^
   drivers/gpu/drm/rcar-du/rcar_du_plane.c:384:10: note: 'interlaced' is false
                               (!interlaced && state->format->bpp == 32 ? 2 : 1));
                                 ^~~~~~~~~~
   drivers/gpu/drm/rcar-du/rcar_du_plane.c:384:9: note: Left side of '&&' is true
                               (!interlaced && state->format->bpp == 32 ? 2 : 1));
                                ^
   drivers/gpu/drm/rcar-du/rcar_du_plane.c:384:24: note: Assuming field 'bpp' is not equal to 32
                               (!interlaced && state->format->bpp == 32 ? 2 : 1));
                                               ^~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/rcar-du/rcar_du_plane.c:384:9: note: '?' condition is false
                               (!interlaced && state->format->bpp == 32 ? 2 : 1));
                                ^
   drivers/gpu/drm/rcar-du/rcar_du_plane.c:386:2: note: 4th function call argument is an uninitialized value
           rcar_du_plane_write(rgrp, index, PnDSA0R, dma[0]);
           ^                                         ~~~~~~
   drivers/gpu/drm/rcar-du/rcar_du_plane.c:569:21: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct drm_device *dev = plane->dev;
                              ^~~   ~~~~~~~~~~
   drivers/gpu/drm/rcar-du/rcar_du_plane.c:569:21: note: Value stored to 'dev' during its initialization is never read
           struct drm_device *dev = plane->dev;
                              ^~~   ~~~~~~~~~~
   Suppressed 12 warnings (12 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.
   5 warnings generated.
>> drivers/clk/spear/spear1310_clock.c:872:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
           clk = clk_register_fixed_rate(NULL, "ras_30m_fixed_clk", "pll5_clk", 0,
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/spear/spear1310_clock.c:872:2: note: Value stored to 'clk' is never read
           clk = clk_register_fixed_rate(NULL, "ras_30m_fixed_clk", "pll5_clk", 0,
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/spear/spear1310_clock.c:879:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
           clk = clk_register_fixed_rate(NULL, "ras_48m_fixed_clk", "pll5_clk", 0,
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/spear/spear1310_clock.c:879:2: note: Value stored to 'clk' is never read
           clk = clk_register_fixed_rate(NULL, "ras_48m_fixed_clk", "pll5_clk", 0,
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/spear/spear1310_clock.c:896:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
           clk = clk_register_fixed_rate(NULL, "ras_plclk0_clk", NULL, 0,
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/spear/spear1310_clock.c:896:2: note: Value stored to 'clk' is never read
           clk = clk_register_fixed_rate(NULL, "ras_plclk0_clk", NULL, 0,
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/spear/spear1310_clock.c:899:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
           clk = clk_register_fixed_rate(NULL, "ras_tx50_clk", NULL, 0, 50000000);
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/spear/spear1310_clock.c:899:2: note: Value stored to 'clk' is never read
           clk = clk_register_fixed_rate(NULL, "ras_tx50_clk", NULL, 0, 50000000);
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 1 warnings (1 with check filters).
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   32 warnings generated.
   drivers/video/fbdev/sis/init301.c:1248:4: warning: Value stored to 'temp' is never read [clang-analyzer-deadcode.DeadStores]
      temp = SiS_GetRegShort((acpibase + 0x3c));
      ^      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/video/fbdev/sis/init301.c:1248:4: note: Value stored to 'temp' is never read
      temp = SiS_GetRegShort((acpibase + 0x3c));
      ^      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/video/fbdev/sis/init301.c:1253:4: warning: Value stored to 'temp' is never read [clang-analyzer-deadcode.DeadStores]
      temp = SiS_GetRegShort((acpibase + 0x3a));
      ^      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/video/fbdev/sis/init301.c:1253:4: note: Value stored to 'temp' is never read
      temp = SiS_GetRegShort((acpibase + 0x3a));
      ^      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/video/fbdev/sis/init301.c:1533:19: warning: Value stored to 'OutputSelect' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
      unsigned char  OutputSelect = *SiS_Pr->pSiS_OutputSelect;
                     ^~~~~~~~~~~~   ~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/video/fbdev/sis/init301.c:1533:19: note: Value stored to 'OutputSelect' during its initialization is never read
      unsigned char  OutputSelect = *SiS_Pr->pSiS_OutputSelect;
                     ^~~~~~~~~~~~   ~~~~~~~~~~~~~~~~~~~~~~~~~~
--
   fs/xfs/libxfs/xfs_da_btree.c:380:6: note: Left side of '||' is false
   fs/xfs/libxfs/xfs_da_btree.c:380:21: note: Left side of '||' is true
           if (error || !*bpp || !tp)
                              ^
   fs/xfs/libxfs/xfs_da_btree.c:381:3: note: Returning zero (loaded from 'error'), which participates in a condition later
                   return error;
                   ^~~~~~~~~~~~
   fs/xfs/libxfs/xfs_da_btree.c:2024:11: note: Returning from 'xfs_da3_node_read'
                   error = xfs_da3_node_read(args->trans, dp, blkno, &bp,
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/xfs/libxfs/xfs_da_btree.c:2026:7: note: 'error' is 0
                   if (error)
                       ^~~~~
   fs/xfs/libxfs/xfs_da_btree.c:2026:3: note: Taking false branch
                   if (error)
                   ^
   fs/xfs/libxfs/xfs_da_btree.c:2035:7: note: 'release' is 1
                   if (release)
                       ^~~~~~~
   fs/xfs/libxfs/xfs_da_btree.c:2035:3: note: Taking true branch
                   if (release)
                   ^
   fs/xfs/libxfs/xfs_da_btree.c:2038:3: note: Null pointer value stored to field 'bp'
                   blk->bp = bp;
                   ^~~~~~~~~~~~
   fs/xfs/libxfs/xfs_da_btree.c:2040:10: note: Access to field 'b_addr' results in a dereference of a null pointer (loaded from field 'bp')
                   info = blk->bp->b_addr;
                          ^    ~~
   fs/xfs/libxfs/xfs_da_btree.c:2206:22: warning: Dereference of null pointer [clang-analyzer-core.NullDereference]
           if (got != count || mapp[0].br_startoff != *bno ||
                               ^
   fs/xfs/libxfs/xfs_da_btree.c:497:17: note: Assuming 'i' is < 0
           for (i = max; (i >= 0) && addblk; state->path.active--, i--) {
                          ^~~~~~
   fs/xfs/libxfs/xfs_da_btree.c:497:25: note: Left side of '&&' is false
           for (i = max; (i >= 0) && addblk; state->path.active--, i--) {
                                  ^
   fs/xfs/libxfs/xfs_da_btree.c:565:7: note: 'addblk' is non-null
           if (!addblk)
                ^~~~~~
   fs/xfs/libxfs/xfs_da_btree.c:565:2: note: Taking false branch
           if (!addblk)
           ^
   fs/xfs/libxfs/xfs_da_btree.c:581:10: note: Calling 'xfs_da3_root_split'
           error = xfs_da3_root_split(state, oldblk, addblk);
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/xfs/libxfs/xfs_da_btree.c:659:10: note: Calling 'xfs_da_grow_inode'
           error = xfs_da_grow_inode(args, &blkno);
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/xfs/libxfs/xfs_da_btree.c:2237:10: note: Calling 'xfs_da_grow_inode_int'
           error = xfs_da_grow_inode_int(args, &bno, args->geo->fsbcount);
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/xfs/libxfs/xfs_da_btree.c:2156:6: note: Assuming 'error' is 0
           if (error)
               ^~~~~
   fs/xfs/libxfs/xfs_da_btree.c:2156:2: note: Taking false branch
           if (error)
           ^
   fs/xfs/libxfs/xfs_da_btree.c:2166:6: note: Assuming 'error' is 0
           if (error)
               ^~~~~
   fs/xfs/libxfs/xfs_da_btree.c:2166:2: note: Taking false branch
           if (error)
           ^
   fs/xfs/libxfs/xfs_da_btree.c:2170:6: note: Assuming 'nmap' is not equal to 1
           if (nmap == 1) {
               ^~~~~~~~~
   fs/xfs/libxfs/xfs_da_btree.c:2170:2: note: Taking false branch
           if (nmap == 1) {
           ^
   fs/xfs/libxfs/xfs_da_btree.c:2173:13: note: Assuming 'nmap' is not equal to 0
           } else if (nmap == 0 && count > 1) {
                      ^~~~~~~~~
   fs/xfs/libxfs/xfs_da_btree.c:2173:23: note: Left side of '&&' is false
           } else if (nmap == 0 && count > 1) {
                                ^
   fs/xfs/libxfs/xfs_da_btree.c:2198:3: note: Null pointer value stored to 'mapp'
                   mapp = NULL;
                   ^~~~~~~~~~~
   fs/xfs/libxfs/xfs_da_btree.c:2204:2: note: Loop condition is false. Execution continues on line 2206
           for (i = 0, got = 0; i < mapi; i++)
           ^
   fs/xfs/libxfs/xfs_da_btree.c:2206:6: note: Assuming 'got' is equal to 'count'
           if (got != count || mapp[0].br_startoff != *bno ||
               ^~~~~~~~~~~~
   fs/xfs/libxfs/xfs_da_btree.c:2206:6: note: Left side of '||' is false
   fs/xfs/libxfs/xfs_da_btree.c:2206:22: note: Dereference of null pointer
           if (got != count || mapp[0].br_startoff != *bno ||
                               ^~~~~~~~~~~~~~~~~~~
   Suppressed 13 warnings (13 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/clk/ti/apll.c:100:2: warning: Value stored to 'state' is never read [clang-analyzer-deadcode.DeadStores]
           state <<= __ffs(ad->idlest_mask);
           ^         ~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/ti/apll.c:100:2: note: Value stored to 'state' is never read
           state <<= __ffs(ad->idlest_mask);
           ^         ~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 1 warnings (1 with check filters).
   1 warning generated.
>> drivers/clk/ti/clkt_dpll.c:305:2: warning: Value stored to 'clk_name' is never read [clang-analyzer-deadcode.DeadStores]
           clk_name = clk_hw_get_name(hw);
           ^          ~~~~~~~~~~~~~~~~~~~
   drivers/clk/ti/clkt_dpll.c:305:2: note: Value stored to 'clk_name' is never read
           clk_name = clk_hw_get_name(hw);
           ^          ~~~~~~~~~~~~~~~~~~~
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   14 warnings generated.
   include/drm/drm_atomic.h:991:9: warning: Access to field 'mode_changed' results in a dereference of a null pointer (loaded from variable 'state') [clang-analyzer-core.NullDereference]
           return state->mode_changed || state->active_changed ||
                  ^
   drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c:956:27: note: Left side of '&&' is false
           struct dpu_plane *pdpu = to_dpu_plane(plane);
                                    ^
   drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c:134:25: note: expanded from macro 'to_dpu_plane'
   #define to_dpu_plane(x) container_of(x, struct dpu_plane, base)
                           ^
   include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
                                                                      ^
   drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c:956:27: note: Taking false branch
           struct dpu_plane *pdpu = to_dpu_plane(plane);
                                    ^
   drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c:134:25: note: expanded from macro 'to_dpu_plane'
   #define to_dpu_plane(x) container_of(x, struct dpu_plane, base)
                           ^
   include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
           ^
   include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
   #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                       ^
   include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
                   if (!(condition))                                       \
                   ^
   drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c:956:27: note: Loop condition is false.  Exiting loop
           struct dpu_plane *pdpu = to_dpu_plane(plane);
                                    ^
   drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c:134:25: note: expanded from macro 'to_dpu_plane'
   #define to_dpu_plane(x) container_of(x, struct dpu_plane, base)
                           ^
   include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
           ^
   include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
   #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                       ^
   include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
           do {                                                            \
           ^
   drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c:957:35: note: Left side of '&&' is false
           struct dpu_plane_state *pstate = to_dpu_plane_state(state);
                                            ^
   drivers/gpu/drm/msm/disp/dpu1/dpu_plane.h:61:2: note: expanded from macro 'to_dpu_plane_state'
           container_of(x, struct dpu_plane_state, base)
           ^
   include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
                                                                      ^
   drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c:957:35: note: Taking false branch
           struct dpu_plane_state *pstate = to_dpu_plane_state(state);
                                            ^
   drivers/gpu/drm/msm/disp/dpu1/dpu_plane.h:61:2: note: expanded from macro 'to_dpu_plane_state'
           container_of(x, struct dpu_plane_state, base)
           ^
   include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
           ^
   include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
   #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                       ^
   include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
                   if (!(condition))                                       \
                   ^
   drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c:957:35: note: Loop condition is false.  Exiting loop
           struct dpu_plane_state *pstate = to_dpu_plane_state(state);
                                            ^
   drivers/gpu/drm/msm/disp/dpu1/dpu_plane.h:61:2: note: expanded from macro 'to_dpu_plane_state'
           container_of(x, struct dpu_plane_state, base)
           ^
   include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
--
   13 warnings generated.
   drivers/video/fbdev/nvidia/nvidia.c:124:4: warning: Value stored to 'tmp' is never read [clang-analyzer-deadcode.DeadStores]
                           tmp = 0;
                           ^     ~
   drivers/video/fbdev/nvidia/nvidia.c:124:4: note: Value stored to 'tmp' is never read
                           tmp = 0;
                           ^     ~
   Suppressed 12 warnings (12 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.
   16 warnings generated.
   drivers/video/fbdev/nvidia/nv_hw.c:261:2: warning: Value stored to 'clwm' is never read [clang-analyzer-deadcode.DeadStores]
           clwm = 0;
           ^      ~
   drivers/video/fbdev/nvidia/nv_hw.c:261:2: note: Value stored to 'clwm' is never read
           clwm = 0;
           ^      ~
   drivers/video/fbdev/nvidia/nv_hw.c:284:2: warning: Value stored to 'pclks' is never read [clang-analyzer-deadcode.DeadStores]
           pclks += 0;
           ^        ~
   drivers/video/fbdev/nvidia/nv_hw.c:284:2: note: Value stored to 'pclks' is never read
           pclks += 0;
           ^        ~
   drivers/video/fbdev/nvidia/nv_hw.c:439:2: warning: Value stored to 'clwm' is never read [clang-analyzer-deadcode.DeadStores]
           clwm = 0;
           ^      ~
   drivers/video/fbdev/nvidia/nv_hw.c:439:2: note: Value stored to 'clwm' is never read
           clwm = 0;
           ^      ~
   Suppressed 13 warnings (12 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.
   14 warnings generated.
   Suppressed 14 warnings (12 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.
   12 warnings generated.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   14 warnings generated.
   drivers/regulator/mc13xxx-regulator-core.c:115:6: warning: Value stored to 'id' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           int id = rdev_get_id(rdev);
               ^~   ~~~~~~~~~~~~~~~~~
   drivers/regulator/mc13xxx-regulator-core.c:115:6: note: Value stored to 'id' during its initialization is never read
           int id = rdev_get_id(rdev);
               ^~   ~~~~~~~~~~~~~~~~~
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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/pinctrl/aspeed/pinctrl-aspeed.c:183:4: warning: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
                           strcat(found, str);
                           ^~~~~~
   drivers/pinctrl/aspeed/pinctrl-aspeed.c:183:4: note: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119
                           strcat(found, str);
                           ^~~~~~
   drivers/pinctrl/aspeed/pinctrl-aspeed.c:184:4: warning: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
                           strcat(found, ", ");
                           ^~~~~~
   drivers/pinctrl/aspeed/pinctrl-aspeed.c:184:4: note: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119
                           strcat(found, ", ");
                           ^~~~~~
   1 warning generated.
>> drivers/pinctrl/aspeed/pinctrl-aspeed-g6.c:2660:5: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
                                   ret = regmap_update_bits(ctx->maps[desc->ip],
                                   ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/pinctrl/aspeed/pinctrl-aspeed-g6.c:2660:5: note: Value stored to 'ret' is never read
                                   ret = regmap_update_bits(ctx->maps[desc->ip],
                                   ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   13 warnings generated.
>> drivers/gpu/drm/omapdrm/dss/hdmi4_cec.c:243:3: warning: Value stored to 'temp' is never read [clang-analyzer-deadcode.DeadStores]
                   temp = hdmi_read_reg(core->base, HDMI_CEC_INT_STATUS_1);
                   ^      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/omapdrm/dss/hdmi4_cec.c:243:3: note: Value stored to 'temp' is never read
                   temp = hdmi_read_reg(core->base, HDMI_CEC_INT_STATUS_1);
                   ^      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   drivers/tty/serial/samsung_tty.c:2037:5: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
                                   ret = -EINVAL;
                                   ^     ~~~~~~~
   drivers/tty/serial/samsung_tty.c:2037:5: note: Value stored to 'ret' is never read
                                   ret = -EINVAL;
                                   ^     ~~~~~~~
   Suppressed 12 warnings (12 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.
   15 warnings generated.
   drivers/tty/serial/sh-sci.c:2218:2: warning: The result of the left shift is undefined due to shifting by '4294967295', which is greater or equal to the width of type 'unsigned long' [clang-analyzer-core.UndefinedBinaryOperatorResult]
           for_each_sr(sr, s) {
           ^
   drivers/tty/serial/sh-sci.c:100:37: note: expanded from macro 'for_each_sr'
                   if ((_port)->sampling_rate_mask & SCI_SR((_sr)))
                                                     ^~~~~~~~~~~~~
   drivers/tty/serial/sh-sci.c:87:20: note: expanded from macro 'SCI_SR'
   #define SCI_SR(x)               BIT((x) - 1)
                                   ^~~~~~~~~~~~
   include/vdso/bits.h:7:26: note: expanded from macro 'BIT'
   #define BIT(nr)                 (UL(1) << (nr))
                                          ^  ~~~~
   drivers/tty/serial/sh-sci.c:2215:6: note: Assuming field 'type' is equal to PORT_HSCIF
           if (s->port.type != PORT_HSCIF)
               ^~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/tty/serial/sh-sci.c:2215:2: note: Taking false branch
           if (s->port.type != PORT_HSCIF)
           ^
   drivers/tty/serial/sh-sci.c:2218:2: note: Assuming the condition is true
           for_each_sr(sr, s) {
           ^
   drivers/tty/serial/sh-sci.c:99:30: note: expanded from macro 'for_each_sr'
           for ((_sr) = max_sr(_port); (_sr) >= min_sr(_port); (_sr)--)    \
                                       ^~~~~~~~~~~~~~~~~~~~~~
   drivers/tty/serial/sh-sci.c:2218:2: note: Loop condition is true.  Entering loop body
           for_each_sr(sr, s) {
           ^
   drivers/tty/serial/sh-sci.c:99:2: note: expanded from macro 'for_each_sr'
           for ((_sr) = max_sr(_port); (_sr) >= min_sr(_port); (_sr)--)    \
           ^
   drivers/tty/serial/sh-sci.c:2218:2: note: The result of the left shift is undefined due to shifting by '4294967295', which is greater or equal to the width of type 'unsigned long'
           for_each_sr(sr, s) {
           ^
   drivers/tty/serial/sh-sci.c:100:37: note: expanded from macro 'for_each_sr'
                   if ((_port)->sampling_rate_mask & SCI_SR((_sr)))
                                                     ^~~~~~~~~~~~~
   drivers/tty/serial/sh-sci.c:87:20: note: expanded from macro 'SCI_SR'
   #define SCI_SR(x)               BIT((x) - 1)
                                   ^~~~~~~~~~~~
   include/vdso/bits.h:7:26: note: expanded from macro 'BIT'
   #define BIT(nr)                 (UL(1) << (nr))
                                          ^  ~~~~
   drivers/tty/serial/sh-sci.c:2245:2: warning: The result of the left shift is undefined due to shifting by '4294967295', which is greater or equal to the width of type 'unsigned long' [clang-analyzer-core.UndefinedBinaryOperatorResult]
           for_each_sr(sr, s) {
           ^
   drivers/tty/serial/sh-sci.c:100:37: note: expanded from macro 'for_each_sr'
                   if ((_port)->sampling_rate_mask & SCI_SR((_sr)))
                                                     ^~~~~~~~~~~~~
   drivers/tty/serial/sh-sci.c:87:20: note: expanded from macro 'SCI_SR'
   #define SCI_SR(x)               BIT((x) - 1)
                                   ^~~~~~~~~~~~
   include/vdso/bits.h:7:26: note: expanded from macro 'BIT'
   #define BIT(nr)                 (UL(1) << (nr))
                                          ^  ~~~~
   drivers/tty/serial/sh-sci.c:2242:6: note: Assuming field 'type' is equal to PORT_HSCIF
           if (s->port.type != PORT_HSCIF)
               ^~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/tty/serial/sh-sci.c:2242:2: note: Taking false branch
           if (s->port.type != PORT_HSCIF)
           ^
   drivers/tty/serial/sh-sci.c:2245:2: note: Assuming the condition is true
           for_each_sr(sr, s) {
           ^
   drivers/tty/serial/sh-sci.c:99:30: note: expanded from macro 'for_each_sr'
           for ((_sr) = max_sr(_port); (_sr) >= min_sr(_port); (_sr)--)    \
                                       ^~~~~~~~~~~~~~~~~~~~~~
   drivers/tty/serial/sh-sci.c:2245:2: note: Loop condition is true.  Entering loop body
           for_each_sr(sr, s) {
           ^
   drivers/tty/serial/sh-sci.c:99:2: note: expanded from macro 'for_each_sr'
           for ((_sr) = max_sr(_port); (_sr) >= min_sr(_port); (_sr)--)    \
--
           list_entry((ptr)->next, type, member)
           ^
   include/linux/list.h:511:2: note: expanded from macro 'list_entry'
           container_of(ptr, type, member)
           ^
   include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
                                                                      ^
   fs/xfs/libxfs/xfs_defer.c:492:9: note: Taking false branch
                   dfp = list_first_entry(&dop_pending, struct xfs_defer_pending,
                         ^
   include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
           list_entry((ptr)->next, type, member)
           ^
   include/linux/list.h:511:2: note: expanded from macro 'list_entry'
           container_of(ptr, type, member)
           ^
   include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
           ^
   note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
                   if (!(condition))                                       \
                   ^
   fs/xfs/libxfs/xfs_defer.c:492:9: note: Loop condition is false.  Exiting loop
                   dfp = list_first_entry(&dop_pending, struct xfs_defer_pending,
                         ^
   include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
           list_entry((ptr)->next, type, member)
           ^
   include/linux/list.h:511:2: note: expanded from macro 'list_entry'
           container_of(ptr, type, member)
           ^
   include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
           ^
   note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
           do {                                                            \
           ^
   fs/xfs/libxfs/xfs_defer.c:494:11: note: Calling 'xfs_defer_finish_one'
                   error = xfs_defer_finish_one(*tp, dfp);
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/xfs/libxfs/xfs_defer.c:413:2: note: 'error' declared without an initial value
           int                             error;
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/xfs/libxfs/xfs_defer.c:418:2: note: Loop condition is false. Execution continues on line 441
           list_for_each_safe(li, n, &dfp->dfp_work) {
           ^
   include/linux/list.h:598:2: note: expanded from macro 'list_for_each_safe'
           for (pos = (head)->next, n = pos->next; pos != (head); \
           ^
   fs/xfs/libxfs/xfs_defer.c:444:6: note: Assuming field 'finish_cleanup' is null
           if (ops->finish_cleanup)
               ^~~~~~~~~~~~~~~~~~~
   fs/xfs/libxfs/xfs_defer.c:444:2: note: Taking false branch
           if (ops->finish_cleanup)
           ^
   fs/xfs/libxfs/xfs_defer.c:446:2: note: Undefined or garbage value returned to caller
           return error;
           ^      ~~~~~
   Suppressed 13 warnings (13 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.
   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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   14 warnings generated.
>> drivers/gpu/drm/sti/sti_hqvdp.c:741:6: warning: Division by zero [clang-analyzer-core.DivideZero]
           lfw /= max(src_w, dst_w) * mode->clock / 1000;
               ^
   drivers/gpu/drm/sti/sti_hqvdp.c:1022:28: note: Left side of '&&' is false
           struct sti_plane *plane = to_sti_plane(drm_plane);
                                     ^
   drivers/gpu/drm/sti/sti_plane.h:13:25: note: expanded from macro 'to_sti_plane'
   #define to_sti_plane(x) container_of(x, struct sti_plane, drm_plane)
                           ^
   include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
                                                                      ^
   drivers/gpu/drm/sti/sti_hqvdp.c:1022:28: note: Taking false branch
           struct sti_plane *plane = to_sti_plane(drm_plane);
                                     ^
   drivers/gpu/drm/sti/sti_plane.h:13:25: note: expanded from macro 'to_sti_plane'
   #define to_sti_plane(x) container_of(x, struct sti_plane, drm_plane)
                           ^
   include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
           ^
   include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
   #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                       ^
   include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
                   if (!(condition))                                       \
                   ^
   drivers/gpu/drm/sti/sti_hqvdp.c:1022:28: note: Loop condition is false.  Exiting loop
           struct sti_plane *plane = to_sti_plane(drm_plane);
                                     ^
   drivers/gpu/drm/sti/sti_plane.h:13:25: note: expanded from macro 'to_sti_plane'
   #define to_sti_plane(x) container_of(x, struct sti_plane, drm_plane)
                           ^
   include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
           ^
   include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
   #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                       ^
   include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
           do {                                                            \
           ^
   drivers/gpu/drm/sti/sti_hqvdp.c:1023:28: note: Left side of '&&' is false
           struct sti_hqvdp *hqvdp = to_sti_hqvdp(plane);
                                     ^
   drivers/gpu/drm/sti/sti_hqvdp.c:360:25: note: expanded from macro 'to_sti_hqvdp'
   #define to_sti_hqvdp(x) container_of(x, struct sti_hqvdp, plane)
                           ^
   include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
                                                                      ^
   drivers/gpu/drm/sti/sti_hqvdp.c:1023:28: note: Taking false branch
           struct sti_hqvdp *hqvdp = to_sti_hqvdp(plane);
                                     ^
   drivers/gpu/drm/sti/sti_hqvdp.c:360:25: note: expanded from macro 'to_sti_hqvdp'
   #define to_sti_hqvdp(x) container_of(x, struct sti_hqvdp, plane)
                           ^
   include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
           ^
   include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
   #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                       ^
   include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
                   if (!(condition))                                       \
                   ^
   drivers/gpu/drm/sti/sti_hqvdp.c:1023:28: note: Loop condition is false.  Exiting loop
           struct sti_hqvdp *hqvdp = to_sti_hqvdp(plane);
                                     ^
   drivers/gpu/drm/sti/sti_hqvdp.c:360:25: note: expanded from macro 'to_sti_hqvdp'
   #define to_sti_hqvdp(x) container_of(x, struct sti_hqvdp, plane)
                           ^
   include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
           ^
   include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
   #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                       ^
   include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
--
   include/linux/minmax.h:34:26: note: expanded from macro '__cmp'
   #define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
                            ^
   drivers/gpu/drm/sti/sti_hqvdp.c:1040:10: note: Assuming '__UNIQUE_ID___x283' is >= '__UNIQUE_ID___y284'
           dst_h = clamp_val(state->crtc_h, 0, mode->vdisplay - dst_y);
                   ^
   include/linux/minmax.h:143:32: note: expanded from macro 'clamp_val'
   #define clamp_val(val, lo, hi) clamp_t(typeof(val), val, lo, hi)
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/minmax.h:130:36: note: expanded from macro 'clamp_t'
   #define clamp_t(type, val, lo, hi) min_t(type, max_t(type, val, lo), hi)
                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/minmax.h:110:27: note: expanded from macro 'min_t'
   #define min_t(type, x, y)       __careful_cmp((type)(x), (type)(y), <)
                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/minmax.h:44:3: note: expanded from macro '__careful_cmp'
                   __cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op))
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/minmax.h:39:3: note: expanded from macro '__cmp_once'
                   __cmp(unique_x, unique_y, op); })
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/minmax.h:34:26: note: expanded from macro '__cmp'
   #define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
                            ^~~~~~~~~~
   drivers/gpu/drm/sti/sti_hqvdp.c:1040:10: note: '?' condition is false
           dst_h = clamp_val(state->crtc_h, 0, mode->vdisplay - dst_y);
                   ^
   include/linux/minmax.h:143:32: note: expanded from macro 'clamp_val'
   #define clamp_val(val, lo, hi) clamp_t(typeof(val), val, lo, hi)
                                  ^
   include/linux/minmax.h:130:36: note: expanded from macro 'clamp_t'
   #define clamp_t(type, val, lo, hi) min_t(type, max_t(type, val, lo), hi)
                                      ^
   include/linux/minmax.h:110:27: note: expanded from macro 'min_t'
   #define min_t(type, x, y)       __careful_cmp((type)(x), (type)(y), <)
                                   ^
   include/linux/minmax.h:44:3: note: expanded from macro '__careful_cmp'
                   __cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op))
                   ^
   include/linux/minmax.h:39:3: note: expanded from macro '__cmp_once'
                   __cmp(unique_x, unique_y, op); })
                   ^
   include/linux/minmax.h:34:26: note: expanded from macro '__cmp'
   #define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
                            ^
   drivers/gpu/drm/sti/sti_hqvdp.c:1040:2: note: The value 0 is assigned to 'dst_h'
           dst_h = clamp_val(state->crtc_h, 0, mode->vdisplay - dst_y);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/sti/sti_hqvdp.c:1047:6: note: Assuming field 'clock' is not equal to 0
           if (mode->clock && !sti_hqvdp_check_hw_scaling(hqvdp, mode,
               ^~~~~~~~~~~
   drivers/gpu/drm/sti/sti_hqvdp.c:1047:6: note: Left side of '&&' is true
   drivers/gpu/drm/sti/sti_hqvdp.c:1049:21: note: Passing the value 0 via 6th parameter 'dst_h'
                                                          dst_w, dst_h)) {
                                                                 ^~~~~
   drivers/gpu/drm/sti/sti_hqvdp.c:1047:22: note: Calling 'sti_hqvdp_check_hw_scaling'
           if (mode->clock && !sti_hqvdp_check_hw_scaling(hqvdp, mode,
                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/sti/sti_hqvdp.c:741:9: note: Assuming '__UNIQUE_ID___x272' is > '__UNIQUE_ID___y273'
           lfw /= max(src_w, dst_w) * mode->clock / 1000;
                  ^
   include/linux/minmax.h:58:19: note: expanded from macro 'max'
   #define max(x, y)       __careful_cmp(x, y, >)
                           ^~~~~~~~~~~~~~~~~~~~~~
   include/linux/minmax.h:44:3: note: expanded from macro '__careful_cmp'
                   __cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op))
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/minmax.h:39:3: note: expanded from macro '__cmp_once'
                   __cmp(unique_x, unique_y, op); })
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/minmax.h:34:26: note: expanded from macro '__cmp'
   #define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
                            ^~~~~~~~~~
   drivers/gpu/drm/sti/sti_hqvdp.c:741:9: note: '?' condition is true
           lfw /= max(src_w, dst_w) * mode->clock / 1000;
                  ^
   include/linux/minmax.h:58:19: note: expanded from macro 'max'
   #define max(x, y)       __careful_cmp(x, y, >)
                           ^
   include/linux/minmax.h:44:3: note: expanded from macro '__careful_cmp'
                   __cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op))
                   ^
   include/linux/minmax.h:39:3: note: expanded from macro '__cmp_once'
                   __cmp(unique_x, unique_y, op); })
                   ^
   include/linux/minmax.h:34:26: note: expanded from macro '__cmp'
   #define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
                            ^
   drivers/gpu/drm/sti/sti_hqvdp.c:743:11: note: Division by zero
           inv_zy = DIV_ROUND_UP(src_h, dst_h);
                    ^
   include/linux/math.h:36:22: note: expanded from macro 'DIV_ROUND_UP'
   #define DIV_ROUND_UP __KERNEL_DIV_ROUND_UP
                        ^
   include/uapi/linux/const.h:34:54: note: expanded from macro '__KERNEL_DIV_ROUND_UP'
   #define __KERNEL_DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d))
                                        ~~~~~~~~~~~~~~~~^~~~~
   Suppressed 12 warnings (12 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.
   14 warnings generated.
>> drivers/gpu/drm/omapdrm/omap_crtc.c:234:21: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct drm_device *dev = omap_crtc->base.dev;
                              ^~~   ~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/omapdrm/omap_crtc.c:234:21: note: Value stored to 'dev' during its initialization is never read
           struct drm_device *dev = omap_crtc->base.dev;
                              ^~~   ~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/omapdrm/omap_crtc.c:253:21: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct drm_device *dev = omap_crtc->base.dev;
                              ^~~   ~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/omapdrm/omap_crtc.c:253:21: note: Value stored to 'dev' during its initialization is never read
           struct drm_device *dev = omap_crtc->base.dev;
                              ^~~   ~~~~~~~~~~~~~~~~~~~
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   15 warnings generated.
   drivers/gpu/drm/omapdrm/omap_encoder.c:104:16: warning: Access to field 'bridge' results in a dereference of a null pointer (loaded from variable 'output') [clang-analyzer-core.NullDereference]
           for (bridge = output->bridge; bridge;
                         ^~~~~~
   drivers/gpu/drm/omapdrm/omap_encoder.c:76:38: note: Left side of '&&' is false
           struct omap_encoder *omap_encoder = to_omap_encoder(encoder);
                                               ^
   drivers/gpu/drm/omapdrm/omap_encoder.c:20:28: note: expanded from macro 'to_omap_encoder'
   #define to_omap_encoder(x) container_of(x, struct omap_encoder, base)
                              ^
   include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
                                                                      ^
   drivers/gpu/drm/omapdrm/omap_encoder.c:76:38: note: Taking false branch
           struct omap_encoder *omap_encoder = to_omap_encoder(encoder);
                                               ^
   drivers/gpu/drm/omapdrm/omap_encoder.c:20:28: note: expanded from macro 'to_omap_encoder'
   #define to_omap_encoder(x) container_of(x, struct omap_encoder, base)
                              ^
   include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
           ^
   include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
   #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                       ^
   include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
                   if (!(condition))                                       \
                   ^
   drivers/gpu/drm/omapdrm/omap_encoder.c:76:38: note: Loop condition is false.  Exiting loop
           struct omap_encoder *omap_encoder = to_omap_encoder(encoder);
                                               ^
   drivers/gpu/drm/omapdrm/omap_encoder.c:20:28: note: expanded from macro 'to_omap_encoder'
   #define to_omap_encoder(x) container_of(x, struct omap_encoder, base)
                              ^
   include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
           ^
   include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
   #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                       ^
   include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
           do {                                                            \
           ^
   drivers/gpu/drm/omapdrm/omap_encoder.c:77:2: note: 'output' initialized here
           struct omap_dss_device *output = omap_encoder->output;
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/omapdrm/omap_encoder.c:85:2: note: Left side of '&&' is false
           list_for_each_entry(connector, &dev->mode_config.connector_list, head) {
           ^
   include/linux/list.h:628:13: note: expanded from macro 'list_for_each_entry'
           for (pos = list_first_entry(head, typeof(*pos), member);        \
                      ^
   include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
           list_entry((ptr)->next, type, member)
           ^
   include/linux/list.h:511:2: note: expanded from macro 'list_entry'
           container_of(ptr, type, member)
           ^
   include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
                                                                      ^
   drivers/gpu/drm/omapdrm/omap_encoder.c:85:2: note: Taking false branch
           list_for_each_entry(connector, &dev->mode_config.connector_list, head) {
           ^
   include/linux/list.h:628:13: note: expanded from macro 'list_for_each_entry'
           for (pos = list_first_entry(head, typeof(*pos), member);        \
                      ^
   include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
           list_entry((ptr)->next, type, member)
           ^
   include/linux/list.h:511:2: note: expanded from macro 'list_entry'
           container_of(ptr, type, member)
--
                   glops->go_inval(gl, target == LM_ST_DEFERRED ? 0 : DIO_METADATA);
                                       ^~~~~~
   fs/gfs2/glock.c:643:23: note: '?' condition is true
   fs/gfs2/glock.c:643:3: note: Called function pointer is null (null dereference)
                   glops->go_inval(gl, target == LM_ST_DEFERRED ? 0 : DIO_METADATA);
                   ^~~~~~~~~~~~~~~
   include/linux/jhash.h:127:5: warning: Assigned value is garbage or undefined [clang-analyzer-core.uninitialized.Assign]
                   b += k[1];
                     ^
   fs/gfs2/glock.c:1523:10: note: Calling 'gfs2_glock_get'
           error = gfs2_glock_get(sdp, number, glops, CREATE, &gl);
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/gfs2/glock.c:1002:7: note: Calling 'find_insert_glock'
           gl = find_insert_glock(&name, NULL);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/gfs2/glock.c:946:26: note: Calling 'glock_waitqueue'
           wait_queue_head_t *wq = glock_waitqueue(name);
                                   ^~~~~~~~~~~~~~~~~~~~~
   fs/gfs2/glock.c:107:13: note: Calling 'jhash2'
           u32 hash = jhash2((u32 *)name, ht_parms.key_len / 4, 0);
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/jhash.h:125:2: note: Loop condition is true.  Entering loop body
           while (length > 3) {
           ^
   include/linux/jhash.h:127:5: note: Assigned value is garbage or undefined
                   b += k[1];
                     ^  ~~~~
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   14 warnings generated.
   drivers/gpu/drm/panel/panel-kingdisplay-kd097d04.c:366:3: warning: Value stored to 'err' is never read [clang-analyzer-deadcode.DeadStores]
                   err = PTR_ERR(kingdisplay->enable_gpio);
                   ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/panel/panel-kingdisplay-kd097d04.c:366:3: note: Value stored to 'err' is never read
                   err = PTR_ERR(kingdisplay->enable_gpio);
                   ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   14 warnings generated.
   drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c:54:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct device *dev = ctx->dev;
                          ^~~   ~~~~~~~~
   drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c:54:17: note: Value stored to 'dev' during its initialization is never read
           struct device *dev = ctx->dev;
                          ^~~   ~~~~~~~~
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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/gpu/drm/omapdrm/dss/omapdss-boot-init.c:68:3: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
                   strcpy(dst, prefix);
                   ^~~~~~
   drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c:68:3: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
                   strcpy(dst, prefix);
                   ^~~~~~
   drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c:71:3: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
                   strcpy(dst, src);
                   ^~~~~~
   drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c:71:3: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
                   strcpy(dst, src);
                   ^~~~~~
   13 warnings generated.
>> drivers/gpu/drm/omapdrm/dss/base.c:213:21: warning: Value stored to 'dss' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct dss_device *dss = src ? src->dss : dst->dss;
                              ^~~   ~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/omapdrm/dss/base.c:213:21: note: Value stored to 'dss' during its initialization is never read
           struct dss_device *dss = src ? src->dss : dst->dss;
                              ^~~   ~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   17 warnings generated.
   drivers/gpu/drm/omapdrm/dss/dispc.c:871:56: warning: The result of the left shift is undefined because the left operand is negative [clang-analyzer-core.UndefinedBinaryOperatorResult]
           dispc_write_reg(dispc, DISPC_OVL_CONV_COEF(plane, 2), CVAL(ct->gcb, ct->gcr));
                                                                 ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:867:21: note: expanded from macro 'CVAL'
   #define CVAL(x, y) (FLD_VAL(x, 26, 16) | FLD_VAL(y, 10, 0))
                       ^
   drivers/gpu/drm/omapdrm/dss/dss.h:65:42: note: expanded from macro 'FLD_VAL'
   #define FLD_VAL(val, start, end) (((val) << (end)) & FLD_MASK(start, end))
                                            ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:4901:6: note: Assuming the condition is true
           if (REG_GET(dispc, DISPC_CONFIG, 2, 1) != OMAP_DSS_LOAD_FRAME_ONLY) {
               ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:51:2: note: expanded from macro 'REG_GET'
           FLD_GET(dispc_read_reg(dispc, idx), start, end)
           ^
   drivers/gpu/drm/omapdrm/dss/dss.h:66:34: note: expanded from macro 'FLD_GET'
   #define FLD_GET(val, start, end) (((val) & FLD_MASK(start, end)) >> (end))
                                    ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:4901:2: note: Taking true branch
           if (REG_GET(dispc, DISPC_CONFIG, 2, 1) != OMAP_DSS_LOAD_FRAME_ONLY) {
           ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:4902:3: note: Calling '_omap_dispc_initial_config'
                   _omap_dispc_initial_config(dispc);
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/omapdrm/dss/dispc.c:3911:2: note: Taking false branch
           if (dispc_has_feature(dispc, FEAT_CORE_CLK_DIV)) {
           ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:3922:6: note: Assuming field 'has_gamma_table' is false
           if (dispc->feat->has_gamma_table)
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/omapdrm/dss/dispc.c:3922:2: note: Taking false branch
           if (dispc->feat->has_gamma_table)
           ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:3929:6: note: Left side of '||' is false
           if (dispc_has_feature(dispc, FEAT_FUNCGATED) ||
               ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:3930:19: note: Field 'has_gamma_table' is false
               dispc->feat->has_gamma_table)
                            ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:3929:2: note: Taking false branch
           if (dispc_has_feature(dispc, FEAT_FUNCGATED) ||
           ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:3933:2: note: Calling 'dispc_setup_color_conv_coef'
           dispc_setup_color_conv_coef(dispc);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/omapdrm/dss/dispc.c:919:14: note: Assuming 'i' is < 'num_ovl'
           for (i = 1; i < num_ovl; i++)
                       ^~~~~~~~~~~
   drivers/gpu/drm/omapdrm/dss/dispc.c:919:2: note: Loop condition is true.  Entering loop body
           for (i = 1; i < num_ovl; i++)
           ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:920:3: note: Calling 'dispc_ovl_write_color_conv_coef'
                   dispc_ovl_write_color_conv_coef(dispc, i, &coefs_yuv2rgb_bt601_lim);
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/omapdrm/dss/dispc.c:871:56: note: The result of the left shift is undefined because the left operand is negative
           dispc_write_reg(dispc, DISPC_OVL_CONV_COEF(plane, 2), CVAL(ct->gcb, ct->gcr));
                                                                 ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:867:21: note: expanded from macro 'CVAL'
   #define CVAL(x, y) (FLD_VAL(x, 26, 16) | FLD_VAL(y, 10, 0))
                       ^~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/omapdrm/dss/dss.h:65:42: note: expanded from macro 'FLD_VAL'
   #define FLD_VAL(val, start, end) (((val) << (end)) & FLD_MASK(start, end))
                                      ~~~~~ ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:889:56: warning: The result of the left shift is undefined because the left operand is negative [clang-analyzer-core.UndefinedBinaryOperatorResult]
           dispc_write_reg(dispc, DISPC_OVL_CONV_COEF(plane, 2), CVAL(ct->crb, ct->crg));
                                                                 ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:885:21: note: expanded from macro 'CVAL'
   #define CVAL(x, y) (FLD_VAL(x, 26, 16) | FLD_VAL(y, 10, 0))
                       ^
   drivers/gpu/drm/omapdrm/dss/dss.h:65:42: note: expanded from macro 'FLD_VAL'
   #define FLD_VAL(val, start, end) (((val) << (end)) & FLD_MASK(start, end))
                                            ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:4901:6: note: Assuming the condition is true
           if (REG_GET(dispc, DISPC_CONFIG, 2, 1) != OMAP_DSS_LOAD_FRAME_ONLY) {
               ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:51:2: note: expanded from macro 'REG_GET'
           FLD_GET(dispc_read_reg(dispc, idx), start, end)
           ^
   drivers/gpu/drm/omapdrm/dss/dss.h:66:34: note: expanded from macro 'FLD_GET'
   #define FLD_GET(val, start, end) (((val) & FLD_MASK(start, end)) >> (end))
                                    ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:4901:2: note: Taking true branch
           if (REG_GET(dispc, DISPC_CONFIG, 2, 1) != OMAP_DSS_LOAD_FRAME_ONLY) {
           ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:4902:3: note: Calling '_omap_dispc_initial_config'
                   _omap_dispc_initial_config(dispc);
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/omapdrm/dss/dispc.c:3911:2: note: Taking false branch
           if (dispc_has_feature(dispc, FEAT_CORE_CLK_DIV)) {
           ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:3922:6: note: Assuming field 'has_gamma_table' is false
           if (dispc->feat->has_gamma_table)
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/omapdrm/dss/dispc.c:3922:2: note: Taking false branch
           if (dispc->feat->has_gamma_table)
           ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:3929:6: note: Left side of '||' is false
           if (dispc_has_feature(dispc, FEAT_FUNCGATED) ||
               ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:3930:19: note: Field 'has_gamma_table' is false
               dispc->feat->has_gamma_table)
                            ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:3929:2: note: Taking false branch
           if (dispc_has_feature(dispc, FEAT_FUNCGATED) ||
           ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:3933:2: note: Calling 'dispc_setup_color_conv_coef'
           dispc_setup_color_conv_coef(dispc);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/omapdrm/dss/dispc.c:919:14: note: Assuming 'i' is >= 'num_ovl'
           for (i = 1; i < num_ovl; i++)
                       ^~~~~~~~~~~
   drivers/gpu/drm/omapdrm/dss/dispc.c:919:2: note: Loop condition is false. Execution continues on line 922
           for (i = 1; i < num_ovl; i++)
           ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:922:6: note: Assuming field 'has_writeback' is true
           if (dispc->feat->has_writeback)
               ^~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/omapdrm/dss/dispc.c:922:2: note: Taking true branch
           if (dispc->feat->has_writeback)
           ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:923:3: note: Calling 'dispc_wb_write_color_conv_coef'
                   dispc_wb_write_color_conv_coef(dispc, &coefs_rgb2yuv_bt601_lim);
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/omapdrm/dss/dispc.c:889:56: note: The result of the left shift is undefined because the left operand is negative
           dispc_write_reg(dispc, DISPC_OVL_CONV_COEF(plane, 2), CVAL(ct->crb, ct->crg));
                                                                 ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:885:21: note: expanded from macro 'CVAL'
   #define CVAL(x, y) (FLD_VAL(x, 26, 16) | FLD_VAL(y, 10, 0))
                       ^~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/omapdrm/dss/dss.h:65:42: note: expanded from macro 'FLD_VAL'
   #define FLD_VAL(val, start, end) (((val) << (end)) & FLD_MASK(start, end))
                                      ~~~~~ ^
>> drivers/gpu/drm/omapdrm/dss/dispc.c:3215:3: warning: Value stored to 'ht' is never read [clang-analyzer-deadcode.DeadStores]
                   ht = vm->pixelclock / xtot;
                   ^    ~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/omapdrm/dss/dispc.c:3215:3: note: Value stored to 'ht' is never read
                   ht = vm->pixelclock / xtot;
                   ^    ~~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/omapdrm/dss/dispc.c:3216:3: warning: Value stored to 'vt' is never read [clang-analyzer-deadcode.DeadStores]
                   vt = vm->pixelclock / xtot / ytot;
                   ^    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/omapdrm/dss/dispc.c:3216:3: note: Value stored to 'vt' is never read
                   vt = vm->pixelclock / xtot / ytot;
                   ^    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/omapdrm/dss/dispc.c:4822:2: warning: Value stored to 'rev' is never read [clang-analyzer-deadcode.DeadStores]
           rev = dispc_read_reg(dispc, DISPC_REVISION);
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/omapdrm/dss/dispc.c:4822:2: note: Value stored to 'rev' is never read
           rev = dispc_read_reg(dispc, DISPC_REVISION);
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   block/blk-mq-cpumap.c:21:33: warning: Division by zero [clang-analyzer-core.DivideZero]
           return qmap->queue_offset + (q % nr_queues);
                                          ^
   block/blk-mq-cpumap.c:38:2: note: 'nr_queues' initialized here
           unsigned int nr_queues = qmap->nr_queues;
           ^~~~~~~~~~~~~~~~~~~~~~
   block/blk-mq-cpumap.c:41:2: note: Loop condition is true.  Entering loop body
           for_each_possible_cpu(cpu)
           ^
   include/linux/cpumask.h:817:36: note: expanded from macro 'for_each_possible_cpu'
   #define for_each_possible_cpu(cpu) for_each_cpu((cpu), cpu_possible_mask)
                                      ^
   include/linux/cpumask.h:208:2: note: expanded from macro 'for_each_cpu'
           for ((cpu) = 0; (cpu) < 1; (cpu)++, (void)mask)
           ^
   block/blk-mq-cpumap.c:41:2: note: Loop condition is false. Execution continues on line 48
           for_each_possible_cpu(cpu)
           ^
   include/linux/cpumask.h:817:36: note: expanded from macro 'for_each_possible_cpu'
   #define for_each_possible_cpu(cpu) for_each_cpu((cpu), cpu_possible_mask)
                                      ^
   include/linux/cpumask.h:208:2: note: expanded from macro 'for_each_cpu'
           for ((cpu) = 0; (cpu) < 1; (cpu)++, (void)mask)
           ^
   block/blk-mq-cpumap.c:48:2: note: Loop condition is true.  Entering loop body
           for_each_present_cpu(cpu) {
           ^
   include/linux/cpumask.h:819:36: note: expanded from macro 'for_each_present_cpu'
   #define for_each_present_cpu(cpu)  for_each_cpu((cpu), cpu_present_mask)
                                      ^
   include/linux/cpumask.h:208:2: note: expanded from macro 'for_each_cpu'
           for ((cpu) = 0; (cpu) < 1; (cpu)++, (void)mask)
           ^
   block/blk-mq-cpumap.c:49:7: note: Assuming 'q' is >= 'nr_queues'
                   if (q >= nr_queues)
                       ^~~~~~~~~~~~~~
   block/blk-mq-cpumap.c:49:3: note: Taking true branch
                   if (q >= nr_queues)
                   ^
   block/blk-mq-cpumap.c:50:4: note:  Execution continues on line 54
                           break;
                           ^
   block/blk-mq-cpumap.c:54:2: note: Loop condition is true.  Entering loop body
           for_each_possible_cpu(cpu) {
           ^
   include/linux/cpumask.h:817:36: note: expanded from macro 'for_each_possible_cpu'
   #define for_each_possible_cpu(cpu) for_each_cpu((cpu), cpu_possible_mask)
                                      ^
   include/linux/cpumask.h:208:2: note: expanded from macro 'for_each_cpu'
           for ((cpu) = 0; (cpu) < 1; (cpu)++, (void)mask)
           ^
   block/blk-mq-cpumap.c:55:3: note: Taking false branch
                   if (map[cpu] != -1)
                   ^
   block/blk-mq-cpumap.c:63:7: note: 'q' is >= 'nr_queues'
                   if (q < nr_queues) {
                       ^
   block/blk-mq-cpumap.c:63:3: note: Taking false branch
                   if (q < nr_queues) {
                   ^
   block/blk-mq-cpumap.c:67:8: note: 'first_sibling' is equal to 'cpu'
                           if (first_sibling == cpu)
                               ^~~~~~~~~~~~~
   block/blk-mq-cpumap.c:67:4: note: Taking true branch
                           if (first_sibling == cpu)
                           ^
   block/blk-mq-cpumap.c:68:34: note: Passing the value 0 via 2nd parameter 'nr_queues'
                                   map[cpu] = queue_index(qmap, nr_queues, q++);
                                                                ^~~~~~~~~
   block/blk-mq-cpumap.c:68:16: note: Calling 'queue_index'
                                   map[cpu] = queue_index(qmap, nr_queues, q++);
                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   block/blk-mq-cpumap.c:21:33: note: Division by zero
           return qmap->queue_offset + (q % nr_queues);
                                        ~~^~~~~~~~~~~
   Suppressed 12 warnings (12 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.
   15 warnings generated.
   fs/xfs/libxfs/xfs_dir2_data.c:256:27: warning: Access to field 'count' results in a dereference of a null pointer (loaded from variable 'btp') [clang-analyzer-core.NullDereference]
                   for (i = stale = 0; i < be32_to_cpu(btp->count); i++) {
                                           ^
   include/linux/byteorder/generic.h:95:21: note: expanded from macro 'be32_to_cpu'
   #define be32_to_cpu __be32_to_cpu
--
           uint16_t hi_sidd = smu_data->power_tune_table.BapmVddCBaseLeakageHiSidd;
                    ^~~~~~~   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/polaris10_smumgr.c:590:11: warning: Value stored to 'lo_sidd' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           uint16_t lo_sidd = smu_data->power_tune_table.BapmVddCBaseLeakageLoSidd;
                    ^~~~~~~   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/polaris10_smumgr.c:590:11: note: Value stored to 'lo_sidd' during its initialization is never read
           uint16_t lo_sidd = smu_data->power_tune_table.BapmVddCBaseLeakageLoSidd;
                    ^~~~~~~   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/polaris10_smumgr.c:967:2: warning: Value stored to 'result' is never read [clang-analyzer-deadcode.DeadStores]
           result = polaris10_calculate_sclk_params(hwmgr, clock, &curr_sclk_setting);
           ^        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/polaris10_smumgr.c:967:2: note: Value stored to 'result' is never read
           result = polaris10_calculate_sclk_params(hwmgr, clock, &curr_sclk_setting);
           ^        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/polaris10_smumgr.c:1592:3: warning: Value stored to 'result' is never read [clang-analyzer-deadcode.DeadStores]
                   result = 0;
                   ^        ~
   drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/polaris10_smumgr.c:1592:3: note: Value stored to 'result' is never read
                   result = 0;
                   ^        ~
   drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/polaris10_smumgr.c:1600:3: warning: Value stored to 'result' is never read [clang-analyzer-deadcode.DeadStores]
                   result = 0;
                   ^        ~
   drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/polaris10_smumgr.c:1600:3: note: Value stored to 'result' is never read
                   result = 0;
                   ^        ~
   drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/polaris10_smumgr.c:1868:3: warning: Value stored to 'result' is never read [clang-analyzer-deadcode.DeadStores]
                   result = smu7_read_smc_sram_dword(hwmgr,
                   ^        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/polaris10_smumgr.c:1868:3: note: Value stored to 'result' is never read
                   result = smu7_read_smc_sram_dword(hwmgr,
                   ^        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 14 warnings (14 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.
   21 warnings generated.
   drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/iceland_smumgr.c:374:11: warning: Value stored to 'HiSidd' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           uint16_t HiSidd = smu_data->power_tune_table.BapmVddCBaseLeakageHiSidd;
                    ^~~~~~   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/iceland_smumgr.c:374:11: note: Value stored to 'HiSidd' during its initialization is never read
           uint16_t HiSidd = smu_data->power_tune_table.BapmVddCBaseLeakageHiSidd;
                    ^~~~~~   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/iceland_smumgr.c:375:11: warning: Value stored to 'LoSidd' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           uint16_t LoSidd = smu_data->power_tune_table.BapmVddCBaseLeakageLoSidd;
                    ^~~~~~   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/iceland_smumgr.c:375:11: note: Value stored to 'LoSidd' during its initialization is never read
           uint16_t LoSidd = smu_data->power_tune_table.BapmVddCBaseLeakageLoSidd;
                    ^~~~~~   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/iceland_smumgr.c:827:2: warning: Value stored to 'spll_func_cntl' is never read [clang-analyzer-deadcode.DeadStores]
           spll_func_cntl = PHM_SET_FIELD(spll_func_cntl,
           ^
   drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/iceland_smumgr.c:827:2: note: Value stored to 'spll_func_cntl' is never read
   drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/iceland_smumgr.c:898:2: warning: Value stored to 'result' is never read [clang-analyzer-deadcode.DeadStores]
           result = iceland_calculate_sclk_params(hwmgr, engine_clock, graphic_level);
           ^        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/iceland_smumgr.c:898:2: note: Value stored to 'result' is never read
           result = iceland_calculate_sclk_params(hwmgr, engine_clock, graphic_level);
           ^        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/iceland_smumgr.c:1664:3: warning: Value stored to 'result' is never read [clang-analyzer-deadcode.DeadStores]
                   result = 0;
                   ^        ~
   drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/iceland_smumgr.c:1664:3: note: Value stored to 'result' is never read
                   result = 0;
                   ^        ~
   drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/iceland_smumgr.c:2067:2: warning: Value stored to 'result' is never read [clang-analyzer-deadcode.DeadStores]
           result = smu7_copy_bytes_to_smc(hwmgr,
           ^        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/iceland_smumgr.c:2067:2: note: Value stored to 'result' is never read
           result = smu7_copy_bytes_to_smc(hwmgr,
           ^        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/iceland_smumgr.c:2190:3: warning: Value stored to 'result' is never read [clang-analyzer-deadcode.DeadStores]
                   result = smu7_copy_bytes_to_smc(
                   ^        ~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/iceland_smumgr.c:2190:3: note: Value stored to 'result' is never read
                   result = smu7_copy_bytes_to_smc(
                   ^        ~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 14 warnings (14 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   drivers/mfd/tps65010.c:650:5: warning: Value stored to 'status' is never read [clang-analyzer-deadcode.DeadStores]
                                   status = 0;
                                   ^        ~
   drivers/mfd/tps65010.c:650:5: note: Value stored to 'status' is never read
                                   status = 0;
                                   ^        ~
   14 warnings generated.
   Suppressed 14 warnings (14 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   3 warnings generated.
>> drivers/mfd/menelaus.c:453:21: warning: Value stored to 'c' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct i2c_client *c = the_menelaus->client;
                              ^   ~~~~~~~~~~~~~~~~~~~~
   drivers/mfd/menelaus.c:453:21: note: Value stored to 'c' during its initialization is never read
           struct i2c_client *c = the_menelaus->client;
                              ^   ~~~~~~~~~~~~~~~~~~~~
   drivers/mfd/menelaus.c:525:21: warning: Value stored to 'c' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct i2c_client *c = the_menelaus->client;
                              ^   ~~~~~~~~~~~~~~~~~~~~
   drivers/mfd/menelaus.c:525:21: note: Value stored to 'c' during its initialization is never read
           struct i2c_client *c = the_menelaus->client;
                              ^   ~~~~~~~~~~~~~~~~~~~~
   drivers/mfd/menelaus.c:734:21: warning: Value stored to 'c' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct i2c_client *c = the_menelaus->client;
                              ^   ~~~~~~~~~~~~~~~~~~~~
   drivers/mfd/menelaus.c:734:21: note: Value stored to 'c' during its initialization is never read
           struct i2c_client *c = the_menelaus->client;
                              ^   ~~~~~~~~~~~~~~~~~~~~
   16 warnings generated.
   drivers/mfd/twl-core.c:574:15: warning: The left operand of '&' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
           switch (ctrl & 0x3) {
                   ~~~~ ^
   drivers/mfd/twl-core.c:569:2: note: 'ctrl' declared without an initial value
           u8 ctrl;
           ^~~~~~~
   drivers/mfd/twl-core.c:572:2: note: Calling 'twl_i2c_read_u8'
           twl_i2c_read_u8(TWL_MODULE_PM_MASTER, &ctrl, R_CFG_BOOT);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/mfd/twl.h:180:9: note: Calling 'twl_i2c_read'
           return twl_i2c_read(mod_no, val, reg, 1);
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/mfd/twl-core.c:473:7: note: 'regmap' is null
           if (!regmap)
                ^~~~~~
   drivers/mfd/twl-core.c:473:2: note: Taking true branch
           if (!regmap)
           ^
   drivers/mfd/twl-core.c:474:3: note: Returning without writing to '*value'
                   return -EPERM;
                   ^
   include/linux/mfd/twl.h:180:9: note: Returning from 'twl_i2c_read'
           return twl_i2c_read(mod_no, val, reg, 1);
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/mfd/twl.h:180:2: note: Returning without writing to '*val'
           return twl_i2c_read(mod_no, val, reg, 1);
           ^
   drivers/mfd/twl-core.c:572:2: note: Returning from 'twl_i2c_read_u8'
           twl_i2c_read_u8(TWL_MODULE_PM_MASTER, &ctrl, R_CFG_BOOT);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/mfd/twl-core.c:574:15: note: The left operand of '&' is a garbage value
           switch (ctrl & 0x3) {
                   ~~~~ ^
   drivers/mfd/twl-core.c:1205:8: warning: The left expression of the compound assignment is an uninitialized value. The computed value will also be garbage [clang-analyzer-core.uninitialized.Assign]
                   temp &= ~(SR_I2C_SDA_CTRL_PU | SR_I2C_SCL_CTRL_PU | \
                   ~~~~ ^
   drivers/mfd/twl-core.c:1078:6: note: Assuming 'node' is non-null
           if (!node && !pdata) {
               ^~~~~
   drivers/mfd/twl-core.c:1078:12: note: Left side of '&&' is false
           if (!node && !pdata) {
                     ^
   drivers/mfd/twl-core.c:1083:6: note: Assuming 'twl_priv' is null
           if (twl_priv) {
               ^~~~~~~~
   drivers/mfd/twl-core.c:1083:2: note: Taking false branch
           if (twl_priv) {
           ^
   drivers/mfd/twl-core.c:1090:6: note: Assuming 'pdev' is non-null
           if (!pdev) {
               ^~~~~
   drivers/mfd/twl-core.c:1090:2: note: Taking false branch
           if (!pdev) {
           ^
   drivers/mfd/twl-core.c:1096:6: note: Assuming 'status' is 0
           if (status) {
               ^~~~~~
   drivers/mfd/twl-core.c:1096:2: note: Taking false branch
           if (status) {
           ^
   drivers/mfd/twl-core.c:1101:2: note: Taking false branch
           if (i2c_check_functionality(client->adapter, I2C_FUNC_I2C) == 0) {
           ^
   drivers/mfd/twl-core.c:1109:6: note: Assuming 'twl_priv' is non-null
           if (!twl_priv) {
               ^~~~~~~~~
   drivers/mfd/twl-core.c:1109:2: note: Taking false branch
           if (!twl_priv) {
           ^
   drivers/mfd/twl-core.c:1114:6: note: Assuming the condition is true
           if ((id->driver_data) & TWL6030_CLASS) {
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/mfd/twl-core.c:1114:2: note: Taking true branch
           if ((id->driver_data) & TWL6030_CLASS) {
           ^
   drivers/mfd/twl-core.c:1118:7: note: Assuming the condition is false
                   if ((id->driver_data) & TWL6032_SUBCLASS)
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/mfd/twl-core.c:1118:3: note: Taking false branch
                   if ((id->driver_data) & TWL6032_SUBCLASS)
                   ^
   drivers/mfd/twl-core.c:1129:26: note: Calling 'devm_kcalloc'
--
                                               ^
   drivers/gpu/drm/msm/adreno/a6xx_hfi.c:48:2: note: Taking false branch
           BUG_ON(HFI_HEADER_SIZE(hdr) > dwords);
           ^
   include/asm-generic/bug.h:183:32: note: expanded from macro 'BUG_ON'
   #define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0)
                                  ^
   drivers/gpu/drm/msm/adreno/a6xx_hfi.c:48:2: note: Loop condition is false.  Exiting loop
           BUG_ON(HFI_HEADER_SIZE(hdr) > dwords);
           ^
   include/asm-generic/bug.h:183:27: note: expanded from macro 'BUG_ON'
   #define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0)
                             ^
   drivers/gpu/drm/msm/adreno/a6xx_hfi.c:50:14: note: Assuming the condition is true
           for (i = 0; i < HFI_HEADER_SIZE(hdr); i++) {
                       ^~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/msm/adreno/a6xx_hfi.c:50:2: note: Loop condition is true.  Entering loop body
           for (i = 0; i < HFI_HEADER_SIZE(hdr); i++) {
           ^
   drivers/gpu/drm/msm/adreno/a6xx_hfi.c:50:14: note: Assuming the condition is true
           for (i = 0; i < HFI_HEADER_SIZE(hdr); i++) {
                       ^~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/msm/adreno/a6xx_hfi.c:50:2: note: Loop condition is true.  Entering loop body
           for (i = 0; i < HFI_HEADER_SIZE(hdr); i++) {
           ^
   drivers/gpu/drm/msm/adreno/a6xx_hfi.c:50:14: note: Assuming the condition is false
           for (i = 0; i < HFI_HEADER_SIZE(hdr); i++) {
                       ^~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/msm/adreno/a6xx_hfi.c:50:2: note: Loop condition is false. Execution continues on line 55
           for (i = 0; i < HFI_HEADER_SIZE(hdr); i++) {
           ^
   drivers/gpu/drm/msm/adreno/a6xx_hfi.c:55:6: note: Assuming field 'legacy' is true
           if (!gmu->legacy)
               ^~~~~~~~~~~~
   drivers/gpu/drm/msm/adreno/a6xx_hfi.c:55:2: note: Taking false branch
           if (!gmu->legacy)
           ^
   drivers/gpu/drm/msm/adreno/a6xx_hfi.c:59:2: note: Returning value, which participates in a condition later
           return HFI_HEADER_SIZE(hdr);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/msm/adreno/a6xx_hfi.c:122:9: note: Returning from 'a6xx_hfi_queue_read'
                   ret = a6xx_hfi_queue_read(gmu, queue, (u32 *) &resp,
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/msm/adreno/a6xx_hfi.c:126:8: note: 'ret' is not equal to 0
                   if (!ret) {
                        ^~~
   drivers/gpu/drm/msm/adreno/a6xx_hfi.c:126:3: note: Taking false branch
                   if (!ret) {
                   ^
   drivers/gpu/drm/msm/adreno/a6xx_hfi.c:133:7: note: Assuming the condition is false
                   if (HFI_HEADER_ID(resp.header) == HFI_F2H_MSG_ERROR) {
                       ^
   drivers/gpu/drm/msm/adreno/a6xx_hfi.h:44:28: note: expanded from macro 'HFI_HEADER_ID'
   #define HFI_HEADER_ID(msg) ((msg) & 0xff)
                              ^
   drivers/gpu/drm/msm/adreno/a6xx_hfi.c:133:3: note: Taking false branch
                   if (HFI_HEADER_ID(resp.header) == HFI_F2H_MSG_ERROR) {
                   ^
   drivers/gpu/drm/msm/adreno/a6xx_hfi.c:142:7: note: Assuming the condition is false
                   if (seqnum != HFI_HEADER_SEQNUM(resp.ret_header)) {
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/msm/adreno/a6xx_hfi.c:142:3: note: Taking false branch
                   if (seqnum != HFI_HEADER_SEQNUM(resp.ret_header)) {
                   ^
   drivers/gpu/drm/msm/adreno/a6xx_hfi.c:149:7: note: Branch condition evaluates to a garbage value
                   if (resp.error) {
                       ^~~~~~~~~~
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   13 warnings generated.
   Suppressed 13 warnings (12 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.
   17 warnings generated.
   drivers/hsi/controllers/omap_ssi_port.c:481:2: warning: Value stored to 'val' is never read [clang-analyzer-deadcode.DeadStores]
           val = readl(ssr + SSI_SSR_MODE_REG);
           ^
   drivers/hsi/controllers/omap_ssi_port.c:481:2: note: Value stored to 'val' is never read
   drivers/hsi/controllers/omap_ssi_port.c:764:2: warning: Value stored to 'mode' is never read [clang-analyzer-deadcode.DeadStores]
           mode = readl(omap_port->ssr_base + SSI_SSR_MODE_REG);
           ^
   drivers/hsi/controllers/omap_ssi_port.c:764:2: note: Value stored to 'mode' is never read
   drivers/hsi/controllers/omap_ssi_port.c:1332:2: warning: Value stored to 'mode' is never read [clang-analyzer-deadcode.DeadStores]
           mode = readl(omap_port->ssr_base + SSI_SSR_MODE_REG);
           ^
   drivers/hsi/controllers/omap_ssi_port.c:1332:2: note: Value stored to 'mode' is never read
   Suppressed 14 warnings (12 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.
   14 warnings generated.
>> drivers/hsi/clients/ssi_protocol.c:458:21: warning: Value stored to 'cl' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct hsi_client *cl = ssi->cl;
                              ^~   ~~~~~~~
   drivers/hsi/clients/ssi_protocol.c:458:21: note: Value stored to 'cl' during its initialization is never read
           struct hsi_client *cl = ssi->cl;
                              ^~   ~~~~~~~
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (12 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.
   12 warnings generated.
   Suppressed 12 warnings (12 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   Suppressed 12 warnings (12 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.
   13 warnings generated.
   drivers/watchdog/pcwd_pci.c:169:2: warning: 1st function call argument is an uninitialized value [clang-analyzer-core.CallAndMessage]
           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
                  ^
   drivers/watchdog/pcwd_pci.c:688:6: note: Assuming 'cards_found' is not equal to 1
           if (cards_found == 1)
               ^~~~~~~~~~~~~~~~
   drivers/watchdog/pcwd_pci.c:688:2: note: Taking false branch
           if (cards_found == 1)
           ^
   drivers/watchdog/pcwd_pci.c:691:6: note: Assuming 'cards_found' is <= 1
           if (cards_found > 1) {
               ^~~~~~~~~~~~~~~
   drivers/watchdog/pcwd_pci.c:691:2: note: Taking false branch
           if (cards_found > 1) {
           ^
   drivers/watchdog/pcwd_pci.c:696:6: note: Assuming the condition is false
           if (pci_enable_device(pdev)) {
               ^~~~~~~~~~~~~~~~~~~~~~~
   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 12 warnings (12 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.
   14 warnings generated.
   Suppressed 14 warnings (14 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.
   15 warnings generated.
   fs/locks.c:2375:3: warning: Value stored to 'cmd' is never read [clang-analyzer-deadcode.DeadStores]
                   cmd = F_GETLK;
--
           BUILD_BUG_ON(((n) & ((n) - 1)) != 0)
           ^
   note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
                   if (!(condition))                                       \
                   ^
   drivers/iio/proximity/sx9310.c:625:11: note: Loop condition is false.  Exiting loop
           regval = FIELD_GET(SX9310_REG_PROX_CTRL10_HYST_MASK, regval);
                    ^
   include/linux/bitfield.h:108:3: note: expanded from macro 'FIELD_GET'
                   __BF_FIELD_CHECK(_mask, _reg, 0U, "FIELD_GET: ");       \
                   ^
   include/linux/bitfield.h:54:3: note: expanded from macro '__BF_FIELD_CHECK'
                   __BUILD_BUG_ON_NOT_POWER_OF_2((_mask) +                 \
                   ^
   include/linux/build_bug.h:21:2: note: expanded from macro '__BUILD_BUG_ON_NOT_POWER_OF_2'
           BUILD_BUG_ON(((n) & ((n) - 1)) != 0)
           ^
   note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
           do {                                                            \
           ^
   drivers/iio/proximity/sx9310.c:626:6: note: Assuming 'regval' is not equal to 0
           if (!regval)
               ^~~~~~~
   drivers/iio/proximity/sx9310.c:626:2: note: Taking false branch
           if (!regval)
           ^
   drivers/iio/proximity/sx9310.c:630:17: note: The left operand of '>>' is a garbage value
           *val = pthresh >> (5 - regval);
                  ~~~~~~~ ^
   drivers/iio/proximity/sx9310.c:743:26: warning: The left operand of '>>' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
           else if (val == pthresh >> 2)
                                   ^
   drivers/iio/proximity/sx9310.c:803:6: note: Assuming field 'type' is equal to IIO_PROXIMITY
           if (chan->type != IIO_PROXIMITY)
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/iio/proximity/sx9310.c:803:2: note: Taking false branch
           if (chan->type != IIO_PROXIMITY)
           ^
   drivers/iio/proximity/sx9310.c:806:2: note: Control jumps to 'case IIO_EV_INFO_HYSTERESIS:'  at line 818
           switch (info) {
           ^
   drivers/iio/proximity/sx9310.c:819:10: note: Calling 'sx9310_write_hysteresis'
                   return sx9310_write_hysteresis(data, chan, val);
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/iio/proximity/sx9310.c:735:11: note: 'pthresh' declared without an initial value
           int ret, pthresh;
                    ^~~~~~~
   drivers/iio/proximity/sx9310.c:737:8: note: Calling 'sx9310_read_thresh'
           ret = sx9310_read_thresh(data, chan, &pthresh);
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/iio/proximity/sx9310.c:596:6: note: 'ret' is >= 0
           if (ret < 0)
               ^~~
   drivers/iio/proximity/sx9310.c:596:2: note: Taking false branch
           if (ret < 0)
           ^
   drivers/iio/proximity/sx9310.c:600:6: note: Assuming 'ret' is not equal to 0
           if (ret)
               ^~~
   drivers/iio/proximity/sx9310.c:600:2: note: Taking true branch
           if (ret)
           ^
   drivers/iio/proximity/sx9310.c:601:3: note: Returning without writing to '*val'
                   return ret;
                   ^
   drivers/iio/proximity/sx9310.c:737:8: note: Returning from 'sx9310_read_thresh'
           ret = sx9310_read_thresh(data, chan, &pthresh);
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/iio/proximity/sx9310.c:738:6: note: Assuming 'ret' is >= 0
           if (ret < 0)
               ^~~~~~~
   drivers/iio/proximity/sx9310.c:738:2: note: Taking false branch
           if (ret < 0)
           ^
   drivers/iio/proximity/sx9310.c:741:6: note: Assuming 'val' is not equal to 0
           if (val == 0)
               ^~~~~~~~
   drivers/iio/proximity/sx9310.c:741:2: note: Taking false branch
           if (val == 0)
           ^
   drivers/iio/proximity/sx9310.c:743:26: note: The left operand of '>>' is a garbage value
           else if (val == pthresh >> 2)
                           ~~~~~~~ ^
   Suppressed 13 warnings (13 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.
   15 warnings generated.
>> drivers/mtd/devices/st_spi_fsm.c:275:8: warning: Excessive padding in 'struct seq_rw_config' (6 padding bytes, where 2 is optimal). 
   Optimal fields order: 
   flags, 
   write, 
   cmd, 
   addr_pads, 
   data_pads, 
   mode_data, 
   mode_cycles, 
   dummy_cycles, 
   consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding]
   struct seq_rw_config {
   ~~~~~~~^~~~~~~~~~~~~~~
   drivers/mtd/devices/st_spi_fsm.c:275:8: note: Excessive padding in 'struct seq_rw_config' (6 padding bytes, where 2 is optimal). Optimal fields order: flags, write, cmd, addr_pads, data_pads, mode_data, mode_cycles, dummy_cycles, consider reordering the fields or adding explicit padding members
   struct seq_rw_config {
   ~~~~~~~^~~~~~~~~~~~~~~
>> drivers/mtd/devices/st_spi_fsm.c:287:8: warning: Excessive padding in 'struct flash_info' (4 padding bytes, where 0 is optimal). 
   Optimal fields order: 
   name, 
   jedec_id, 
   sector_size, 
   flags, 
   max_freq, 
   config, 
   ext_id, 
   n_sectors, 
   consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding]
   struct flash_info {
   ~~~~~~~^~~~~~~~~~~~
   drivers/mtd/devices/st_spi_fsm.c:287:8: note: Excessive padding in 'struct flash_info' (4 padding bytes, where 0 is optimal). Optimal fields order: name, jedec_id, sector_size, flags, max_freq, config, ext_id, n_sectors, consider reordering the fields or adding explicit padding members
   struct flash_info {
   ~~~~~~~^~~~~~~~~~~~
>> drivers/mtd/devices/st_spi_fsm.c:1427:3: warning: Value stored to 'offs' is never read [clang-analyzer-deadcode.DeadStores]
                   offs = 0;
                   ^      ~
   drivers/mtd/devices/st_spi_fsm.c:1427:3: note: Value stored to 'offs' is never read
                   offs = 0;
                   ^      ~
   Suppressed 12 warnings (12 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.
   include/linux/mtd/mtd.h:470:19: warning: The left operand of '==' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
           return ops->mode == MTD_OPS_AUTO_OOB ? mtd->oobavail : mtd->oobsize;
                            ^
   drivers/mtd/nand/onenand/onenand_base.c:3187:28: note: Assuming the condition is false
           u_char *buf = FLEXONENAND(this) ? this->page_buf : this->oob_buf;
                                     ^
   include/linux/mtd/onenand.h:161:3: note: expanded from macro 'FLEXONENAND'
           (this->device_id & DEVICE_IS_FLEXONENAND)
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/mtd/nand/onenand/onenand_base.c:3187:16: note: '?' condition is false
           u_char *buf = FLEXONENAND(this) ? this->page_buf : this->oob_buf;
                         ^
   include/linux/mtd/onenand.h:161:2: note: expanded from macro 'FLEXONENAND'
           (this->device_id & DEVICE_IS_FLEXONENAND)
           ^
   drivers/mtd/nand/onenand/onenand_base.c:3192:20: note: '?' condition is false
           memset(buf, 0xff, FLEXONENAND(this) ? this->writesize
                             ^
   include/linux/mtd/onenand.h:161:2: note: expanded from macro 'FLEXONENAND'
           (this->device_id & DEVICE_IS_FLEXONENAND)
           ^
   drivers/mtd/nand/onenand/onenand_base.c:3202:8: note: '?' condition is false
           len = FLEXONENAND(this) ? mtd->writesize : 16;
                 ^
   include/linux/mtd/onenand.h:161:2: note: expanded from macro 'FLEXONENAND'
           (this->device_id & DEVICE_IS_FLEXONENAND)
           ^
   drivers/mtd/nand/onenand/onenand_base.c:3210:2: note: Taking false branch
           if (FLEXONENAND(this))
           ^
   drivers/mtd/nand/onenand/onenand_base.c:3214:6: note: Assuming 'otp' is equal to 1
           if (otp == 1)
               ^~~~~~~~
   drivers/mtd/nand/onenand/onenand_base.c:3214:2: note: Taking true branch
           if (otp == 1)
           ^
   drivers/mtd/nand/onenand/onenand_base.c:3223:8: note: Calling 'onenand_otp_walk'
           ret = onenand_otp_walk(mtd, from, len, &retlen, buf, do_otp_lock, MTD_OTP_USER);
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/mtd/nand/onenand/onenand_base.c:3038:6: note: Assuming 'density' is >= ONENAND_DEVICE_DENSITY_512Mb
           if (density < ONENAND_DEVICE_DENSITY_512Mb)
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/mtd/nand/onenand/onenand_base.c:3038:2: note: Taking false branch
           if (density < ONENAND_DEVICE_DENSITY_512Mb)
           ^
   drivers/mtd/nand/onenand/onenand_base.c:3043:6: note: 'mode' is not equal to MTD_OTP_FACTORY
           if (mode == MTD_OTP_FACTORY) {
               ^~~~
   drivers/mtd/nand/onenand/onenand_base.c:3043:2: note: Taking false branch
           if (mode == MTD_OTP_FACTORY) {
           ^
   drivers/mtd/nand/onenand/onenand_base.c:3049:6: note: 'mode' is equal to MTD_OTP_USER
           if (mode == MTD_OTP_USER) {
               ^~~~
   drivers/mtd/nand/onenand/onenand_base.c:3049:2: note: Taking true branch
           if (mode == MTD_OTP_USER) {
           ^
   drivers/mtd/nand/onenand/onenand_base.c:3050:7: note: Assuming the condition is false
                   if (mtd->writesize * otp_pages < from + len)
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/mtd/nand/onenand/onenand_base.c:3050:3: note: Taking false branch
                   if (mtd->writesize * otp_pages < from + len)
                   ^
   drivers/mtd/nand/onenand/onenand_base.c:3058:9: note: 'len' is > 0
           while (len > 0 && otp_pages > 0) {
                  ^~~
   drivers/mtd/nand/onenand/onenand_base.c:3058:9: note: Left side of '&&' is true
   drivers/mtd/nand/onenand/onenand_base.c:3058:2: note: Loop condition is true.  Entering loop body
           while (len > 0 && otp_pages > 0) {
           ^
   drivers/mtd/nand/onenand/onenand_base.c:3059:8: note: 'action' is non-null
                   if (!action) {  /* OTP Info functions */
                        ^~~~~~
   drivers/mtd/nand/onenand/onenand_base.c:3059:3: note: Taking false branch
                   if (!action) {  /* OTP Info functions */
                   ^
   drivers/mtd/nand/onenand/onenand_base.c:3079:10: note: Calling 'do_otp_lock'
                           ret = action(mtd, from, len, &tmp_retlen, buf);
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/mtd/nand/onenand/onenand_base.c:2983:18: note: Assuming the condition is true
           if (FLEXONENAND(this)) {
                           ^
   include/linux/mtd/onenand.h:161:3: note: expanded from macro 'FLEXONENAND'
           (this->device_id & DEVICE_IS_FLEXONENAND)
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/mtd/nand/onenand/onenand_base.c:2983:2: note: Taking true branch
           if (FLEXONENAND(this)) {
           ^
   drivers/mtd/nand/onenand/onenand_base.c:2996:9: note: Calling 'onenand_write_ops_nolock'
                   ret = onenand_write_ops_nolock(mtd, mtd->writesize * 49, &ops);
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/mtd/nand/onenand/onenand_base.c:1799:2: note: Taking false branch
--
           hlist_for_each_entry_safe(__nr_neigh, node2, list, neigh_node)
                                     ^~~~~~~~~~
   include/linux/list.h:1025:7: note: expanded from macro 'hlist_for_each_entry_safe'
                pos && ({ n = pos->member.next; 1; });                     \
                ^~~
   net/netrom/nr_route.c:971:25: note: Left side of '&&' is true
           nr_neigh_for_each_safe(s, nodet, &nr_neigh_list) {
                                  ^
   net/netrom/nr_route.c:971:2: note: Loop condition is true.  Entering loop body
           nr_neigh_for_each_safe(s, nodet, &nr_neigh_list) {
           ^
   include/net/netrom.h:164:2: note: expanded from macro 'nr_neigh_for_each_safe'
           hlist_for_each_entry_safe(__nr_neigh, node2, list, neigh_node)
           ^
   include/linux/list.h:1024:2: note: expanded from macro 'hlist_for_each_entry_safe'
           for (pos = hlist_entry_safe((head)->first, typeof(*pos), member);\
           ^
   net/netrom/nr_route.c:972:3: note: Loop condition is true.  Entering loop body
                   while(s->count) {
                   ^
   net/netrom/nr_route.c:974:4: note: Calling 'nr_neigh_put'
                           nr_neigh_put(s);
                           ^~~~~~~~~~~~~~~
   include/net/netrom.h:138:2: note: Taking true branch
           if (refcount_dec_and_test(&nr_neigh->refcount)) {
           ^
   include/net/netrom.h:139:7: note: Assuming field 'ax25' is null
                   if (nr_neigh->ax25)
                       ^~~~~~~~~~~~~~
   include/net/netrom.h:139:3: note: Taking false branch
                   if (nr_neigh->ax25)
                   ^
   include/net/netrom.h:142:3: note: Memory is released
                   kfree(nr_neigh);
                   ^~~~~~~~~~~~~~~
   net/netrom/nr_route.c:974:4: note: Returning; memory was released via 1st parameter
                           nr_neigh_put(s);
                           ^~~~~~~~~~~~~~~
   net/netrom/nr_route.c:972:9: note: Use of memory after it is freed
                   while(s->count) {
                         ^~~~~~~~
   Suppressed 13 warnings (13 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.
   drivers/hwmon/ltc2945.c:286:2: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
           ret = regmap_update_bits(regmap, LTC2945_CONTROL, CONTROL_TEST_MODE,
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/hwmon/ltc2945.c:286:2: note: Value stored to 'ret' is never read
           ret = regmap_update_bits(regmap, LTC2945_CONTROL, CONTROL_TEST_MODE,
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   2 warnings generated.
   drivers/iio/gyro/itg3200_core.c:94:3: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
                   ret = itg3200_read_reg_s16(indio_dev, reg, val);
                   ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/iio/gyro/itg3200_core.c:94:3: note: Value stored to 'ret' is never read
                   ret = itg3200_read_reg_s16(indio_dev, reg, val);
                   ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/iio/gyro/itg3200_core.c:371:18: warning: Value stored to 'st' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct itg3200 *st = iio_priv(indio_dev);
                           ^~   ~~~~~~~~~~~~~~~~~~~
   drivers/iio/gyro/itg3200_core.c:371:18: note: Value stored to 'st' during its initialization is never read
           struct itg3200 *st = iio_priv(indio_dev);
                           ^~   ~~~~~~~~~~~~~~~~~~~
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   14 warnings generated.
   Suppressed 14 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   14 warnings generated.
   Suppressed 14 warnings (13 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.
   12 warnings generated.
   Suppressed 12 warnings (12 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   Suppressed 12 warnings (12 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.
   14 warnings generated.
>> drivers/gpu/drm/omapdrm/dss/venc.c:697:2: warning: Value stored to 'rev_id' is never read [clang-analyzer-deadcode.DeadStores]
           rev_id = (u8)(venc_read_reg(venc, VENC_REV_ID) & 0xff);
           ^        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/omapdrm/dss/venc.c:697:2: note: Value stored to 'rev_id' is never read
           rev_id = (u8)(venc_read_reg(venc, VENC_REV_ID) & 0xff);
           ^        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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).
   13 warnings generated.
   Suppressed 13 warnings (13 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).
   4 warnings generated.
   Suppressed 4 warnings (4 with check filters).
   13 warnings generated.
   drivers/gpu/drm/drm_mode_config.c:443:4: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
                           ret = drm_modeset_backoff(&modeset_ctx);
                           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/drm_mode_config.c:443:4: note: Value stored to 'ret' is never read
                           ret = drm_modeset_backoff(&modeset_ctx);
                           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   14 warnings generated.
   drivers/gpu/drm/drm_syncobj.c:408:2: warning: Use of memory after it is freed [clang-analyzer-unix.Malloc]
           drm_syncobj_fence_add_wait(syncobj, &wait);
           ^
   drivers/gpu/drm/drm_syncobj.c:886:2: note: Taking false branch
           if (!drm_core_check_feature(dev, DRIVER_SYNCOBJ_TIMELINE))
           ^
   drivers/gpu/drm/drm_syncobj.c:889:6: note: Assuming field 'pad' is 0
           if (args->pad)
               ^~~~~~~~~
   drivers/gpu/drm/drm_syncobj.c:889:2: note: Taking false branch
           if (args->pad)
           ^
   drivers/gpu/drm/drm_syncobj.c:892:6: note: Assuming field 'dst_point' is 0
           if (args->dst_point)
               ^~~~~~~~~~~~~~~
   drivers/gpu/drm/drm_syncobj.c:892:2: note: Taking false branch
           if (args->dst_point)
           ^
   drivers/gpu/drm/drm_syncobj.c:895:9: note: Calling 'drm_syncobj_transfer_to_binary'
                   ret = drm_syncobj_transfer_to_binary(file_private, args);
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/drm_syncobj.c:866:7: note: 'binary_syncobj' is non-null
           if (!binary_syncobj)
                ^~~~~~~~~~~~~~
   drivers/gpu/drm/drm_syncobj.c:866:2: note: Taking false branch
           if (!binary_syncobj)
           ^
   drivers/gpu/drm/drm_syncobj.c:868:8: note: Calling 'drm_syncobj_find_fence'
           ret = drm_syncobj_find_fence(file_private, args->src_handle,
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/drm_syncobj.c:382:32: note: Calling 'drm_syncobj_find'
           struct drm_syncobj *syncobj = drm_syncobj_find(file_private, handle);
                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/drm_syncobj.c:231:6: note: Assuming 'syncobj' is non-null
           if (syncobj)
               ^~~~~~~
   drivers/gpu/drm/drm_syncobj.c:231:2: note: Taking true branch
           if (syncobj)
--
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
                   if (!(condition))                                       \
                   ^
   drivers/base/regmap/regmap-debugfs.c:72:7: note: Loop condition is false.  Exiting loop
                   c = list_first_entry(&map->debugfs_off_cache,
                       ^
   include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
           list_entry((ptr)->next, type, member)
           ^
   include/linux/list.h:511:2: note: expanded from macro 'list_entry'
           container_of(ptr, type, member)
           ^
   include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
           ^
   note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
           do {                                                            \
           ^
   drivers/base/regmap/regmap-debugfs.c:75:3: note: Calling 'list_del'
                   list_del(&c->list);
                   ^~~~~~~~~~~~~~~~~~
   include/linux/list.h:147:14: note: Use of memory after it is freed
           entry->next = LIST_POISON1;
           ~~~~~~~~~~~ ^
   2 warnings generated.
   drivers/clocksource/ingenic-timer.c:32:8: warning: Excessive padding in 'struct ingenic_tcu_timer' (108 padding bytes, where 44 is optimal). 
   Optimal fields order: 
   cevt, 
   cpu, 
   channel, 
   clk, 
   name, 
   consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding]
   struct ingenic_tcu_timer {
   ~~~~~~~^~~~~~~~~~~~~~~~~~~
   drivers/clocksource/ingenic-timer.c:32:8: note: Excessive padding in 'struct ingenic_tcu_timer' (108 padding bytes, where 44 is optimal). Optimal fields order: cevt, cpu, channel, clk, name, consider reordering the fields or adding explicit padding members
   struct ingenic_tcu_timer {
   ~~~~~~~^~~~~~~~~~~~~~~~~~~
   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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   15 warnings generated.
   net/core/net-sysfs.c:1662:2: warning: Value stored to 'txq' is never read [clang-analyzer-deadcode.DeadStores]
           txq = real_tx;
           ^     ~~~~~~~
   net/core/net-sysfs.c:1662:2: note: Value stored to 'txq' is never read
           txq = real_tx;
           ^     ~~~~~~~
   Suppressed 14 warnings (14 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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).
   13 warnings generated.
   Suppressed 13 warnings (13 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.
>> drivers/nvmem/sunxi_sid.c:107:2: warning: Null pointer passed as 1st argument to memory copy function [clang-analyzer-unix.cstring.NullArg]
           memcpy(val, &word, bytes);
           ^      ~~~
   drivers/nvmem/sunxi_sid.c:89:9: note: Assuming 'bytes' is >= 4
           while (bytes >= 4) {
                  ^~~~~~~~~~
   drivers/nvmem/sunxi_sid.c:89:2: note: Loop condition is true.  Entering loop body
           while (bytes >= 4) {
           ^
   drivers/nvmem/sunxi_sid.c:90:9: note: Calling 'sun8i_sid_register_readout'
                   ret = sun8i_sid_register_readout(sid, offset, val);
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/nvmem/sunxi_sid.c:61:2: note: Loop condition is false.  Exiting loop
           writel(reg_val, sid->base + SUN8I_SID_PRCTL);
           ^
   arch/arm/include/asm/io.h:307:25: note: expanded from macro 'writel'
   #define writel(v,c)             ({ __iowmb(); writel_relaxed(v,c); })
                                      ^
   arch/arm/include/asm/io.h:166:20: note: expanded from macro '__iowmb'
   #define __iowmb()               wmb()
                                   ^
   arch/arm/include/asm/barrier.h:66:16: note: expanded from macro 'wmb'
   #define wmb()           __arm_heavy_mb(st)
                           ^
   arch/arm/include/asm/barrier.h:58:30: note: expanded from macro '__arm_heavy_mb'
   #define __arm_heavy_mb(x...) do { dsb(x); arm_heavy_mb(); } while (0)
                                ^
   drivers/nvmem/sunxi_sid.c:63:8: note: '__sleep_us' is not equal to 0
           ret = readl_poll_timeout(sid->base + SUN8I_SID_PRCTL, reg_val,
                 ^
   include/linux/iopoll.h:156:2: note: expanded from macro 'readl_poll_timeout'
           readx_poll_timeout(readl, addr, val, cond, delay_us, timeout_us)
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/iopoll.h:121:2: note: expanded from macro 'readx_poll_timeout'
           read_poll_timeout(op, val, cond, sleep_us, timeout_us, false, addr)
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/iopoll.h:42:17: note: expanded from macro 'read_poll_timeout'
           might_sleep_if((__sleep_us) != 0); \
                          ^~~~~~~~~~~~
   include/linux/kernel.h:160:39: note: expanded from macro 'might_sleep_if'
   #define might_sleep_if(cond) do { if (cond) might_sleep(); } while (0)
                                         ^~~~
   drivers/nvmem/sunxi_sid.c:63:8: note: Taking true branch
           ret = readl_poll_timeout(sid->base + SUN8I_SID_PRCTL, reg_val,
                 ^
   include/linux/iopoll.h:156:2: note: expanded from macro 'readl_poll_timeout'
           readx_poll_timeout(readl, addr, val, cond, delay_us, timeout_us)
           ^
   include/linux/iopoll.h:121:2: note: expanded from macro 'readx_poll_timeout'
           read_poll_timeout(op, val, cond, sleep_us, timeout_us, false, addr)
           ^
   include/linux/iopoll.h:42:2: note: expanded from macro 'read_poll_timeout'
           might_sleep_if((__sleep_us) != 0); \
           ^
   include/linux/kernel.h:160:35: note: expanded from macro 'might_sleep_if'
   #define might_sleep_if(cond) do { if (cond) might_sleep(); } while (0)
                                     ^
   drivers/nvmem/sunxi_sid.c:63:8: note: Loop condition is false.  Exiting loop
           ret = readl_poll_timeout(sid->base + SUN8I_SID_PRCTL, reg_val,
                 ^
   include/linux/iopoll.h:156:2: note: expanded from macro 'readl_poll_timeout'
           readx_poll_timeout(readl, addr, val, cond, delay_us, timeout_us)
           ^
   include/linux/iopoll.h:121:2: note: expanded from macro 'readx_poll_timeout'
           read_poll_timeout(op, val, cond, sleep_us, timeout_us, false, addr)
           ^
   include/linux/iopoll.h:42:2: note: expanded from macro 'read_poll_timeout'
           might_sleep_if((__sleep_us) != 0); \
           ^
   include/linux/kernel.h:160:45: note: expanded from macro 'might_sleep_if'
   #define might_sleep_if(cond) do { if (cond) might_sleep(); } while (0)
                                               ^
   include/linux/kernel.h:152:29: note: expanded from macro 'might_sleep'
   # define might_sleep() do { might_resched(); } while (0)
                               ^
   include/linux/kernel.h:87:26: note: expanded from macro 'might_resched'
   # define might_resched() do { } while (0)
                            ^
   drivers/nvmem/sunxi_sid.c:63:8: note: Loop condition is false.  Exiting loop
           ret = readl_poll_timeout(sid->base + SUN8I_SID_PRCTL, reg_val,
                 ^
   include/linux/iopoll.h:156:2: note: expanded from macro 'readl_poll_timeout'
           readx_poll_timeout(readl, addr, val, cond, delay_us, timeout_us)
           ^
   include/linux/iopoll.h:121:2: note: expanded from macro 'readx_poll_timeout'
           read_poll_timeout(op, val, cond, sleep_us, timeout_us, false, addr)
           ^
   include/linux/iopoll.h:42:2: note: expanded from macro 'read_poll_timeout'
           might_sleep_if((__sleep_us) != 0); \
           ^
   include/linux/kernel.h:160:45: note: expanded from macro 'might_sleep_if'
   #define might_sleep_if(cond) do { if (cond) might_sleep(); } while (0)
                                               ^
   include/linux/kernel.h:152:24: note: expanded from macro 'might_sleep'
   # define might_sleep() do { might_resched(); } while (0)
                          ^
   drivers/nvmem/sunxi_sid.c:63:8: note: Loop condition is false.  Exiting loop
           ret = readl_poll_timeout(sid->base + SUN8I_SID_PRCTL, reg_val,
                 ^
   include/linux/iopoll.h:156:2: note: expanded from macro 'readl_poll_timeout'
           readx_poll_timeout(readl, addr, val, cond, delay_us, timeout_us)
--
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   15 warnings generated.
   drivers/gpu/drm/amd/amdgpu/vce_v3_0.c:668:3: warning: Value stored to 'tmp' is never read [clang-analyzer-deadcode.DeadStores]
                   tmp = RREG32(mmSRBM_SOFT_RESET);
                   ^
   drivers/gpu/drm/amd/amdgpu/vce_v3_0.c:668:3: note: Value stored to 'tmp' is never read
   Suppressed 14 warnings (14 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.
   14 warnings generated.
   Suppressed 14 warnings (14 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.
   14 warnings generated.
   Suppressed 14 warnings (14 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.
   16 warnings generated.
   drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c:1246:5: warning: Value stored to 'ring' is never read [clang-analyzer-deadcode.DeadStores]
                                   ring = &adev->vcn.inst->ring_dec;
                                   ^      ~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c:1246:5: note: Value stored to 'ring' is never read
                                   ring = &adev->vcn.inst->ring_dec;
                                   ^      ~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c:1307:5: warning: Value stored to 'ring' is never read [clang-analyzer-deadcode.DeadStores]
                                   ring = &adev->vcn.inst->ring_dec;
                                   ^      ~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c:1307:5: note: Value stored to 'ring' is never read
                                   ring = &adev->vcn.inst->ring_dec;
                                   ^      ~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 14 warnings (14 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.
   14 warnings generated.
   Suppressed 14 warnings (14 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   15 warnings generated.
   Suppressed 15 warnings (14 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.
   14 warnings generated.
   Suppressed 14 warnings (14 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.
   14 warnings generated.
   Suppressed 14 warnings (14 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   13 warnings generated.
   drivers/i2c/busses/i2c-amd756.c:108:7: warning: Although the value stored to 'temp' is used in the enclosing expression, the value is never actually read from 'temp' [clang-analyzer-deadcode.DeadStores]
           if ((temp = inw_p(SMB_GLOBAL_STATUS)) & (GS_HST_STS | GS_SMB_STS)) {
                ^
   drivers/i2c/busses/i2c-amd756.c:108:7: note: Although the value stored to 'temp' is used in the enclosing expression, the value is never actually read from 'temp'
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   13 warnings generated.
   drivers/i2c/busses/i2c-sis5595.c:229:8: warning: Although the value stored to 'temp' is used in the enclosing expression, the value is never actually read from 'temp' [clang-analyzer-deadcode.DeadStores]
                   if ((temp = sis5595_read(SMB_STS_LO) + (sis5595_read(SMB_STS_HI) << 8)) != 0x00) {
                        ^      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/i2c/busses/i2c-sis5595.c:229:8: note: Although the value stored to 'temp' is used in the enclosing expression, the value is never actually read from 'temp'
                   if ((temp = sis5595_read(SMB_STS_LO) + (sis5595_read(SMB_STS_HI) << 8)) != 0x00) {
                        ^      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   15 warnings generated.
>> drivers/cpufreq/mediatek-cpufreq.c:305:14: warning: Value stored to 'cpu_clk' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct clk *cpu_clk = ERR_PTR(-ENODEV);
                       ^~~~~~~   ~~~~~~~~~~~~~~~~
   drivers/cpufreq/mediatek-cpufreq.c:305:14: note: Value stored to 'cpu_clk' during its initialization is never read
           struct clk *cpu_clk = ERR_PTR(-ENODEV);
                       ^~~~~~~   ~~~~~~~~~~~~~~~~
>> drivers/cpufreq/mediatek-cpufreq.c:306:14: warning: Value stored to 'inter_clk' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct clk *inter_clk = ERR_PTR(-ENODEV);
                       ^~~~~~~~~   ~~~~~~~~~~~~~~~~
   drivers/cpufreq/mediatek-cpufreq.c:306:14: note: Value stored to 'inter_clk' during its initialization is never read
           struct clk *inter_clk = ERR_PTR(-ENODEV);
                       ^~~~~~~~~   ~~~~~~~~~~~~~~~~
   Suppressed 13 warnings (13 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.
   14 warnings generated.
   Suppressed 14 warnings (14 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.
   Suppressed 12 warnings (12 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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/clocksource/timer-of.c:191:3: warning: Value stored to 'flags' is never read [clang-analyzer-deadcode.DeadStores]
                   flags |= TIMER_OF_IRQ;
                   ^
   drivers/clocksource/timer-of.c:191:3: note: Value stored to 'flags' is never read
   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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   16 warnings generated.
   Suppressed 16 warnings (12 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   drivers/leds/leds-lp5523.c:811:2: warning: Undefined or garbage value returned to caller [clang-analyzer-core.uninitialized.UndefReturn]
           return ret;
           ^      ~~~
   drivers/leds/leds-lp5523.c:798:2: note: 'ret' declared without an initial value
           int ret;
           ^~~~~~~
   drivers/leds/leds-lp5523.c:802:14: note: Assuming 'i' is >= field 'num_colors'
           for (i = 0; i < led->mc_cdev.num_colors; i++) {
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/leds/leds-lp5523.c:802:2: note: Loop condition is false. Execution continues on line 810
           for (i = 0; i < led->mc_cdev.num_colors; i++) {
           ^
   drivers/leds/leds-lp5523.c:811:2: note: Undefined or garbage value returned to caller
           return ret;
           ^      ~~~
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   Suppressed 12 warnings (12 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).
   14 warnings generated.
   drivers/iio/accel/mma8452.c:254:2: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
           ret = i2c_smbus_read_i2c_block_data(data->client, MMA8452_OUT_X,
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/iio/accel/mma8452.c:254:2: note: Value stored to 'ret' is never read
           ret = i2c_smbus_read_i2c_block_data(data->client, MMA8452_OUT_X,
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 13 warnings (13 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).
   1 warning generated.
   Suppressed 1 warnings (1 with check filters).
--
   fs/reiserfs/fix_node.c:2637:7: note: 'ret' is equal to CARRY_ON
                   if (ret != CARRY_ON) {
                       ^~~
   fs/reiserfs/fix_node.c:2637:3: note: Taking false branch
                   if (ret != CARRY_ON) {
                   ^
   fs/reiserfs/fix_node.c:2655:7: note: 'ret' is equal to CARRY_ON
                   if (ret != CARRY_ON)
                       ^~~
   fs/reiserfs/fix_node.c:2655:3: note: Taking false branch
                   if (ret != CARRY_ON)
                   ^
   fs/reiserfs/fix_node.c:2663:7: note: 'ret' is equal to CARRY_ON
                   if (ret != CARRY_ON)
                       ^~~
   fs/reiserfs/fix_node.c:2663:3: note: Taking false branch
                   if (ret != CARRY_ON)
                   ^
   fs/reiserfs/fix_node.c:2670:8: note: Field 'pe_buffer' is non-null
                   if (!PATH_H_PBUFFER(tb->tb_path, h)) {
                        ^
   fs/reiserfs/reiserfs.h:2171:4: note: expanded from macro 'PATH_H_PBUFFER'
                           PATH_OFFSET_PBUFFER(path, path->path_length - (h))
                           ^
   fs/reiserfs/reiserfs.h:2150:86: note: expanded from macro 'PATH_OFFSET_PBUFFER'
   #define PATH_OFFSET_PBUFFER(path, n_offset)   (PATH_OFFSET_PELEMENT(path, n_offset)->pe_buffer)
                                                                                        ^
   fs/reiserfs/fix_node.c:2670:3: note: Taking false branch
                   if (!PATH_H_PBUFFER(tb->tb_path, h)) {
                   ^
   fs/reiserfs/fix_node.c:2677:14: note: Assuming field 'pe_buffer' is null
                   } else if (!PATH_H_PBUFFER(tb->tb_path, h + 1)) {
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/reiserfs/fix_node.c:2677:10: note: Taking true branch
                   } else if (!PATH_H_PBUFFER(tb->tb_path, h + 1)) {
                          ^
   fs/reiserfs/fix_node.c:2684:8: note: Assuming the condition is true
                           if (tb->blknum[h] > 1) {
                               ^~~~~~~~~~~~~~~~~
   fs/reiserfs/fix_node.c:2684:4: note: Taking true branch
                           if (tb->blknum[h] > 1) {
                           ^
   fs/reiserfs/fix_node.c:2686:5: note: Loop condition is false.  Exiting loop
                                   RFALSE(h == MAX_HEIGHT - 1,
                                   ^
   fs/reiserfs/reiserfs.h:922:41: note: expanded from macro 'RFALSE'
   #define RFALSE( cond, format, args... ) do {;} while( 0 )
                                           ^
   fs/reiserfs/fix_node.c:2630:14: note: 'h' is < MAX_HEIGHT
           for (h = 0; h < MAX_HEIGHT && tb->insert_size[h]; h++) {
                       ^
   fs/reiserfs/fix_node.c:2630:14: note: Left side of '&&' is true
   fs/reiserfs/fix_node.c:2630:2: note: Loop condition is true.  Entering loop body
           for (h = 0; h < MAX_HEIGHT && tb->insert_size[h]; h++) {
           ^
   fs/reiserfs/fix_node.c:2631:9: note: Calling 'get_direct_parent'
                   ret = get_direct_parent(tb, h);
                         ^~~~~~~~~~~~~~~~~~~~~~~~
   fs/reiserfs/fix_node.c:2098:6: note: Assuming 'path_offset' is > FIRST_PATH_ELEMENT_OFFSET
           if (path_offset <= FIRST_PATH_ELEMENT_OFFSET) {
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/reiserfs/fix_node.c:2098:2: note: Taking false branch
           if (path_offset <= FIRST_PATH_ELEMENT_OFFSET) {
           ^
   fs/reiserfs/fix_node.c:2115:6: note: Assuming the condition is false
           if (!B_IS_IN_TREE
               ^~~~~~~~~~~~~
   fs/reiserfs/fix_node.c:2115:2: note: Taking false branch
           if (!B_IS_IN_TREE
           ^
   fs/reiserfs/fix_node.c:2119:6: note: Assuming the condition is false
           if ((position =
               ^~~~~~~~~~~
   fs/reiserfs/fix_node.c:2119:2: note: Taking false branch
           if ((position =
           ^
   fs/reiserfs/fix_node.c:2126:6: note: Access to field 'b_blocknr' results in a dereference of a null pointer (loaded from field 'pe_buffer')
               PATH_OFFSET_PBUFFER(path, path_offset)->b_blocknr)
               ^
   fs/reiserfs/reiserfs.h:2150:47: note: expanded from macro 'PATH_OFFSET_PBUFFER'
   #define PATH_OFFSET_PBUFFER(path, n_offset)   (PATH_OFFSET_PELEMENT(path, n_offset)->pe_buffer)
                                                 ^                                      ~~~~~~~~~
   Suppressed 14 warnings (12 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.
   12 warnings generated.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   5 warnings generated.
>> arch/arm/mach-omap2/id.c:158:2: warning: Value stored to 'rev' is never read [clang-analyzer-deadcode.DeadStores]
           rev = (idcode >> 28) & 0x0f;
           ^     ~~~~~~~~~~~~~~~~~~~~~
   arch/arm/mach-omap2/id.c:158:2: note: Value stored to 'rev' is never read
           rev = (idcode >> 28) & 0x0f;
           ^     ~~~~~~~~~~~~~~~~~~~~~
   arch/arm/mach-omap2/id.c:191:3: warning: Value stored to 'j' is never read [clang-analyzer-deadcode.DeadStores]
                   j = i;
                   ^   ~
   arch/arm/mach-omap2/id.c:191:3: note: Value stored to 'j' is never read
                   j = i;
                   ^   ~
   arch/arm/mach-omap2/id.c:266:2: warning: Value stored to 'n' is never read [clang-analyzer-deadcode.DeadStores]
           n += scnprintf(buf + n, sizeof(buf) - n, ")\n");
           ^    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/arm/mach-omap2/id.c:266:2: note: Value stored to 'n' is never read
           n += scnprintf(buf + n, sizeof(buf) - n, ")\n");
           ^    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/arm/mach-omap2/id.c:363:3: warning: Value stored to 'cpu_rev' is never read [clang-analyzer-deadcode.DeadStores]
                   cpu_rev = "1.0";
                   ^         ~~~~~
   arch/arm/mach-omap2/id.c:363:3: note: Value stored to 'cpu_rev' is never read
                   cpu_rev = "1.0";
                   ^         ~~~~~
   arch/arm/mach-omap2/id.c:773:9: warning: 3rd function call argument is an uninitialized value [clang-analyzer-core.CallAndMessage]
           return sprintf(buf, "%s\n", omap_types[omap_type()]);
                  ^                    ~~~~~~~~~~~~~~~~~~~~~~~
   arch/arm/mach-omap2/id.c:773:41: note: Calling 'omap_type'
           return sprintf(buf, "%s\n", omap_types[omap_type()]);
                                                  ^~~~~~~~~~~
   arch/arm/mach-omap2/id.c:52:2: note: 'val' initialized to 1792
           static u32 val = OMAP2_DEVICETYPE_MASK;
           ^~~~~~~~~~~~~~
   arch/arm/mach-omap2/id.c:54:2: note: Taking false branch
           if (val < OMAP2_DEVICETYPE_MASK)
           ^
   arch/arm/mach-omap2/id.c:57:2: note: Taking false branch
           if (soc_is_omap24xx()) {
           ^
   arch/arm/mach-omap2/id.c:59:9: note: Taking false branch
           } else if (soc_is_ti81xx()) {
                  ^
   arch/arm/mach-omap2/id.c:61:13: note: Left side of '||' is false
           } else if (soc_is_am33xx() || soc_is_am43xx()) {
                      ^
   arch/arm/mach-omap2/soc.h:174:27: note: expanded from macro 'soc_is_am33xx'
   #define soc_is_am33xx()                 0
                                           ^
   arch/arm/mach-omap2/id.c:61:9: note: Taking false branch
           } else if (soc_is_am33xx() || soc_is_am43xx()) {
                  ^
   arch/arm/mach-omap2/id.c:63:9: note: Taking false branch
           } else if (soc_is_omap34xx()) {
                  ^
   arch/arm/mach-omap2/id.c:65:9: note: Taking false branch
           } else if (soc_is_omap44xx()) {
                  ^
   arch/arm/mach-omap2/id.c:67:13: note: Left side of '||' is false
           } else if (soc_is_omap54xx() || soc_is_dra7xx()) {
                      ^
   arch/arm/mach-omap2/soc.h:309:29: note: expanded from macro 'soc_is_omap54xx'
   # define soc_is_omap54xx()              is_omap54xx()
                                           ^
   arch/arm/mach-omap2/id.c:67:9: note: Taking false branch
           } else if (soc_is_omap54xx() || soc_is_dra7xx()) {
                  ^
   arch/arm/mach-omap2/id.c:74:3: note: Control jumps to line 81
                   goto out;
                   ^
   arch/arm/mach-omap2/id.c:81:2: note: Returning the value 1792 (loaded from 'val')
           return val;
           ^~~~~~~~~~
   arch/arm/mach-omap2/id.c:773:41: note: Returning from 'omap_type'
           return sprintf(buf, "%s\n", omap_types[omap_type()]);
                                                  ^~~~~~~~~~~
   arch/arm/mach-omap2/id.c:773:9: note: 3rd function call argument is an uninitialized value
           return sprintf(buf, "%s\n", omap_types[omap_type()]);
                  ^                    ~~~~~~~~~~~~~~~~~~~~~~~
   14 warnings generated.
   mm/oom_kill.c:257:17: warning: Value stored to 'highest_zoneidx' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           enum zone_type highest_zoneidx = gfp_zone(oc->gfp_mask);
                          ^~~~~~~~~~~~~~~   ~~~~~~~~~~~~~~~~~~~~~~
   mm/oom_kill.c:257:17: note: Value stored to 'highest_zoneidx' during its initialization is never read
           enum zone_type highest_zoneidx = gfp_zone(oc->gfp_mask);
                          ^~~~~~~~~~~~~~~   ~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   Suppressed 12 warnings (12 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.
   14 warnings generated.
   mm/page-writeback.c:1408:14: warning: The result of the left shift is undefined because the right operand is negative [clang-analyzer-core.UndefinedBinaryOperatorResult]
                   return 1UL << (ilog2(thresh - dirty) >> 1);
                              ^
   mm/page-writeback.c:1885:6: note: Assuming the condition is false
           if (!(bdi->capabilities & BDI_CAP_WRITEBACK))
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   mm/page-writeback.c:1885:2: note: Taking false branch
--
               ^~~~~~~~~~~~~~~~
   fs/xfs/scrub/parent.c:173:6: note: Left side of '||' is false
   fs/xfs/scrub/parent.c:173:26: note: Assuming the condition is false
           if (error == -EINVAL || error == -ENOENT) {
                                   ^~~~~~~~~~~~~~~~
   fs/xfs/scrub/parent.c:173:2: note: Taking false branch
           if (error == -EINVAL || error == -ENOENT) {
           ^
   fs/xfs/scrub/parent.c:178:6: note: Assuming the condition is false
           if (!xchk_fblock_xref_process_error(sc, XFS_DATA_FORK, 0, &error))
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/xfs/scrub/parent.c:178:2: note: Taking false branch
           if (!xchk_fblock_xref_process_error(sc, XFS_DATA_FORK, 0, &error))
           ^
   fs/xfs/scrub/parent.c:180:6: note: Assuming 'dp' is not equal to field 'ip'
           if (dp == sc->ip || !S_ISDIR(VFS_I(dp)->i_mode)) {
               ^~~~~~~~~~~~
   fs/xfs/scrub/parent.c:180:6: note: Left side of '||' is false
   fs/xfs/scrub/parent.c:180:23: note: Assuming the condition is true
           if (dp == sc->ip || !S_ISDIR(VFS_I(dp)->i_mode)) {
                                ^
   include/uapi/linux/stat.h:23:21: note: expanded from macro 'S_ISDIR'
   #define S_ISDIR(m)      (((m) & S_IFMT) == S_IFDIR)
                            ^~~~~~~~~~~~~~~~~~~~~~~~~
   fs/xfs/scrub/parent.c:180:2: note: Taking false branch
           if (dp == sc->ip || !S_ISDIR(VFS_I(dp)->i_mode)) {
           ^
   fs/xfs/scrub/parent.c:192:6: note: Assuming the condition is false
           if (xfs_ilock_nowait(dp, XFS_IOLOCK_SHARED)) {
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/xfs/scrub/parent.c:192:2: note: Taking false branch
           if (xfs_ilock_nowait(dp, XFS_IOLOCK_SHARED)) {
           ^
   fs/xfs/scrub/parent.c:211:6: note: Assuming 'error' is 0
           if (error)
               ^~~~~
   fs/xfs/scrub/parent.c:211:2: note: Taking false branch
           if (error)
           ^
   fs/xfs/scrub/parent.c:215:10: note: Calling 'xchk_parent_count_parent_dentries'
           error = xchk_parent_count_parent_dentries(sc, dp, &nlink);
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/xfs/scrub/parent.c:93:6: note: Assuming field 'if_nextents' is > 0
           if (parent->i_df.if_nextents > 0)
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/xfs/scrub/parent.c:93:2: note: Taking true branch
           if (parent->i_df.if_nextents > 0)
           ^
   fs/xfs/scrub/parent.c:96:6: note: Assuming 'error' is not equal to 0
           if (error)
               ^~~~~
   fs/xfs/scrub/parent.c:96:2: note: Taking true branch
           if (error)
           ^
   fs/xfs/scrub/parent.c:97:3: note: Returning without writing to '*nlink'
                   return error;
                   ^
   fs/xfs/scrub/parent.c:215:10: note: Returning from 'xchk_parent_count_parent_dentries'
           error = xchk_parent_count_parent_dentries(sc, dp, &nlink);
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/xfs/scrub/parent.c:216:6: note: Assuming the condition is false
           if (!xchk_fblock_xref_process_error(sc, XFS_DATA_FORK, 0, &error))
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/xfs/scrub/parent.c:216:2: note: Taking false branch
           if (!xchk_fblock_xref_process_error(sc, XFS_DATA_FORK, 0, &error))
           ^
   fs/xfs/scrub/parent.c:222:6: note: Assuming 'error' is 0
           if (error)
               ^~~~~
   fs/xfs/scrub/parent.c:222:2: note: Taking false branch
           if (error)
           ^
   fs/xfs/scrub/parent.c:231:19: note: Assuming field 'i_nlink' is not equal to 0
           expected_nlink = VFS_I(sc->ip)->i_nlink == 0 ? 0 : 1;
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/xfs/scrub/parent.c:231:19: note: '?' condition is false
   fs/xfs/scrub/parent.c:235:6: note: Assuming the condition is false
           if (!xchk_fblock_process_error(sc, XFS_DATA_FORK, 0, &error))
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/xfs/scrub/parent.c:235:2: note: Taking false branch
           if (!xchk_fblock_process_error(sc, XFS_DATA_FORK, 0, &error))
           ^
   fs/xfs/scrub/parent.c:239:6: note: Assuming 'dnum' is equal to field 'i_ino'
           if (dnum != dp->i_ino) {
               ^~~~~~~~~~~~~~~~~
   fs/xfs/scrub/parent.c:239:2: note: Taking false branch
           if (dnum != dp->i_ino) {
           ^
   fs/xfs/scrub/parent.c:250:12: note: The left operand of '!=' is a garbage value
           if (nlink != expected_nlink)
               ~~~~~ ^
   Suppressed 13 warnings (13 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.
   Suppressed 12 warnings (12 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
>> arch/arm/mach-imx/tzic.c:160:2: warning: Value stored to 'i' is never read [clang-analyzer-deadcode.DeadStores]
           i = imx_readl(tzic_base + TZIC_INTCNTL);
           ^
   arch/arm/mach-imx/tzic.c:160:2: note: Value stored to 'i' is never read
   12 warnings generated.
   Suppressed 12 warnings (12 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   Suppressed 12 warnings (12 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).
   12 warnings generated.
   Suppressed 12 warnings (12 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 with check filters).
   1 warning generated.
   lib/glob.c:48:32: warning: Assigned value is garbage or undefined [clang-analyzer-core.uninitialized.Assign]
           char const *back_pat = NULL, *back_str = back_str;
                                         ^          ~~~~~~~~
   lib/glob.c:48:32: note: Assigned value is garbage or undefined
           char const *back_pat = NULL, *back_str = back_str;
                                         ^          ~~~~~~~~
   12 warnings generated.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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/pinctrl/samsung/pinctrl-samsung.c:1065:19: warning: Assigned value is garbage or undefined [clang-analyzer-core.uninitialized.Assign]
                   bank->eint_base = virt_base[0];
                                   ^
   drivers/pinctrl/samsung/pinctrl-samsung.c:1102:6: note: Assuming 'drvdata' is non-null
           if (!drvdata)
               ^~~~~~~~
   drivers/pinctrl/samsung/pinctrl-samsung.c:1102:2: note: Taking false branch
           if (!drvdata)
           ^
   drivers/pinctrl/samsung/pinctrl-samsung.c:1105:9: note: Calling 'samsung_pinctrl_get_soc_data'
           ctrl = samsung_pinctrl_get_soc_data(drvdata, pdev);
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/pinctrl/samsung/pinctrl-samsung.c:1019:9: note: Calling 'samsung_pinctrl_get_soc_data_for_of_alias'
           ctrl = samsung_pinctrl_get_soc_data_for_of_alias(pdev);
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/pinctrl/samsung/pinctrl-samsung.c:991:6: note: Assuming 'id' is >= 0
           if (id < 0) {
               ^~~~~~
   drivers/pinctrl/samsung/pinctrl-samsung.c:991:2: note: Taking false branch
           if (id < 0) {
           ^
   drivers/pinctrl/samsung/pinctrl-samsung.c:997:6: note: Assuming 'id' is < field 'num_ctrl'
           if (id >= of_data->num_ctrl) {
               ^~~~~~~~~~~~~~~~~~~~~~~
   drivers/pinctrl/samsung/pinctrl-samsung.c:997:2: note: Taking false branch
           if (id >= of_data->num_ctrl) {
           ^
   drivers/pinctrl/samsung/pinctrl-samsung.c:1002:2: note: Returning pointer, which participates in a condition later
           return &(of_data->ctrl[id]);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/pinctrl/samsung/pinctrl-samsung.c:1019:9: note: Returning from 'samsung_pinctrl_get_soc_data_for_of_alias'
           ctrl = samsung_pinctrl_get_soc_data_for_of_alias(pdev);
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/pinctrl/samsung/pinctrl-samsung.c:1020:6: note: Assuming 'ctrl' is non-null
           if (!ctrl)
               ^~~~~
   drivers/pinctrl/samsung/pinctrl-samsung.c:1020:2: note: Taking false branch
           if (!ctrl)
           ^
   drivers/pinctrl/samsung/pinctrl-samsung.c:1026:17: note: Calling 'devm_kcalloc'
           d->pin_banks = devm_kcalloc(&pdev->dev, d->nr_banks,
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/device.h:232:9: note: Calling 'devm_kmalloc_array'
           return devm_kmalloc_array(dev, n, size, flags | __GFP_ZERO);
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/device.h:224:2: note: Taking false branch
           if (unlikely(check_mul_overflow(n, size, &bytes)))
           ^
   include/linux/device.h:227:2: note: Returning pointer, which participates in a condition later
--
           ^
   include/linux/device.h:227:2: note: Returning pointer, which participates in a condition later
           return devm_kmalloc(dev, bytes, flags);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/device.h:232:9: note: Returning from 'devm_kmalloc_array'
           return devm_kmalloc_array(dev, n, size, flags | __GFP_ZERO);
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/device.h:232:2: note: Returning pointer, which participates in a condition later
           return devm_kmalloc_array(dev, n, size, flags | __GFP_ZERO);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/pinctrl/samsung/pinctrl-samsung.c:1026:17: note: Returning from 'devm_kcalloc'
           d->pin_banks = devm_kcalloc(&pdev->dev, d->nr_banks,
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/pinctrl/samsung/pinctrl-samsung.c:1028:6: note: Assuming field 'pin_banks' is non-null
           if (!d->pin_banks)
               ^~~~~~~~~~~~~
   drivers/pinctrl/samsung/pinctrl-samsung.c:1028:2: note: Taking false branch
           if (!d->pin_banks)
           ^
   drivers/pinctrl/samsung/pinctrl-samsung.c:1031:6: note: Assuming the condition is false
           if (ctrl->nr_ext_resources + 1 > SAMSUNG_PINCTRL_NUM_RESOURCES)
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/pinctrl/samsung/pinctrl-samsung.c:1031:2: note: Taking false branch
           if (ctrl->nr_ext_resources + 1 > SAMSUNG_PINCTRL_NUM_RESOURCES)
           ^
   drivers/pinctrl/samsung/pinctrl-samsung.c:1034:14: note: Assuming the condition is false
           for (i = 0; i < ctrl->nr_ext_resources + 1; i++) {
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/pinctrl/samsung/pinctrl-samsung.c:1034:2: note: Loop condition is false. Execution continues on line 1048
           for (i = 0; i < ctrl->nr_ext_resources + 1; i++) {
           ^
   drivers/pinctrl/samsung/pinctrl-samsung.c:1050:14: note: Assuming 'i' is >= field 'nr_banks'
           for (i = 0; i < ctrl->nr_banks; ++i, ++bdata, ++bank) {
                       ^~~~~~~~~~~~~~~~~~
   drivers/pinctrl/samsung/pinctrl-samsung.c:1050:2: note: Loop condition is false. Execution continues on line 1073
           for (i = 0; i < ctrl->nr_banks; ++i, ++bdata, ++bank) {
           ^
   drivers/pinctrl/samsung/pinctrl-samsung.c:1073:15: note: Assigned value is garbage or undefined
           d->virt_base = virt_base[0];
                        ^ ~~~~~~~~~~~~
   1 warning generated.
   arch/arm/mach-omap2/prminst44xx.c:193:2: warning: Value stored to 'v' is never read [clang-analyzer-deadcode.DeadStores]
           v = omap4_prminst_read_inst_reg(OMAP4430_PRM_PARTITION,
           ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/arm/mach-omap2/prminst44xx.c:193:2: note: Value stored to 'v' is never read
           v = omap4_prminst_read_inst_reg(OMAP4430_PRM_PARTITION,
           ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   1 warning generated.
   arch/arm/mach-omap2/vp.c:159:2: warning: Value stored to 'timeout' is never read [clang-analyzer-deadcode.DeadStores]
           timeout = 0;
           ^         ~
   arch/arm/mach-omap2/vp.c:159:2: note: Value stored to 'timeout' is never read
           timeout = 0;
           ^         ~
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   15 warnings generated.
   drivers/phy/cadence/phy-cadence-torrent.c:778: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:902:6: note: 'ret' is 0
           if (ret) {
               ^~~
   drivers/phy/cadence/phy-cadence-torrent.c:902:2: note: Taking false branch
           if (ret) {
           ^
   drivers/phy/cadence/phy-cadence-torrent.c:907:6: note: Assuming field 'set_lanes' is not equal to 0
           if (opts->dp.set_lanes) {
               ^~~~~~~~~~~~~~~~~~
   drivers/phy/cadence/phy-cadence-torrent.c:907:2: note: Taking true branch
           if (opts->dp.set_lanes) {
           ^
   drivers/phy/cadence/phy-cadence-torrent.c:908: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:778: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 14 warnings (14 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   14 warnings generated.
   Suppressed 14 warnings (14 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   5 warnings generated.
>> drivers/pinctrl/pinctrl-st.c:582:4: warning: The left expression of the compound assignment is an uninitialized value. The computed value will also be garbage [clang-analyzer-core.uninitialized.Assign]
                           ST_PINCONF_PACK_OE(*config);
                           ^
   drivers/pinctrl/pinctrl-st.c:138:34: note: expanded from macro 'ST_PINCONF_PACK_OE'
   #define ST_PINCONF_PACK_OE(conf)        ST_PINCONF_PACK(conf, 1, OE)
                                           ^
   drivers/pinctrl/pinctrl-st.c:129:49: note: expanded from macro 'ST_PINCONF_PACK'
   #define ST_PINCONF_PACK(conf, val, param)       (conf |=\
                                                         ^
   drivers/pinctrl/pinctrl-st.c:1013:6: note: 'function' is 0
           if (function)
               ^~~~~~~~
   drivers/pinctrl/pinctrl-st.c:1013:2: note: Taking false branch
           if (function)
           ^
   drivers/pinctrl/pinctrl-st.c:1018:30: note: Left side of '&&' is false
           oe = st_gpio_get_direction(&pc_to_bank(pc)->gpio_chip, offset);
                                       ^
   drivers/pinctrl/pinctrl-st.c:205:3: note: expanded from macro 'pc_to_bank'
                   container_of(pc, struct st_gpio_bank, pc)
                   ^
   include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
                                                                      ^
   drivers/pinctrl/pinctrl-st.c:1018:30: note: Taking false branch
           oe = st_gpio_get_direction(&pc_to_bank(pc)->gpio_chip, offset);
                                       ^
   drivers/pinctrl/pinctrl-st.c:205:3: note: expanded from macro 'pc_to_bank'
                   container_of(pc, struct st_gpio_bank, pc)
                   ^
   include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
           ^
   include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
   #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                       ^
   include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
                   if (!(condition))                                       \
                   ^
   drivers/pinctrl/pinctrl-st.c:1018:30: note: Loop condition is false.  Exiting loop
           oe = st_gpio_get_direction(&pc_to_bank(pc)->gpio_chip, offset);
                                       ^
   drivers/pinctrl/pinctrl-st.c:205:3: note: expanded from macro 'pc_to_bank'
                   container_of(pc, struct st_gpio_bank, pc)
                   ^
   include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
           ^
   include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
   #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                       ^
   include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
           do {                                                            \
           ^
   drivers/pinctrl/pinctrl-st.c:1018:7: note: Calling 'st_gpio_get_direction'
           oe = st_gpio_get_direction(&pc_to_bank(pc)->gpio_chip, offset);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/pinctrl/pinctrl-st.c:739:2: note: 'config' declared without an initial value
           unsigned long config;
           ^~~~~~~~~~~~~~~~~~~~
   drivers/pinctrl/pinctrl-st.c:746:13: note: Calling 'st_pctl_get_pin_function'
           function = st_pctl_get_pin_function(&pc, offset);
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/pinctrl/pinctrl-st.c:440:6: note: Assuming 'alt' is non-null
           if (!alt)
               ^~~~
   drivers/pinctrl/pinctrl-st.c:440:2: note: Taking false branch
           if (!alt)
           ^
   drivers/pinctrl/pinctrl-st.c:445:2: note: Returning without writing to 'pc->oe', which participates in a condition later
           return (val >> offset) & 0xf;
           ^
   drivers/pinctrl/pinctrl-st.c:746:13: note: Returning from 'st_pctl_get_pin_function'
           function = st_pctl_get_pin_function(&pc, offset);
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/pinctrl/pinctrl-st.c:747:6: note: Assuming 'function' is not equal to 0
           if (function) {
               ^~~~~~~~
   drivers/pinctrl/pinctrl-st.c:747:2: note: Taking true branch
           if (function) {
           ^
   drivers/pinctrl/pinctrl-st.c:748:3: note: Calling 'st_pinconf_get_direction'
                   st_pinconf_get_direction(&pc, offset, &config);
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/pinctrl/pinctrl-st.c:579:6: note: Assuming field 'oe' is non-null
           if (pc->oe) {
               ^~~~~~
   drivers/pinctrl/pinctrl-st.c:579:2: note: Taking true branch
           if (pc->oe) {
--
                   ^
   fs/jfs/jfs_logmgr.c:762:2: note: Loop condition is false.  Exiting loop
           list_for_each_entry(tblk, &log->cqueue, cqueue) {
           ^
   include/linux/list.h:628:13: note: expanded from macro 'list_for_each_entry'
           for (pos = list_first_entry(head, typeof(*pos), member);        \
                      ^
   include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
           list_entry((ptr)->next, type, member)
           ^
   include/linux/list.h:511:2: note: expanded from macro 'list_entry'
           container_of(ptr, type, member)
           ^
   note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
           do {                                                            \
           ^
   fs/jfs/jfs_logmgr.c:762:2: note: Loop condition is false. Execution continues on line 771
           list_for_each_entry(tblk, &log->cqueue, cqueue) {
           ^
   include/linux/list.h:628:2: note: expanded from macro 'list_for_each_entry'
           for (pos = list_first_entry(head, typeof(*pos), member);        \
           ^
   fs/jfs/jfs_logmgr.c:771:2: note: Null pointer value stored to 'tblk'
           tblk = xtblk;           /* last tblk of the page */
           ^~~~~~~~~~~~
   fs/jfs/jfs_logmgr.c:776:23: note: Access to field 'bp' results in a dereference of a null pointer (loaded from variable 'tblk')
           bp = (struct lbuf *) tblk->bp;
                                ^~~~
   Suppressed 12 warnings (12 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.
   16 warnings generated.
   drivers/phy/rockchip/phy-rockchip-inno-hdmi.c:624:16: warning: Value stored to 'tmdsclock' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           unsigned long tmdsclock = inno_hdmi_phy_get_tmdsclk(inno, rate);
                         ^~~~~~~~~   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/phy/rockchip/phy-rockchip-inno-hdmi.c:624:16: note: Value stored to 'tmdsclock' during its initialization is never read
           unsigned long tmdsclock = inno_hdmi_phy_get_tmdsclk(inno, rate);
                         ^~~~~~~~~   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/phy/rockchip/phy-rockchip-inno-hdmi.c:742:3: warning: Value stored to 'no_c' is never read [clang-analyzer-deadcode.DeadStores]
                   no_c = 1 << no_c;
                   ^      ~~~~~~~~~
   drivers/phy/rockchip/phy-rockchip-inno-hdmi.c:742:3: note: Value stored to 'no_c' is never read
                   no_c = 1 << no_c;
                   ^      ~~~~~~~~~
   drivers/phy/rockchip/phy-rockchip-inno-hdmi.c:778:16: warning: Value stored to 'tmdsclock' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           unsigned long tmdsclock = inno_hdmi_phy_get_tmdsclk(inno, rate);
                         ^~~~~~~~~   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/phy/rockchip/phy-rockchip-inno-hdmi.c:778:16: note: Value stored to 'tmdsclock' during its initialization is never read
           unsigned long tmdsclock = inno_hdmi_phy_get_tmdsclk(inno, rate);
                         ^~~~~~~~~   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   Suppressed 12 warnings (12 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.
   13 warnings generated.
   Suppressed 13 warnings (12 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 (2 with check filters).
   4 warnings generated.
>> drivers/bus/omap_l3_noc.c:96:3: warning: Value stored to 'err_description' is never read [clang-analyzer-deadcode.DeadStores]
                   err_description = "Standard";
                   ^                 ~~~~~~~~~~
   drivers/bus/omap_l3_noc.c:96:3: note: Value stored to 'err_description' is never read
                   err_description = "Standard";
                   ^                 ~~~~~~~~~~
   drivers/bus/omap_l3_noc.c:107:3: warning: Value stored to 'err_description' is never read [clang-analyzer-deadcode.DeadStores]
                   err_description = "Custom";
                   ^                 ~~~~~~~~
   drivers/bus/omap_l3_noc.c:107:3: note: Value stored to 'err_description' is never read
                   err_description = "Custom";
                   ^                 ~~~~~~~~
>> drivers/bus/omap_l3_noc.c:127:4: warning: Value stored to 'master_name' is never read [clang-analyzer-deadcode.DeadStores]
                           master_name = master->name;
                           ^             ~~~~~~~~~~~~
   drivers/bus/omap_l3_noc.c:127:4: note: Value stored to 'master_name' is never read
                           master_name = master->name;
                           ^             ~~~~~~~~~~~~
>> drivers/bus/omap_l3_noc.c:132:2: warning: Value stored to 'op_code' is never read [clang-analyzer-deadcode.DeadStores]
           op_code = readl_relaxed(l3_targ_hdr) & 0x7;
           ^
   drivers/bus/omap_l3_noc.c:132:2: note: Value stored to 'op_code' is never read
   12 warnings generated.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   13 warnings generated.
   Suppressed 13 warnings (12 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.
   12 warnings generated.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   14 warnings generated.
   Suppressed 14 warnings (13 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.
   12 warnings generated.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   17 warnings generated.
   Suppressed 17 warnings (13 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.
   1 warning generated.
   include/linux/math64.h:91:15: warning: Division by zero [clang-analyzer-core.DivideZero]
           *remainder = do_div(dividend, divisor);
                        ^
   include/asm-generic/div64.h:240:25: note: expanded from macro 'do_div'
                   __rem = (uint32_t)(n) % __base;         \
                                         ^
   drivers/clk/analogbits/wrpll-cln28hpc.c:230:6: note: Assuming field 'flags' is not equal to 0
           if (c->flags == 0) {
               ^~~~~~~~~~~~~
   drivers/clk/analogbits/wrpll-cln28hpc.c:230:2: note: Taking false branch
           if (c->flags == 0) {
           ^
   drivers/clk/analogbits/wrpll-cln28hpc.c:236:6: note: Assuming 'parent_rate' is equal to field 'parent_rate'
           if (parent_rate != c->parent_rate) {
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/analogbits/wrpll-cln28hpc.c:236:2: note: Taking false branch
           if (parent_rate != c->parent_rate) {
           ^
   drivers/clk/analogbits/wrpll-cln28hpc.c:247:6: note: Assuming 'target_rate' is not equal to 'parent_rate'
           if (target_rate == parent_rate) {
               ^~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/analogbits/wrpll-cln28hpc.c:247:2: note: Taking false branch
           if (target_rate == parent_rate) {
           ^
   drivers/clk/analogbits/wrpll-cln28hpc.c:255:9: note: Calling '__wrpll_calc_divq'
           divq = __wrpll_calc_divq(target_rate, &target_vco_rate);
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/analogbits/wrpll-cln28hpc.c:149:7: note: 'vco_rate' is non-null
           if (!vco_rate) {
                ^~~~~~~~
   drivers/clk/analogbits/wrpll-cln28hpc.c:149:2: note: Taking false branch
           if (!vco_rate) {
           ^
   drivers/clk/analogbits/wrpll-cln28hpc.c:155:6: note: Assuming 's' is <= 1
           if (s <= 1) {
               ^~~~~~
   drivers/clk/analogbits/wrpll-cln28hpc.c:155:2: note: Taking true branch
           if (s <= 1) {
           ^
   drivers/clk/analogbits/wrpll-cln28hpc.c:167:2: note: Returning the value 1 (loaded from 'divq'), which participates in a condition later
           return divq;
           ^~~~~~~~~~~
   drivers/clk/analogbits/wrpll-cln28hpc.c:255:9: note: Returning from '__wrpll_calc_divq'
           divq = __wrpll_calc_divq(target_rate, &target_vco_rate);
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/analogbits/wrpll-cln28hpc.c:256:7: note: 'divq' is 1
           if (!divq)
                ^~~~
   drivers/clk/analogbits/wrpll-cln28hpc.c:256:2: note: Taking false branch
           if (!divq)
           ^
   drivers/clk/analogbits/wrpll-cln28hpc.c:264:2: note: The value 0 is assigned to 'best_r'
           best_r = 0;
           ^~~~~~~~~~
--
           if (retval) {
           ^
   fs/reiserfs/namei.c:1417:6: note: Assuming the condition is true
           if (retval == -EEXIST) {
               ^~~~~~~~~~~~~~~~~
   fs/reiserfs/namei.c:1417:2: note: Taking true branch
           if (retval == -EEXIST) {
           ^
   fs/reiserfs/namei.c:1418:7: note: Assuming 'new_dentry_inode' is non-null
                   if (!new_dentry_inode) {
                       ^~~~~~~~~~~~~~~~~
   fs/reiserfs/namei.c:1418:3: note: Taking false branch
                   if (!new_dentry_inode) {
                   ^
   fs/reiserfs/namei.c:1437:6: note: 'new_dentry_inode' is non-null
           if (new_dentry_inode)
               ^~~~~~~~~~~~~~~~
   fs/reiserfs/namei.c:1437:2: note: Taking true branch
           if (new_dentry_inode)
           ^
   fs/reiserfs/namei.c:1440:2: note: Loop condition is true.  Entering loop body
           while (1) {
           ^
   fs/reiserfs/namei.c:1445:3: note: Taking false branch
                   if ((retval =
                   ^
   fs/reiserfs/namei.c:1471:7: note: 'retval' is equal to NAME_FOUND_INVISIBLE
                   if (retval != NAME_FOUND_INVISIBLE && retval != NAME_FOUND) {
                       ^~~~~~
   fs/reiserfs/namei.c:1471:38: note: Left side of '&&' is false
                   if (retval != NAME_FOUND_INVISIBLE && retval != NAME_FOUND) {
                                                      ^
   fs/reiserfs/namei.c:1483:7: note: Assuming the condition is true
                   if (S_ISDIR(old_inode->i_mode)) {
                       ^
   include/uapi/linux/stat.h:23:21: note: expanded from macro 'S_ISDIR'
   #define S_ISDIR(m)      (((m) & S_IFMT) == S_IFDIR)
                            ^~~~~~~~~~~~~~~~~~~~~~~~~
   fs/reiserfs/namei.c:1483:3: note: Taking true branch
                   if (S_ISDIR(old_inode->i_mode)) {
                   ^
   fs/reiserfs/namei.c:1485:9: note: Calling 'search_by_entry_key'
                                search_by_entry_key(new_dir->i_sb,
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/reiserfs/namei.c:126:2: note: Control jumps to 'case 1:'  at line 136
           switch (retval) {
           ^
   fs/reiserfs/namei.c:137:3: note:  Execution continues on line 148
                   break;
                   ^
   fs/reiserfs/namei.c:148:2: note: Calling 'set_de_item_location'
           set_de_item_location(de, path);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/reiserfs/namei.c:67:1: note: Returning without writing to 'de->de_entry_key.on_disk_key.k_offset'
   }
   ^
   fs/reiserfs/namei.c:148:2: note: Returning from 'set_de_item_location'
           set_de_item_location(de, path);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/reiserfs/namei.c:164:38: note: Calling 'cpu_key_k_offset'
           retval = bin_search_in_dir_item(de, cpu_key_k_offset(key));
                                               ^~~~~~~~~~~~~~~~~~~~~
   fs/reiserfs/reiserfs.h:1586:2: note: Undefined or garbage value returned to caller
           return key->on_disk_key.k_offset;
           ^      ~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 12 warnings (12 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/clk/tegra/clk-tegra-super-gen4.c:141:3: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
                   clk = clk_register_divider(NULL, "hclk_div", "sclk", 0,
                   ^
   drivers/clk/tegra/clk-tegra-super-gen4.c:141:3: note: Value stored to 'clk' is never read
   drivers/clk/tegra/clk-tegra-super-gen4.c:156:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
           clk = clk_register_divider(NULL, "pclk_div", "hclk", 0,
           ^
   drivers/clk/tegra/clk-tegra-super-gen4.c:156:2: note: Value stored to 'clk' is never read
   4 warnings generated.
   drivers/clk/tegra/clk-tegra114.c:910:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
           clk = tegra_clk_register_divider("pll_c_out1_div", "pll_c",
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/tegra/clk-tegra114.c:910:2: note: Value stored to 'clk' is never read
           clk = tegra_clk_register_divider("pll_c_out1_div", "pll_c",
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/tegra/clk-tegra114.c:934:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
           clk = tegra_clk_register_divider("pll_m_out1_div", "pll_m",
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/tegra/clk-tegra114.c:934:2: note: Value stored to 'clk' is never read
           clk = tegra_clk_register_divider("pll_m_out1_div", "pll_m",
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/tegra/clk-tegra114.c:943:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
           clk = clk_register_fixed_factor(NULL, "pll_m_ud", "pll_m",
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/tegra/clk-tegra114.c:943:2: note: Value stored to 'clk' is never read
           clk = clk_register_fixed_factor(NULL, "pll_m_ud", "pll_m",
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/tegra/clk-tegra114.c:1049:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
           clk = clk_register_mux(NULL, "emc_mux", mux_pllmcp_clkm,
           ^
   drivers/clk/tegra/clk-tegra114.c:1049:2: note: Value stored to 'clk' is never read
   2 warnings generated.
>> drivers/clk/tegra/clk-tegra124.c:1098:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
           clk = tegra_clk_register_divider("pll_c_out1_div", "pll_c",
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/tegra/clk-tegra124.c:1098:2: note: Value stored to 'clk' is never read
           clk = tegra_clk_register_divider("pll_c_out1_div", "pll_c",
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/tegra/clk-tegra124.c:1132:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
           clk = tegra_clk_register_divider("pll_m_out1_div", "pll_m",
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/tegra/clk-tegra124.c:1132:2: note: Value stored to 'clk' is never read
           clk = tegra_clk_register_divider("pll_m_out1_div", "pll_m",
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   14 warnings generated.
   drivers/clk/ti/clk.c:150:3: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
                   strcpy(buf, c->node_name);
                   ^~~~~~
   drivers/clk/ti/clk.c:150:3: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
                   strcpy(buf, c->node_name);
                   ^~~~~~
   drivers/clk/ti/clk.c:581:2: warning: Undefined or garbage value returned to caller [clang-analyzer-core.uninitialized.UndefReturn]
           return ret;
           ^      ~~~
   drivers/clk/ti/clk.c:572:2: note: 'ret' declared without an initial value
           int ret;
           ^~~~~~~
   drivers/clk/ti/clk.c:575:2: note: Left side of '&&' is false
           list_for_each_entry(hw, &clk_hw_omap_clocks, node) {
           ^
   include/linux/list.h:628:13: note: expanded from macro 'list_for_each_entry'
           for (pos = list_first_entry(head, typeof(*pos), member);        \
                      ^
   include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
           list_entry((ptr)->next, type, member)
           ^
   include/linux/list.h:511:2: note: expanded from macro 'list_entry'
           container_of(ptr, type, member)
           ^
   include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
                                                                      ^
   drivers/clk/ti/clk.c:575:2: note: Taking false branch
           list_for_each_entry(hw, &clk_hw_omap_clocks, node) {
           ^
   include/linux/list.h:628:13: note: expanded from macro 'list_for_each_entry'
           for (pos = list_first_entry(head, typeof(*pos), member);        \
                      ^
   include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
           list_entry((ptr)->next, type, member)
           ^
   include/linux/list.h:511:2: note: expanded from macro 'list_entry'
           container_of(ptr, type, member)
           ^
   note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
                   if (!(condition))                                       \
                   ^
   drivers/clk/ti/clk.c:575:2: note: Loop condition is false.  Exiting loop
           list_for_each_entry(hw, &clk_hw_omap_clocks, node) {
           ^
   include/linux/list.h:628:13: note: expanded from macro 'list_for_each_entry'
           for (pos = list_first_entry(head, typeof(*pos), member);        \
                      ^
   include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
           list_entry((ptr)->next, type, member)
           ^
   include/linux/list.h:511:2: note: expanded from macro 'list_entry'
           container_of(ptr, type, member)
           ^
   note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
           do {                                                            \
           ^
   drivers/clk/ti/clk.c:575:2: note: Loop condition is false. Execution continues on line 581
           list_for_each_entry(hw, &clk_hw_omap_clocks, node) {
           ^
   include/linux/list.h:628:2: note: expanded from macro 'list_for_each_entry'
           for (pos = list_first_entry(head, typeof(*pos), member);        \
           ^
   drivers/clk/ti/clk.c:581:2: note: Undefined or garbage value returned to caller
           return ret;
           ^      ~~~
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
--
   # define likely(x)      __builtin_expect(!!(x), 1)
                                               ^
   kernel/workqueue.c:1717:2: note: Taking true branch
           if (likely(ret >= 0)) {
           ^
   kernel/workqueue.c:1718:29: note: Passing value via 2nd parameter 'wq'
                   __queue_delayed_work(cpu, wq, dwork, delay);
                                             ^~
   kernel/workqueue.c:1718:3: note: Calling '__queue_delayed_work'
                   __queue_delayed_work(cpu, wq, dwork, delay);
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   kernel/workqueue.c:1632:15: note: Assuming 'wq' is null
           WARN_ON_ONCE(!wq);
                        ^
   include/asm-generic/bug.h:201:41: note: expanded from macro 'WARN_ON_ONCE'
   #define WARN_ON_ONCE(condition) WARN_ON(condition)
                                           ^~~~~~~~~
   include/asm-generic/bug.h:188:25: note: expanded from macro 'WARN_ON'
           int __ret_warn_on = !!(condition);                              \
                                  ^~~~~~~~~
   kernel/workqueue.c:1633:2: note: Assuming '__ret_warn_on' is not equal to 0
           WARN_ON_ONCE(timer->function != delayed_work_timer_fn);
           ^
   include/asm-generic/bug.h:201:33: note: expanded from macro 'WARN_ON_ONCE'
   #define WARN_ON_ONCE(condition) WARN_ON(condition)
                                   ^~~~~~~~~~~~~~~~~~
   include/asm-generic/bug.h:189:2: note: expanded from macro 'WARN_ON'
           unlikely(__ret_warn_on);                                        \
           ^~~~~~~~~~~~~~~~~~~~~~~
   include/linux/compiler.h:78:40: note: expanded from macro 'unlikely'
   # define unlikely(x)    __builtin_expect(!!(x), 0)
                                             ^~~~
   kernel/workqueue.c:1635:2: note: Assuming '__ret_warn_on' is not equal to 0
           WARN_ON_ONCE(!list_empty(&work->entry));
           ^
   include/asm-generic/bug.h:201:33: note: expanded from macro 'WARN_ON_ONCE'
   #define WARN_ON_ONCE(condition) WARN_ON(condition)
                                   ^~~~~~~~~~~~~~~~~~
   include/asm-generic/bug.h:189:2: note: expanded from macro 'WARN_ON'
           unlikely(__ret_warn_on);                                        \
           ^~~~~~~~~~~~~~~~~~~~~~~
   include/linux/compiler.h:78:40: note: expanded from macro 'unlikely'
   # define unlikely(x)    __builtin_expect(!!(x), 0)
                                             ^~~~
   kernel/workqueue.c:1643:6: note: Assuming 'delay' is 0
           if (!delay) {
               ^~~~~~
   kernel/workqueue.c:1643:2: note: Taking true branch
           if (!delay) {
           ^
   kernel/workqueue.c:1644:21: note: Passing null pointer value via 2nd parameter 'wq'
                   __queue_work(cpu, wq, &dwork->work);
                                     ^~
   kernel/workqueue.c:1644:3: note: Calling '__queue_work'
                   __queue_work(cpu, wq, &dwork->work);
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   kernel/workqueue.c:1413:2: note: Loop condition is false.  Exiting loop
           lockdep_assert_irqs_disabled();
           ^
   include/linux/lockdep.h:619:41: note: expanded from macro 'lockdep_assert_irqs_disabled'
   # define lockdep_assert_irqs_disabled() do { } while (0)
                                           ^
   kernel/workqueue.c:1418:15: note: Access to field 'flags' results in a dereference of a null pointer (loaded from variable 'wq')
           if (unlikely(wq->flags & __WQ_DRAINING) &&
                        ^
   include/linux/compiler.h:78:42: note: expanded from macro 'unlikely'
   # define unlikely(x)    __builtin_expect(!!(x), 0)
                                               ^
   kernel/workqueue.c:2602:14: warning: Value stored to 'target_func' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           work_func_t target_func = target_work ? target_work->func : NULL;
                       ^~~~~~~~~~~   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   kernel/workqueue.c:2602:14: note: Value stored to 'target_func' during its initialization is never read
           work_func_t target_func = target_work ? target_work->func : NULL;
                       ^~~~~~~~~~~   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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).
   12 warnings generated.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
>> drivers/clk/imx/clk-imx6q.c:251:2: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
           ret = of_parse_phandle_with_args(node, "assigned-clock-parents",
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/imx/clk-imx6q.c:251:2: note: Value stored to 'ret' is never read
           ret = of_parse_phandle_with_args(node, "assigned-clock-parents",
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   1 warning generated.
   Suppressed 1 warnings (1 with check filters).
   1 warning generated.
   drivers/clk/ingenic/cgu.c:484:10: warning: Division by zero [clang-analyzer-core.DivideZero]
                   rate = DIV_ROUND_UP(parent_rate, div);
                          ^
   include/linux/math.h:36:22: note: expanded from macro 'DIV_ROUND_UP'
   #define DIV_ROUND_UP __KERNEL_DIV_ROUND_UP
                        ^
   include/uapi/linux/const.h:34:54: note: expanded from macro '__KERNEL_DIV_ROUND_UP'
   #define __KERNEL_DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d))
                                        ~~~~~~~~~~~~~~~~^~~~~
   drivers/clk/ingenic/cgu.c:474:36: note: Left side of '&&' is false
           struct ingenic_clk *ingenic_clk = to_ingenic_clk(hw);
                                             ^
   drivers/clk/ingenic/cgu.h:206:29: note: expanded from macro 'to_ingenic_clk'
   #define to_ingenic_clk(_hw) container_of(_hw, struct ingenic_clk, hw)
                               ^
   include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
                                                                      ^
   drivers/clk/ingenic/cgu.c:474:36: note: Taking false branch
           struct ingenic_clk *ingenic_clk = to_ingenic_clk(hw);
                                             ^
   drivers/clk/ingenic/cgu.h:206:29: note: expanded from macro 'to_ingenic_clk'
   #define to_ingenic_clk(_hw) container_of(_hw, struct ingenic_clk, hw)
                               ^
   include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
           ^
   include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
   #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                       ^
   include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
                   if (!(condition))                                       \
                   ^
   drivers/clk/ingenic/cgu.c:474:36: note: Loop condition is false.  Exiting loop
           struct ingenic_clk *ingenic_clk = to_ingenic_clk(hw);
                                             ^
   drivers/clk/ingenic/cgu.h:206:29: note: expanded from macro 'to_ingenic_clk'
   #define to_ingenic_clk(_hw) container_of(_hw, struct ingenic_clk, hw)
                               ^
   include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
           ^
   include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
   #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                       ^
   include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
           do {                                                            \
           ^
   drivers/clk/ingenic/cgu.c:482:6: note: Assuming the condition is true
           if (clk_info->type & CGU_CLK_DIV) {
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/ingenic/cgu.c:482:2: note: Taking true branch
           if (clk_info->type & CGU_CLK_DIV) {
           ^
   drivers/clk/ingenic/cgu.c:483:9: note: Calling 'ingenic_clk_calc_div'
                   div = ingenic_clk_calc_div(clk_info, parent_rate, req_rate);
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/ingenic/cgu.c:421:6: note: Assuming field 'div_table' is non-null
           if (clk_info->div.div_table) {
               ^~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/ingenic/cgu.c:421:2: note: Taking true branch
           if (clk_info->div.div_table) {
           ^
   drivers/clk/ingenic/cgu.c:422:12: note: Calling 'ingenic_clk_calc_hw_div'
                   hw_div = ingenic_clk_calc_hw_div(clk_info, div);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/ingenic/cgu.c:395:18: note: 'best_i' initialized to 0
           unsigned int i, best_i = 0, best = (unsigned int)-1;
                           ^~~~~~
   drivers/clk/ingenic/cgu.c:397:14: note: Assuming the condition is true
           for (i = 0; i < (1 << clk_info->div.bits)
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/ingenic/cgu.c:397:14: note: Left side of '&&' is true
   drivers/clk/ingenic/cgu.c:397:2: note: Loop condition is false. Execution continues on line 409
           for (i = 0; i < (1 << clk_info->div.bits)
           ^
   drivers/clk/ingenic/cgu.c:409:2: note: Returning zero (loaded from 'best_i')
           return best_i;
           ^~~~~~~~~~~~~
   drivers/clk/ingenic/cgu.c:422:12: note: Returning from 'ingenic_clk_calc_hw_div'
--
   drivers/gpu/drm/ttm/ttm_bo_util.c:57:3: note: Returning zero, which participates in a condition later
                   return 0;
                   ^~~~~~~~
   drivers/gpu/drm/ttm/ttm_bo_util.c:83:8: note: Returning from 'ttm_mem_io_reserve'
           ret = ttm_mem_io_reserve(bdev, mem);
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/ttm/ttm_bo_util.c:84:6: note: 'ret' is 0
           if (ret || !mem->bus.is_iomem)
               ^~~
   drivers/gpu/drm/ttm/ttm_bo_util.c:84:6: note: Left side of '||' is false
   drivers/gpu/drm/ttm/ttm_bo_util.c:84:23: note: Field 'is_iomem' is false
           if (ret || !mem->bus.is_iomem)
                                ^
   drivers/gpu/drm/ttm/ttm_bo_util.c:84:2: note: Taking true branch
           if (ret || !mem->bus.is_iomem)
           ^
   drivers/gpu/drm/ttm/ttm_bo_util.c:85:3: note: Returning zero (loaded from 'ret'), which participates in a condition later
                   return ret;
                   ^~~~~~~~~~
   drivers/gpu/drm/ttm/ttm_bo_util.c:192:8: note: Returning from 'ttm_resource_ioremap'
           ret = ttm_resource_ioremap(bdev, new_mem, &new_iomap);
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/ttm/ttm_bo_util.c:193:6: note: 'ret' is 0
           if (ret)
               ^~~
   drivers/gpu/drm/ttm/ttm_bo_util.c:193:2: note: Taking false branch
           if (ret)
           ^
   drivers/gpu/drm/ttm/ttm_bo_util.c:199:6: note: 'old_iomap' is not equal to NULL
           if (old_iomap == NULL && new_iomap == NULL)
               ^~~~~~~~~
   drivers/gpu/drm/ttm/ttm_bo_util.c:199:24: note: Left side of '&&' is false
           if (old_iomap == NULL && new_iomap == NULL)
                                 ^
   drivers/gpu/drm/ttm/ttm_bo_util.c:205:6: note: 'old_iomap' is not equal to NULL
           if (old_iomap == NULL &&
               ^~~~~~~~~
   drivers/gpu/drm/ttm/ttm_bo_util.c:205:24: note: Left side of '&&' is false
           if (old_iomap == NULL &&
                                 ^
   drivers/gpu/drm/ttm/ttm_bo_util.c:215:6: note: Assuming 'ttm' is null
           if (ttm) {
               ^~~
   drivers/gpu/drm/ttm/ttm_bo_util.c:215:2: note: Taking false branch
           if (ttm) {
           ^
   drivers/gpu/drm/ttm/ttm_bo_util.c:221:14: note: Assuming 'i' is < field 'num_pages'
           for (i = 0; i < new_mem->num_pages; ++i) {
                       ^~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/ttm/ttm_bo_util.c:221:2: note: Loop condition is true.  Entering loop body
           for (i = 0; i < new_mem->num_pages; ++i) {
           ^
   drivers/gpu/drm/ttm/ttm_bo_util.c:222:7: note: 'old_iomap' is not equal to NULL
                   if (old_iomap == NULL) {
                       ^~~~~~~~~
   drivers/gpu/drm/ttm/ttm_bo_util.c:222:3: note: Taking false branch
                   if (old_iomap == NULL) {
                   ^
   drivers/gpu/drm/ttm/ttm_bo_util.c:226:14: note: 'new_iomap' is equal to NULL
                   } else if (new_iomap == NULL) {
                              ^~~~~~~~~
   drivers/gpu/drm/ttm/ttm_bo_util.c:226:10: note: Taking true branch
                   } else if (new_iomap == NULL) {
                          ^
   drivers/gpu/drm/ttm/ttm_bo_util.c:228:31: note: Passing null pointer value via 1st parameter 'ttm'
                           ret = ttm_copy_io_ttm_page(ttm, old_iomap, i,
                                                      ^~~
   drivers/gpu/drm/ttm/ttm_bo_util.c:228:10: note: Calling 'ttm_copy_io_ttm_page'
                           ret = ttm_copy_io_ttm_page(ttm, old_iomap, i,
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/ttm/ttm_bo_util.c:131:19: note: Access to field 'pages' results in a dereference of a null pointer (loaded from variable 'ttm')
           struct page *d = ttm->pages[page];
                            ^~~
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   13 warnings generated.
   drivers/pci/controller/pci-v3-semi.c:604:6: warning: Value stored to 'pci_end' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           u64 pci_end = cpu_end - entry->offset;
               ^~~~~~~   ~~~~~~~~~~~~~~~~~~~~~~~
   drivers/pci/controller/pci-v3-semi.c:604:6: note: Value stored to 'pci_end' during its initialization is never read
           u64 pci_end = cpu_end - entry->offset;
               ^~~~~~~   ~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 12 warnings (12 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.
   13 warnings generated.
   drivers/pci/controller/pci-versatile.c:37:10: warning: Although the value stored to 'retval' is used in the enclosing expression, the value is never actually read from 'retval' [clang-analyzer-deadcode.DeadStores]
           while ((retval = get_option(&str, &slot))) {
                   ^        ~~~~~~~~~~~~~~~~~~~~~~~
   drivers/pci/controller/pci-versatile.c:37:10: note: Although the value stored to 'retval' is used in the enclosing expression, the value is never actually read from 'retval'
           while ((retval = get_option(&str, &slot))) {
                   ^        ~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 12 warnings (12 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.
   15 warnings generated.
>> drivers/pci/controller/pcie-iproc.c:861:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct device *dev = pcie->dev;
                          ^~~   ~~~~~~~~~
   drivers/pci/controller/pcie-iproc.c:861:17: note: Value stored to 'dev' during its initialization is never read
           struct device *dev = pcie->dev;
                          ^~~   ~~~~~~~~~
   drivers/pci/controller/pcie-iproc.c:1065:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct device *dev = pcie->dev;
                          ^~~   ~~~~~~~~~
   drivers/pci/controller/pcie-iproc.c:1065:17: note: Value stored to 'dev' during its initialization is never read
           struct device *dev = pcie->dev;
                          ^~~   ~~~~~~~~~
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   16 warnings generated.
   Suppressed 16 warnings (14 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.
   12 warnings generated.
   Suppressed 12 warnings (12 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.
   14 warnings generated.
   drivers/gpu/host1x/job.c:182:35: warning: Assigned value is garbage or undefined [clang-analyzer-core.uninitialized.Assign]
                   job->addr_phys[job->num_unpins] = phys_addr;
                                                   ^
   drivers/gpu/host1x/job.c:596:8: note: Calling 'pin_job'
           err = pin_job(host, job);
                 ^~~~~~~~~~~~~~~~~~
   drivers/gpu/host1x/job.c:116:14: note: Assuming 'i' is < field 'num_relocs'
           for (i = 0; i < job->num_relocs; i++) {
                       ^~~~~~~~~~~~~~~~~~~
   drivers/gpu/host1x/job.c:116:2: note: Loop condition is true.  Entering loop body
           for (i = 0; i < job->num_relocs; i++) {
           ^
   drivers/gpu/host1x/job.c:118:14: note: 'phys_addr' declared without an initial value
                   dma_addr_t phys_addr, *phys;
                              ^~~~~~~~~
   drivers/gpu/host1x/job.c:122:7: note: Assuming field 'bo' is non-null
                   if (!reloc->target.bo) {
                       ^~~~~~~~~~~~~~~~~
   drivers/gpu/host1x/job.c:122:3: note: Taking false branch
                   if (!reloc->target.bo) {
                   ^
   drivers/gpu/host1x/job.c:139:7: note: Assuming 'domain' is non-null
                   if (!domain || client->group)
                       ^~~~~~~
   drivers/gpu/host1x/job.c:139:7: note: Left side of '||' is false
   drivers/gpu/host1x/job.c:139:18: note: Assuming field 'group' is null
                   if (!domain || client->group)
                                  ^~~~~~~~~~~~~
   drivers/gpu/host1x/job.c:139:3: note: Taking false branch
                   if (!domain || client->group)
                   ^
   drivers/gpu/host1x/job.c:145:7: note: Calling 'IS_ERR'
                   if (IS_ERR(sgt)) {
                       ^~~~~~~~~~~
   include/linux/err.h:36:9: note: Assuming the condition is false
           return IS_ERR_VALUE((unsigned long)ptr);
                  ^
   include/linux/err.h:22:34: note: expanded from macro 'IS_ERR_VALUE'
   #define IS_ERR_VALUE(x) unlikely((unsigned long)(void *)(x) >= (unsigned long)-MAX_ERRNO)
                           ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/compiler.h:78:42: note: expanded from macro 'unlikely'
   # define unlikely(x)    __builtin_expect(!!(x), 0)
                                               ^
   include/linux/err.h:36:2: note: Returning zero, which participates in a condition later
           return IS_ERR_VALUE((unsigned long)ptr);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/host1x/job.c:145:7: note: Returning from 'IS_ERR'
                   if (IS_ERR(sgt)) {
                       ^~~~~~~~~~~
   drivers/gpu/host1x/job.c:145:3: note: Taking false branch
                   if (IS_ERR(sgt)) {
                   ^
   drivers/gpu/host1x/job.c:150:7: note: Assuming 'sgt' is null
                   if (sgt) {
                       ^~~
   drivers/gpu/host1x/job.c:150:3: note: Taking false branch
                   if (sgt) {
                   ^
   drivers/gpu/host1x/job.c:182:35: note: Assigned value is garbage or undefined
                   job->addr_phys[job->num_unpins] = phys_addr;
                                                   ^ ~~~~~~~~~
   drivers/gpu/host1x/job.c:262:35: warning: Assigned value is garbage or undefined [clang-analyzer-core.uninitialized.Assign]
                   job->addr_phys[job->num_unpins] = phys_addr;
                                                   ^
   drivers/gpu/host1x/job.c:596:8: note: Calling 'pin_job'
           err = pin_job(host, job);
                 ^~~~~~~~~~~~~~~~~~
   drivers/gpu/host1x/job.c:116:14: note: Assuming 'i' is >= field 'num_relocs'
           for (i = 0; i < job->num_relocs; i++) {
                       ^~~~~~~~~~~~~~~~~~~
   drivers/gpu/host1x/job.c:116:2: note: Loop condition is false. Execution continues on line 192
           for (i = 0; i < job->num_relocs; i++) {
           ^
   drivers/gpu/host1x/job.c:192:2: note: Taking false branch
           if (IS_ENABLED(CONFIG_TEGRA_HOST1X_FIREWALL))
           ^
   drivers/gpu/host1x/job.c:195:14: note: Assuming 'i' is < field 'num_gathers'
           for (i = 0; i < job->num_gathers; i++) {
                       ^~~~~~~~~~~~~~~~~~~~
   drivers/gpu/host1x/job.c:195:2: note: Loop condition is true.  Entering loop body
           for (i = 0; i < job->num_gathers; i++) {
           ^
   drivers/gpu/host1x/job.c:199:3: note: 'phys_addr' declared without an initial value
                   dma_addr_t phys_addr;
                   ^~~~~~~~~~~~~~~~~~~~
   drivers/gpu/host1x/job.c:207:7: note: Assuming field 'bo' is non-null
                   if (!g->bo) {
                       ^~~~~~
   drivers/gpu/host1x/job.c:207:3: note: Taking false branch
                   if (!g->bo) {
                   ^
   drivers/gpu/host1x/job.c:217:7: note: Assuming the condition is false
                   if (!iommu_get_domain_for_dev(host->dev))
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/host1x/job.c:217:3: note: Taking false branch
                   if (!iommu_get_domain_for_dev(host->dev))
                   ^
   drivers/gpu/host1x/job.c:223:7: note: Calling 'IS_ERR'
                   if (IS_ERR(sgt)) {
                       ^~~~~~~~~~~
   include/linux/err.h:36:9: note: Assuming the condition is false
           return IS_ERR_VALUE((unsigned long)ptr);
                  ^
   include/linux/err.h:22:34: note: expanded from macro 'IS_ERR_VALUE'
   #define IS_ERR_VALUE(x) unlikely((unsigned long)(void *)(x) >= (unsigned long)-MAX_ERRNO)
                           ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/compiler.h:78:42: note: expanded from macro 'unlikely'
   # define unlikely(x)    __builtin_expect(!!(x), 0)
                                               ^
   include/linux/err.h:36:2: note: Returning zero, which participates in a condition later
           return IS_ERR_VALUE((unsigned long)ptr);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/host1x/job.c:223:7: note: Returning from 'IS_ERR'
                   if (IS_ERR(sgt)) {
                       ^~~~~~~~~~~
   drivers/gpu/host1x/job.c:223:3: note: Taking false branch
                   if (IS_ERR(sgt)) {
                   ^
   drivers/gpu/host1x/job.c:228:7: note: Assuming field 'domain' is null
                   if (host->domain) {
                       ^~~~~~~~~~~~
   drivers/gpu/host1x/job.c:228:3: note: Taking false branch
                   if (host->domain) {
                   ^
   drivers/gpu/host1x/job.c:252:14: note: Assuming 'sgt' is null
                   } else if (sgt) {
                              ^~~
   drivers/gpu/host1x/job.c:252:10: note: Taking false branch
                   } else if (sgt) {
                          ^
   drivers/gpu/host1x/job.c:262:35: note: Assigned value is garbage or undefined
                   job->addr_phys[job->num_unpins] = phys_addr;
                                                   ^ ~~~~~~~~~
   Suppressed 12 warnings (12 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.
>> drivers/clk/ti/clockdomain.c:115:2: warning: Value stored to 'clk_name' is never read [clang-analyzer-deadcode.DeadStores]
           clk_name = __clk_get_name(hw->clk);
           ^          ~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/ti/clockdomain.c:115:2: note: Value stored to 'clk_name' is never read
           clk_name = __clk_get_name(hw->clk);
           ^          ~~~~~~~~~~~~~~~~~~~~~~~
   2 warnings generated.
   drivers/clk/ti/divider.c:240:9: warning: Division by zero [clang-analyzer-core.DivideZero]
           return DIV_ROUND_UP(*prate, div);
                  ^
   include/linux/math.h:36:22: note: expanded from macro 'DIV_ROUND_UP'
   #define DIV_ROUND_UP __KERNEL_DIV_ROUND_UP
                        ^
   include/uapi/linux/const.h:34:54: note: expanded from macro '__KERNEL_DIV_ROUND_UP'
   #define __KERNEL_DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d))
                                        ~~~~~~~~~~~~~~~~^~~~~
   drivers/clk/ti/divider.c:238:8: note: Calling 'ti_clk_divider_bestdiv'
           div = ti_clk_divider_bestdiv(hw, rate, prate);
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/ti/divider.c:179:37: note: Left side of '&&' is false
           struct clk_omap_divider *divider = to_clk_omap_divider(hw);
                                              ^
   drivers/clk/ti/clock.h:32:34: note: expanded from macro 'to_clk_omap_divider'
   #define to_clk_omap_divider(_hw) container_of(_hw, struct clk_omap_divider, hw)
                                    ^
   include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
                                                                      ^
   drivers/clk/ti/divider.c:179:37: note: Taking false branch
           struct clk_omap_divider *divider = to_clk_omap_divider(hw);
                                              ^
   drivers/clk/ti/clock.h:32:34: note: expanded from macro 'to_clk_omap_divider'
   #define to_clk_omap_divider(_hw) container_of(_hw, struct clk_omap_divider, hw)
                                    ^
   include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
           ^
   include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
   #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                       ^
   include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
                   if (!(condition))                                       \
                   ^
   drivers/clk/ti/divider.c:179:37: note: Loop condition is false.  Exiting loop
           struct clk_omap_divider *divider = to_clk_omap_divider(hw);
                                              ^
   drivers/clk/ti/clock.h:32:34: note: expanded from macro 'to_clk_omap_divider'
   #define to_clk_omap_divider(_hw) container_of(_hw, struct clk_omap_divider, hw)
                                    ^
   include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
           ^
   include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
   #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                       ^
   include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
           do {                                                            \
           ^
   drivers/clk/ti/divider.c:184:6: note: Assuming 'rate' is not equal to 0
           if (!rate)
               ^~~~~
   drivers/clk/ti/divider.c:184:2: note: Taking false branch
           if (!rate)
           ^
   drivers/clk/ti/divider.c:189:6: note: Assuming the condition is false
           if (!(clk_hw_get_flags(hw) & CLK_SET_RATE_PARENT)) {
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/ti/divider.c:189:2: note: Taking false branch
           if (!(clk_hw_get_flags(hw) & CLK_SET_RATE_PARENT)) {
           ^
   drivers/clk/ti/divider.c:201:11: note: Assuming '__UNIQUE_ID___x112' is >= '__UNIQUE_ID___y113'
           maxdiv = min(ULONG_MAX / rate, maxdiv);
                    ^
   include/linux/minmax.h:51:19: note: expanded from macro 'min'
   #define min(x, y)       __careful_cmp(x, y, <)
                           ^~~~~~~~~~~~~~~~~~~~~~
   include/linux/minmax.h:44:3: note: expanded from macro '__careful_cmp'
                   __cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op))
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/minmax.h:39:3: note: expanded from macro '__cmp_once'
                   __cmp(unique_x, unique_y, op); })
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/minmax.h:34:26: note: expanded from macro '__cmp'
   #define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
                            ^~~~~~~~~~
   drivers/clk/ti/divider.c:201:11: note: '?' condition is false
           maxdiv = min(ULONG_MAX / rate, maxdiv);
                    ^
   include/linux/minmax.h:51:19: note: expanded from macro 'min'
--
   drivers/clk/sifive/sifive-prci.c:406:2: warning: Value stored to 'r' is never read [clang-analyzer-deadcode.DeadStores]
           r = __prci_readl(pd, PRCI_COREPLLSEL_OFFSET);   /* barrier */
           ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/sifive/sifive-prci.c:406:2: note: Value stored to 'r' is never read
           r = __prci_readl(pd, PRCI_COREPLLSEL_OFFSET);   /* barrier */
           ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/sifive/sifive-prci.c:427:2: warning: Value stored to 'r' is never read [clang-analyzer-deadcode.DeadStores]
           r = __prci_readl(pd, PRCI_HFPCLKPLLSEL_OFFSET); /* barrier */
           ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/sifive/sifive-prci.c:427:2: note: Value stored to 'r' is never read
           r = __prci_readl(pd, PRCI_HFPCLKPLLSEL_OFFSET); /* barrier */
           ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/sifive/sifive-prci.c:448:2: warning: Value stored to 'r' is never read [clang-analyzer-deadcode.DeadStores]
           r = __prci_readl(pd, PRCI_HFPCLKPLLSEL_OFFSET); /* barrier */
           ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/sifive/sifive-prci.c:448:2: note: Value stored to 'r' is never read
           r = __prci_readl(pd, PRCI_HFPCLKPLLSEL_OFFSET); /* barrier */
           ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   14 warnings generated.
   Suppressed 14 warnings (14 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   Suppressed 12 warnings (12 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (12 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.
   12 warnings generated.
   Suppressed 12 warnings (12 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.
   14 warnings generated.
   fs/sysv/dir.c:339:2: warning: Value stored to 'err' is never read [clang-analyzer-deadcode.DeadStores]
           err = dir_commit_chunk(page, pos, SYSV_DIRSIZE);
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/sysv/dir.c:339:2: note: Value stored to 'err' is never read
           err = dir_commit_chunk(page, pos, SYSV_DIRSIZE);
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 13 warnings (13 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   5 warnings generated.
>> drivers/clk/spear/spear1310_clock.c:872:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
           clk = clk_register_fixed_rate(NULL, "ras_30m_fixed_clk", "pll5_clk", 0,
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/spear/spear1310_clock.c:872:2: note: Value stored to 'clk' is never read
           clk = clk_register_fixed_rate(NULL, "ras_30m_fixed_clk", "pll5_clk", 0,
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/spear/spear1310_clock.c:879:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
           clk = clk_register_fixed_rate(NULL, "ras_48m_fixed_clk", "pll5_clk", 0,
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/spear/spear1310_clock.c:879:2: note: Value stored to 'clk' is never read
           clk = clk_register_fixed_rate(NULL, "ras_48m_fixed_clk", "pll5_clk", 0,
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/spear/spear1310_clock.c:896:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
           clk = clk_register_fixed_rate(NULL, "ras_plclk0_clk", NULL, 0,
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/spear/spear1310_clock.c:896:2: note: Value stored to 'clk' is never read
           clk = clk_register_fixed_rate(NULL, "ras_plclk0_clk", NULL, 0,
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/spear/spear1310_clock.c:899:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
           clk = clk_register_fixed_rate(NULL, "ras_tx50_clk", NULL, 0, 50000000);
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/spear/spear1310_clock.c:899:2: note: Value stored to 'clk' is never read
           clk = clk_register_fixed_rate(NULL, "ras_tx50_clk", NULL, 0, 50000000);
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 1 warnings (1 with check filters).
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   drivers/gpu/drm/drm_ioctl.c:163:25: warning: Null pointer passed as 1st argument to string length function [clang-analyzer-unix.cstring.NullArg]
                           master->unique_len = strlen(dev->unique);
                                                ^
   drivers/gpu/drm/drm_ioctl.c:388:2: note: Value assigned to field 'unique'
           mutex_lock(&dev->master_mutex);
           ^
   include/linux/mutex.h:167:26: note: expanded from macro 'mutex_lock'
   #define mutex_lock(lock) mutex_lock_nested(lock, 0)
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/drm_ioctl.c:389:6: note: Assuming the condition is true
           if (sv->drm_di_major != -1) {
               ^~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/drm_ioctl.c:389:2: note: Taking true branch
           if (sv->drm_di_major != -1) {
           ^
   drivers/gpu/drm/drm_ioctl.c:390:7: note: Assuming field 'drm_di_major' is equal to DRM_IF_MAJOR
                   if (sv->drm_di_major != DRM_IF_MAJOR ||
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/drm_ioctl.c:390:7: note: Left side of '||' is false
   drivers/gpu/drm/drm_ioctl.c:391:7: note: Assuming field 'drm_di_minor' is >= 0
                       sv->drm_di_minor < 0 || sv->drm_di_minor > DRM_IF_MINOR) {
                       ^~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/drm_ioctl.c:390:7: note: Left side of '||' is false
                   if (sv->drm_di_major != DRM_IF_MAJOR ||
                       ^
   drivers/gpu/drm/drm_ioctl.c:391:31: note: Assuming field 'drm_di_minor' is <= DRM_IF_MINOR
                       sv->drm_di_minor < 0 || sv->drm_di_minor > DRM_IF_MINOR) {
                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/drm_ioctl.c:390:3: note: Taking false branch
                   if (sv->drm_di_major != DRM_IF_MAJOR ||
                   ^
   drivers/gpu/drm/drm_ioctl.c:397:21: note: Assuming '__UNIQUE_ID___x267' is <= '__UNIQUE_ID___y268'
                   dev->if_version = max(if_version, dev->if_version);
                                     ^
   include/linux/minmax.h:58:19: note: expanded from macro 'max'
   #define max(x, y)       __careful_cmp(x, y, >)
                           ^~~~~~~~~~~~~~~~~~~~~~
   include/linux/minmax.h:44:3: note: expanded from macro '__careful_cmp'
                   __cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op))
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/minmax.h:39:3: note: expanded from macro '__cmp_once'
                   __cmp(unique_x, unique_y, op); })
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/minmax.h:34:26: note: expanded from macro '__cmp'
   #define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
                            ^~~~~~~~~~
   drivers/gpu/drm/drm_ioctl.c:397:21: note: '?' condition is false
                   dev->if_version = max(if_version, dev->if_version);
                                     ^
   include/linux/minmax.h:58:19: note: expanded from macro 'max'
   #define max(x, y)       __careful_cmp(x, y, >)
                           ^
   include/linux/minmax.h:44:3: note: expanded from macro '__careful_cmp'
                   __cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op))
                   ^
   include/linux/minmax.h:39:3: note: expanded from macro '__cmp_once'
                   __cmp(unique_x, unique_y, op); })
                   ^
   include/linux/minmax.h:34:26: note: expanded from macro '__cmp'
   #define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
                            ^
   drivers/gpu/drm/drm_ioctl.c:398:7: note: Assuming field 'drm_di_minor' is >= 1
                   if (sv->drm_di_minor >= 1) {
                       ^~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/drm_ioctl.c:398:3: note: Taking true branch
                   if (sv->drm_di_minor >= 1) {
                   ^
   drivers/gpu/drm/drm_ioctl.c:403:14: note: Calling 'drm_set_busid'
                           retcode = drm_set_busid(dev, file_priv);
                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/drm_ioctl.c:150:6: note: Assuming field 'unique' is equal to NULL
           if (master->unique != NULL)
--
                           ^
   include/asm-generic/rwonce.h:49:2: note: expanded from macro 'READ_ONCE'
           compiletime_assert_rwonce_type(x);                              \
           ^
   include/asm-generic/rwonce.h:36:21: note: expanded from macro 'compiletime_assert_rwonce_type'
           compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long),  \
                              ^
   include/linux/compiler_types.h:288:3: note: expanded from macro '__native_word'
           (sizeof(t) == sizeof(char) || sizeof(t) == sizeof(short) || \
            ^
   drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgpu.h:1357:9: note: Left side of '||' is true
           return atomic_read(&adev->in_gpu_reset);
                  ^
   arch/arm/include/asm/atomic.h:25:24: note: expanded from macro 'atomic_read'
   #define atomic_read(v)  READ_ONCE((v)->counter)
                           ^
   include/asm-generic/rwonce.h:49:2: note: expanded from macro 'READ_ONCE'
           compiletime_assert_rwonce_type(x);                              \
           ^
   include/asm-generic/rwonce.h:36:21: note: expanded from macro 'compiletime_assert_rwonce_type'
           compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long),  \
                              ^
   include/linux/compiler_types.h:289:28: note: expanded from macro '__native_word'
            sizeof(t) == sizeof(int) || sizeof(t) == sizeof(long))
                                     ^
   drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgpu.h:1357:9: note: Taking false branch
           return atomic_read(&adev->in_gpu_reset);
                  ^
   arch/arm/include/asm/atomic.h:25:24: note: expanded from macro 'atomic_read'
   #define atomic_read(v)  READ_ONCE((v)->counter)
                           ^
   include/asm-generic/rwonce.h:49:2: note: expanded from macro 'READ_ONCE'
           compiletime_assert_rwonce_type(x);                              \
           ^
   include/asm-generic/rwonce.h:36:2: note: expanded from macro 'compiletime_assert_rwonce_type'
           compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long),  \
           ^
   include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
                   if (!(condition))                                       \
                   ^
   drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgpu.h:1357:9: note: Loop condition is false.  Exiting loop
           return atomic_read(&adev->in_gpu_reset);
                  ^
   arch/arm/include/asm/atomic.h:25:24: note: expanded from macro 'atomic_read'
   #define atomic_read(v)  READ_ONCE((v)->counter)
                           ^
   include/asm-generic/rwonce.h:49:2: note: expanded from macro 'READ_ONCE'
           compiletime_assert_rwonce_type(x);                              \
           ^
   include/asm-generic/rwonce.h:36:2: note: expanded from macro 'compiletime_assert_rwonce_type'
           compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long),  \
           ^
   include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
           do {                                                            \
           ^
   drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgpu.h:1357:2: note: Returning zero, which participates in a condition later
           return atomic_read(&adev->in_gpu_reset);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/../pm/amdgpu_pm.c:464:6: note: Returning from 'amdgpu_in_reset'
           if (amdgpu_in_reset(adev))
               ^~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/../pm/amdgpu_pm.c:464:2: note: Taking false branch
           if (amdgpu_in_reset(adev))
           ^
   drivers/gpu/drm/amd/amdgpu/../pm/amdgpu_pm.c:468:6: note: Assuming 'ret' is >= 0
           if (ret < 0) {
               ^~~~~~~
   drivers/gpu/drm/amd/amdgpu/../pm/amdgpu_pm.c:468:2: note: Taking false branch
           if (ret < 0) {
           ^
   drivers/gpu/drm/amd/amdgpu/../pm/amdgpu_pm.c:473:6: note: Assuming the condition is false
           if (is_support_sw_smu(adev)) {
               ^~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/../pm/amdgpu_pm.c:473:2: note: Taking false branch
           if (is_support_sw_smu(adev)) {
           ^
   drivers/gpu/drm/amd/amdgpu/../pm/amdgpu_pm.c:478:13: note: Assuming field 'get_current_power_state' is null
           } else if (adev->powerplay.pp_funcs->get_current_power_state
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/../pm/amdgpu_pm.c:479:4: note: Left side of '&&' is false
                    && adev->powerplay.pp_funcs->get_pp_num_states) {
                    ^
   drivers/gpu/drm/amd/amdgpu/../pm/amdgpu_pm.c:487:16: note: The right operand of '<' is a garbage value
           for (i = 0; i < data.nums; i++) {
                         ^ ~~~~~~~~~
   Suppressed 14 warnings (14 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.
   13 warnings generated.
>> drivers/gpu/drm/omapdrm/dss/hdmi4_cec.c:243:3: warning: Value stored to 'temp' is never read [clang-analyzer-deadcode.DeadStores]
                   temp = hdmi_read_reg(core->base, HDMI_CEC_INT_STATUS_1);
                   ^      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/omapdrm/dss/hdmi4_cec.c:243:3: note: Value stored to 'temp' is never read
                   temp = hdmi_read_reg(core->base, HDMI_CEC_INT_STATUS_1);
                   ^      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   14 warnings generated.
>> drivers/gpu/drm/omapdrm/omap_crtc.c:234:21: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct drm_device *dev = omap_crtc->base.dev;
                              ^~~   ~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/omapdrm/omap_crtc.c:234:21: note: Value stored to 'dev' during its initialization is never read
           struct drm_device *dev = omap_crtc->base.dev;
                              ^~~   ~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/omapdrm/omap_crtc.c:253:21: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct drm_device *dev = omap_crtc->base.dev;
                              ^~~   ~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/omapdrm/omap_crtc.c:253:21: note: Value stored to 'dev' during its initialization is never read
           struct drm_device *dev = omap_crtc->base.dev;
                              ^~~   ~~~~~~~~~~~~~~~~~~~
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   15 warnings generated.
   drivers/gpu/drm/omapdrm/omap_encoder.c:104:16: warning: Access to field 'bridge' results in a dereference of a null pointer (loaded from variable 'output') [clang-analyzer-core.NullDereference]
           for (bridge = output->bridge; bridge;
                         ^~~~~~
   drivers/gpu/drm/omapdrm/omap_encoder.c:76:38: note: Left side of '&&' is false
           struct omap_encoder *omap_encoder = to_omap_encoder(encoder);
                                               ^
   drivers/gpu/drm/omapdrm/omap_encoder.c:20:28: note: expanded from macro 'to_omap_encoder'
   #define to_omap_encoder(x) container_of(x, struct omap_encoder, base)
                              ^
   include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
                                                                      ^
   drivers/gpu/drm/omapdrm/omap_encoder.c:76:38: note: Taking false branch
           struct omap_encoder *omap_encoder = to_omap_encoder(encoder);
                                               ^
   drivers/gpu/drm/omapdrm/omap_encoder.c:20:28: note: expanded from macro 'to_omap_encoder'
   #define to_omap_encoder(x) container_of(x, struct omap_encoder, base)
                              ^
   include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
           ^
   include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
   #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                       ^
   include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
                   if (!(condition))                                       \
                   ^
   drivers/gpu/drm/omapdrm/omap_encoder.c:76:38: note: Loop condition is false.  Exiting loop
           struct omap_encoder *omap_encoder = to_omap_encoder(encoder);
                                               ^
   drivers/gpu/drm/omapdrm/omap_encoder.c:20:28: note: expanded from macro 'to_omap_encoder'
   #define to_omap_encoder(x) container_of(x, struct omap_encoder, base)
                              ^
   include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
           ^
   include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
   #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                       ^
   include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
           do {                                                            \
           ^
   drivers/gpu/drm/omapdrm/omap_encoder.c:77:2: note: 'output' initialized here
           struct omap_dss_device *output = omap_encoder->output;
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/omapdrm/omap_encoder.c:85:2: note: Left side of '&&' is false
           list_for_each_entry(connector, &dev->mode_config.connector_list, head) {
           ^
   include/linux/list.h:628:13: note: expanded from macro 'list_for_each_entry'
           for (pos = list_first_entry(head, typeof(*pos), member);        \
                      ^
   include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
           list_entry((ptr)->next, type, member)
           ^
   include/linux/list.h:511:2: note: expanded from macro 'list_entry'
           container_of(ptr, type, member)
           ^
   include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
                                                                      ^
   drivers/gpu/drm/omapdrm/omap_encoder.c:85:2: note: Taking false branch
           list_for_each_entry(connector, &dev->mode_config.connector_list, head) {
           ^
   include/linux/list.h:628:13: note: expanded from macro 'list_for_each_entry'
           for (pos = list_first_entry(head, typeof(*pos), member);        \
                      ^
   include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
           list_entry((ptr)->next, type, member)
           ^
   include/linux/list.h:511:2: note: expanded from macro 'list_entry'
           container_of(ptr, type, member)
--
   drivers/gpu/drm/drm_crtc.c:597:30: note: Assuming the condition is false
           if (crtc_req->mode_valid && !drm_lease_held(file_priv, plane->base.id))
                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/drm_crtc.c:597:2: note: Taking false branch
           if (crtc_req->mode_valid && !drm_lease_held(file_priv, plane->base.id))
           ^
   drivers/gpu/drm/drm_crtc.c:600:2: note: Taking false branch
           DRM_MODESET_LOCK_ALL_BEGIN(dev, ctx,
           ^
   include/drm/drm_modeset_lock.h:167:2: note: expanded from macro 'DRM_MODESET_LOCK_ALL_BEGIN'
           if (!drm_drv_uses_atomic_modeset(dev))                          \
           ^
   drivers/gpu/drm/drm_crtc.c:601:43: note: Assuming 'ret' is 0
                                      DRM_MODESET_ACQUIRE_INTERRUPTIBLE, ret);
                                                                         ^
   include/drm/drm_modeset_lock.h:172:6: note: expanded from macro 'DRM_MODESET_LOCK_ALL_BEGIN'
           if (ret)                                                        \
               ^~~
   drivers/gpu/drm/drm_crtc.c:600:2: note: Taking false branch
           DRM_MODESET_LOCK_ALL_BEGIN(dev, ctx,
           ^
   include/drm/drm_modeset_lock.h:172:2: note: expanded from macro 'DRM_MODESET_LOCK_ALL_BEGIN'
           if (ret)                                                        \
           ^
   drivers/gpu/drm/drm_crtc.c:603:16: note: Field 'mode_valid' is not equal to 0
           if (crtc_req->mode_valid) {
                         ^
   drivers/gpu/drm/drm_crtc.c:603:2: note: Taking true branch
           if (crtc_req->mode_valid) {
           ^
   drivers/gpu/drm/drm_crtc.c:606:7: note: Assuming the condition is true
                   if (crtc_req->fb_id == -1) {
                       ^~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/drm_crtc.c:606:3: note: Taking true branch
                   if (crtc_req->fb_id == -1) {
                   ^
   drivers/gpu/drm/drm_crtc.c:609:8: note: Assuming field 'state' is null
                           if (plane->state)
                               ^~~~~~~~~~~~
   drivers/gpu/drm/drm_crtc.c:609:4: note: Taking false branch
                           if (plane->state)
                           ^
   drivers/gpu/drm/drm_crtc.c:614:8: note: Assuming 'old_fb' is non-null
                           if (!old_fb) {
                               ^~~~~~~
   drivers/gpu/drm/drm_crtc.c:614:4: note: Taking false branch
                           if (!old_fb) {
                           ^
   drivers/gpu/drm/drm_crtc.c:634:7: note: Assuming 'mode' is non-null
                   if (!mode) {
                       ^~~~~
   drivers/gpu/drm/drm_crtc.c:634:3: note: Taking false branch
                   if (!mode) {
                   ^
   drivers/gpu/drm/drm_crtc.c:638:7: note: Assuming field 'aspect_ratio_allowed' is true
                   if (!file_priv->aspect_ratio_allowed &&
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/drm_crtc.c:638:40: note: Left side of '&&' is false
                   if (!file_priv->aspect_ratio_allowed &&
                                                        ^
   drivers/gpu/drm/drm_crtc.c:647:7: note: Assuming 'ret' is 0
                   if (ret) {
                       ^~~
   drivers/gpu/drm/drm_crtc.c:647:3: note: Taking false branch
                   if (ret) {
                   ^
   drivers/gpu/drm/drm_crtc.c:661:7: note: Assuming field 'format_default' is true
                   if (!plane->format_default) {
                       ^~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/drm_crtc.c:661:3: note: Taking false branch
                   if (!plane->format_default) {
                   ^
   drivers/gpu/drm/drm_crtc.c:676:9: note: Calling 'drm_crtc_check_viewport'
                   ret = drm_crtc_check_viewport(crtc, crtc_req->x, crtc_req->y,
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/drm_crtc.c:538:6: note: Assuming field 'state' is non-null
           if (crtc->state &&
               ^~~~~~~~~~~
   drivers/gpu/drm/drm_crtc.c:538:6: note: Left side of '&&' is true
   drivers/gpu/drm/drm_crtc.c:539:29: note: Access to field 'rotation' results in a dereference of a null pointer (loaded from field 'state')
               drm_rotation_90_or_270(crtc->primary->state->rotation))
                                      ^              ~~~~~
   Suppressed 12 warnings (12 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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/pinctrl/aspeed/pinctrl-aspeed.c:183:4: warning: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
                           strcat(found, str);
                           ^~~~~~
   drivers/pinctrl/aspeed/pinctrl-aspeed.c:183:4: note: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119
                           strcat(found, str);
                           ^~~~~~
   drivers/pinctrl/aspeed/pinctrl-aspeed.c:184:4: warning: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
                           strcat(found, ", ");
                           ^~~~~~
   drivers/pinctrl/aspeed/pinctrl-aspeed.c:184:4: note: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119
                           strcat(found, ", ");
                           ^~~~~~
   1 warning generated.
>> drivers/pinctrl/aspeed/pinctrl-aspeed-g6.c:2660:5: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
                                   ret = regmap_update_bits(ctx->maps[desc->ip],
                                   ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/pinctrl/aspeed/pinctrl-aspeed-g6.c:2660:5: note: Value stored to 'ret' is never read
                                   ret = regmap_update_bits(ctx->maps[desc->ip],
                                   ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   Suppressed 12 warnings (12 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.
   14 warnings generated.
   Suppressed 14 warnings (14 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   15 warnings generated.
   fs/ntfs/compress.c:164:6: warning: Value stored to 'cb_sb_start' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           u8 *cb_sb_start = cb;   /* Beginning of the current sb in the cb. */
               ^~~~~~~~~~~   ~~
   fs/ntfs/compress.c:164:6: note: Value stored to 'cb_sb_start' during its initialization is never read
           u8 *cb_sb_start = cb;   /* Beginning of the current sb in the cb. */
               ^~~~~~~~~~~   ~~
   fs/ntfs/compress.c:810:4: warning: Value stored to 'cb_pos' is never read [clang-analyzer-deadcode.DeadStores]
                           cb_pos += cb_max_ofs - cur_ofs;
                           ^         ~~~~~~~~~~~~~~~~~~~~
   fs/ntfs/compress.c:810:4: note: Value stored to 'cb_pos' is never read
                           cb_pos += cb_max_ofs - cur_ofs;
                           ^         ~~~~~~~~~~~~~~~~~~~~
   Suppressed 13 warnings (13 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   14 warnings generated.
>> drivers/gpu/drm/sti/sti_hqvdp.c:741:6: warning: Division by zero [clang-analyzer-core.DivideZero]
           lfw /= max(src_w, dst_w) * mode->clock / 1000;
               ^
   drivers/gpu/drm/sti/sti_hqvdp.c:1022:28: note: Left side of '&&' is false
           struct sti_plane *plane = to_sti_plane(drm_plane);
                                     ^
   drivers/gpu/drm/sti/sti_plane.h:13:25: note: expanded from macro 'to_sti_plane'
   #define to_sti_plane(x) container_of(x, struct sti_plane, drm_plane)
                           ^
   include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
                                                                      ^
   drivers/gpu/drm/sti/sti_hqvdp.c:1022:28: note: Taking false branch
           struct sti_plane *plane = to_sti_plane(drm_plane);
                                     ^
   drivers/gpu/drm/sti/sti_plane.h:13:25: note: expanded from macro 'to_sti_plane'
   #define to_sti_plane(x) container_of(x, struct sti_plane, drm_plane)
                           ^
   include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
           ^
   include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
   #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                       ^
   include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
                   if (!(condition))                                       \
                   ^
   drivers/gpu/drm/sti/sti_hqvdp.c:1022:28: note: Loop condition is false.  Exiting loop
           struct sti_plane *plane = to_sti_plane(drm_plane);
                                     ^
   drivers/gpu/drm/sti/sti_plane.h:13:25: note: expanded from macro 'to_sti_plane'
   #define to_sti_plane(x) container_of(x, struct sti_plane, drm_plane)
                           ^
   include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
           ^
   include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
   #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                       ^
   include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
           do {                                                            \
           ^
   drivers/gpu/drm/sti/sti_hqvdp.c:1023:28: note: Left side of '&&' is false
           struct sti_hqvdp *hqvdp = to_sti_hqvdp(plane);
                                     ^
   drivers/gpu/drm/sti/sti_hqvdp.c:360:25: note: expanded from macro 'to_sti_hqvdp'
   #define to_sti_hqvdp(x) container_of(x, struct sti_hqvdp, plane)
                           ^
   include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
                                                                      ^
   drivers/gpu/drm/sti/sti_hqvdp.c:1023:28: note: Taking false branch
           struct sti_hqvdp *hqvdp = to_sti_hqvdp(plane);
                                     ^
   drivers/gpu/drm/sti/sti_hqvdp.c:360:25: note: expanded from macro 'to_sti_hqvdp'
   #define to_sti_hqvdp(x) container_of(x, struct sti_hqvdp, plane)
                           ^
   include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
           ^
   include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
   #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                       ^
   include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
                   if (!(condition))                                       \
                   ^
   drivers/gpu/drm/sti/sti_hqvdp.c:1023:28: note: Loop condition is false.  Exiting loop
           struct sti_hqvdp *hqvdp = to_sti_hqvdp(plane);
                                     ^
   drivers/gpu/drm/sti/sti_hqvdp.c:360:25: note: expanded from macro 'to_sti_hqvdp'
   #define to_sti_hqvdp(x) container_of(x, struct sti_hqvdp, plane)
                           ^
   include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
           ^
   include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
   #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                       ^
   include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
--
           if (ret <= 0)
           ^
   fs/zonefs/super.c:762:6: note: Assuming the condition is false
           if ((iocb->ki_pos | count) & (sb->s_blocksize - 1)) {
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/zonefs/super.c:762:2: note: Taking false branch
           if ((iocb->ki_pos | count) & (sb->s_blocksize - 1)) {
           ^
   fs/zonefs/super.c:768:6: note: Assuming field 'i_ztype' is equal to ZONEFS_ZTYPE_SEQ
           if (zi->i_ztype == ZONEFS_ZTYPE_SEQ) {
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/zonefs/super.c:768:2: note: Taking true branch
           if (zi->i_ztype == ZONEFS_ZTYPE_SEQ) {
           ^
   fs/zonefs/super.c:770:7: note: Assuming field 'ki_pos' is equal to field 'i_wpoffset'
                   if (iocb->ki_pos != zi->i_wpoffset) {
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/zonefs/super.c:770:3: note: Taking false branch
                   if (iocb->ki_pos != zi->i_wpoffset) {
                   ^
   fs/zonefs/super.c:779:6: note: 'append' is true
           if (append)
               ^~~~~~
   fs/zonefs/super.c:779:2: note: Taking true branch
           if (append)
           ^
   fs/zonefs/super.c:780:9: note: Calling 'zonefs_file_dio_append'
                   ret = zonefs_file_dio_append(iocb, from);
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/zonefs/super.c:669:2: note: 'size' declared without an initial value
           ssize_t size;
           ^~~~~~~~~~~~
   fs/zonefs/super.c:678:6: note: Assuming 'nr_pages' is not equal to 0
           if (!nr_pages)
               ^~~~~~~~~
   fs/zonefs/super.c:678:2: note: Taking false branch
           if (!nr_pages)
           ^
   fs/zonefs/super.c:682:6: note: Assuming 'bio' is non-null
           if (!bio)
               ^~~~
   fs/zonefs/super.c:682:2: note: Taking false branch
           if (!bio)
           ^
   fs/zonefs/super.c:685:2: note: Assuming field 'bi_disk' is equal to field 'bd_disk'
           bio_set_dev(bio, bdev);
           ^
   include/linux/bio.h:488:6: note: expanded from macro 'bio_set_dev'
           if ((bio)->bi_disk != (bdev)->bd_disk)  \
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/zonefs/super.c:685:2: note: Taking false branch
           bio_set_dev(bio, bdev);
           ^
   include/linux/bio.h:488:2: note: expanded from macro 'bio_set_dev'
           if ((bio)->bi_disk != (bdev)->bd_disk)  \
           ^
   fs/zonefs/super.c:685:2: note: Loop condition is false.  Exiting loop
           bio_set_dev(bio, bdev);
           ^
   include/linux/bio.h:486:35: note: expanded from macro 'bio_set_dev'
   #define bio_set_dev(bio, bdev)                  \
                                                   ^
   fs/zonefs/super.c:690:6: note: Assuming the condition is false
           if (iocb->ki_flags & IOCB_DSYNC)
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/zonefs/super.c:690:2: note: Taking false branch
           if (iocb->ki_flags & IOCB_DSYNC)
           ^
   fs/zonefs/super.c:694:6: note: Assuming 'ret' is not equal to 0
           if (unlikely(ret))
               ^
   include/linux/compiler.h:78:40: note: expanded from macro 'unlikely'
   # define unlikely(x)    __builtin_expect(!!(x), 0)
                                             ^~~~
   fs/zonefs/super.c:694:2: note: Taking true branch
           if (unlikely(ret))
           ^
   fs/zonefs/super.c:695:3: note: Control jumps to line 708
                   goto out_release;
                   ^
   fs/zonefs/super.c:711:6: note: Assuming 'ret' is >= 0
           if (ret >= 0) {
               ^~~~~~~~
   fs/zonefs/super.c:711:2: note: Taking true branch
           if (ret >= 0) {
           ^
   fs/zonefs/super.c:712:16: note: Assigned value is garbage or undefined
                   iocb->ki_pos += size;
                                ^  ~~~~
   Suppressed 13 warnings (13 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/clk/ti/apll.c:100:2: warning: Value stored to 'state' is never read [clang-analyzer-deadcode.DeadStores]
           state <<= __ffs(ad->idlest_mask);
           ^         ~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/ti/apll.c:100:2: note: Value stored to 'state' is never read
           state <<= __ffs(ad->idlest_mask);
           ^         ~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 1 warnings (1 with check filters).
   1 warning generated.
>> drivers/clk/ti/clkt_dpll.c:305:2: warning: Value stored to 'clk_name' is never read [clang-analyzer-deadcode.DeadStores]
           clk_name = clk_hw_get_name(hw);
           ^          ~~~~~~~~~~~~~~~~~~~
   drivers/clk/ti/clkt_dpll.c:305:2: note: Value stored to 'clk_name' is never read
           clk_name = clk_hw_get_name(hw);
           ^          ~~~~~~~~~~~~~~~~~~~
   12 warnings generated.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   14 warnings generated.
   drivers/gpu/drm/sun4i/sun4i_tv.c:491:3: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
                   strcpy(mode->name, tv_mode->name);
                   ^~~~~~
   drivers/gpu/drm/sun4i/sun4i_tv.c:491:3: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
                   strcpy(mode->name, tv_mode->name);
                   ^~~~~~
   Suppressed 13 warnings (12 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.
   12 warnings generated.
   Suppressed 12 warnings (12 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.
   13 warnings generated.
   drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c:149:2: warning: Value stored to 'val' is never read [clang-analyzer-deadcode.DeadStores]
           val = readl(hdmi->base + SUN4I_HDMI_PAD_CTRL1_REG);
           ^
   drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c:149:2: note: Value stored to 'val' is never read
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   14 warnings generated.
   Suppressed 14 warnings (14 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.
   14 warnings generated.
   Suppressed 14 warnings (14 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.
   14 warnings generated.
   Suppressed 14 warnings (14 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.
   14 warnings generated.
   Suppressed 14 warnings (14 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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/clk/qcom/gcc-ipq4019.c:1286:2: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
           ret = regmap_update_bits(pll->cdiv.clkr.regmap,
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/qcom/gcc-ipq4019.c:1286:2: note: Value stored to 'ret' is never read
           ret = regmap_update_bits(pll->cdiv.clkr.regmap,
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 1 warnings (1 with check filters).
   12 warnings generated.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   drivers/tty/serial/mvebu-uart.c:513:4: warning: Value stored to 'baud' is never read [clang-analyzer-deadcode.DeadStores]
                           baud = uart_get_baud_rate(port, old, NULL, 0, 230400);
                           ^      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/tty/serial/mvebu-uart.c:513:4: note: Value stored to 'baud' is never read
                           baud = uart_get_baud_rate(port, old, NULL, 0, 230400);
                           ^      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   2 warnings generated.
   include/asm-generic/bitops/non-atomic.h:21:6: warning: The left expression of the compound assignment is an uninitialized value. The computed value will also be garbage [clang-analyzer-core.uninitialized.Assign]
           *p  |= mask;
               ^
   drivers/tty/serial/serial_mctrl_gpio.c:52:6: note: Assuming 'gpios' is not equal to NULL
           if (gpios == NULL)
               ^~~~~~~~~~~~~
--
   fs/select.c:897:6: note: 'end_time' is null
           if (end_time && !timed_out)
               ^~~~~~~~
   fs/select.c:897:15: note: Left side of '&&' is false
           if (end_time && !timed_out)
                        ^
   fs/select.c:900:2: note: Loop condition is true.  Entering loop body
           for (;;) {
           ^
   fs/select.c:904:3: note: Loop condition is true.  Entering loop body
                   for (walk = list; walk != NULL; walk = walk->next) {
                   ^
   fs/select.c:909:11: note: 'pfd' is not equal to 'pfd_end'
                           for (; pfd != pfd_end; pfd++) {
                                  ^~~
   fs/select.c:909:4: note: Loop condition is true.  Entering loop body
                           for (; pfd != pfd_end; pfd++) {
                           ^
   fs/select.c:917:9: note: Calling 'do_pollfd'
                                   if (do_pollfd(pfd, pt, &can_busy_loop,
                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/select.c:855:2: note: Assigned value is garbage or undefined
           int fd = pollfd->fd;
           ^        ~~~~~~~~~~
   Suppressed 13 warnings (13 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   13 warnings generated.
   drivers/pci/pcie/aer.c:641:3: warning: Array access (from variable 'counter') results in a null pointer dereference [clang-analyzer-core.NullDereference]
                   counter[i]++;
                   ^~~~~~~
   drivers/pci/pcie/aer.c:616:2: note: 'counter' initialized to a null pointer value
           u64 *counter = NULL;
           ^~~~~~~~~~~~
   drivers/pci/pcie/aer.c:619:6: note: Assuming 'aer_stats' is non-null
           if (!aer_stats)
               ^~~~~~~~~~
   drivers/pci/pcie/aer.c:619:2: note: Taking false branch
           if (!aer_stats)
           ^
   drivers/pci/pcie/aer.c:622:2: note: 'Default' branch taken. Execution continues on line 640
           switch (info->severity) {
           ^
   drivers/pci/pcie/aer.c:640:2: note: Assuming 'i' is < 'max'
           for_each_set_bit(i, &status, max)
           ^
   include/linux/bitops.h:36:7: note: expanded from macro 'for_each_set_bit'
                (bit) < (size);                                    \
                ^~~~~~~~~~~~~~
   drivers/pci/pcie/aer.c:640:2: note: Loop condition is true.  Entering loop body
           for_each_set_bit(i, &status, max)
           ^
   include/linux/bitops.h:35:2: note: expanded from macro 'for_each_set_bit'
           for ((bit) = find_first_bit((addr), (size));            \
           ^
   drivers/pci/pcie/aer.c:641:3: note: Array access (from variable 'counter') results in a null pointer dereference
                   counter[i]++;
                   ^~~~~~~
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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/gpu/drm/omapdrm/dss/omapdss-boot-init.c:68:3: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
                   strcpy(dst, prefix);
                   ^~~~~~
   drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c:68:3: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
                   strcpy(dst, prefix);
                   ^~~~~~
   drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c:71:3: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
                   strcpy(dst, src);
                   ^~~~~~
   drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c:71:3: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
                   strcpy(dst, src);
                   ^~~~~~
   13 warnings generated.
>> drivers/gpu/drm/omapdrm/dss/base.c:213:21: warning: Value stored to 'dss' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct dss_device *dss = src ? src->dss : dst->dss;
                              ^~~   ~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/omapdrm/dss/base.c:213:21: note: Value stored to 'dss' during its initialization is never read
           struct dss_device *dss = src ? src->dss : dst->dss;
                              ^~~   ~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   17 warnings generated.
   drivers/gpu/drm/omapdrm/dss/dispc.c:871:56: warning: The result of the left shift is undefined because the left operand is negative [clang-analyzer-core.UndefinedBinaryOperatorResult]
           dispc_write_reg(dispc, DISPC_OVL_CONV_COEF(plane, 2), CVAL(ct->gcb, ct->gcr));
                                                                 ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:867:21: note: expanded from macro 'CVAL'
   #define CVAL(x, y) (FLD_VAL(x, 26, 16) | FLD_VAL(y, 10, 0))
                       ^
   drivers/gpu/drm/omapdrm/dss/dss.h:65:42: note: expanded from macro 'FLD_VAL'
   #define FLD_VAL(val, start, end) (((val) << (end)) & FLD_MASK(start, end))
                                            ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:4901:6: note: Assuming the condition is true
           if (REG_GET(dispc, DISPC_CONFIG, 2, 1) != OMAP_DSS_LOAD_FRAME_ONLY) {
               ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:51:2: note: expanded from macro 'REG_GET'
           FLD_GET(dispc_read_reg(dispc, idx), start, end)
           ^
   drivers/gpu/drm/omapdrm/dss/dss.h:66:34: note: expanded from macro 'FLD_GET'
   #define FLD_GET(val, start, end) (((val) & FLD_MASK(start, end)) >> (end))
                                    ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:4901:2: note: Taking true branch
           if (REG_GET(dispc, DISPC_CONFIG, 2, 1) != OMAP_DSS_LOAD_FRAME_ONLY) {
           ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:4902:3: note: Calling '_omap_dispc_initial_config'
                   _omap_dispc_initial_config(dispc);
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/omapdrm/dss/dispc.c:3911:2: note: Taking false branch
           if (dispc_has_feature(dispc, FEAT_CORE_CLK_DIV)) {
           ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:3922:6: note: Assuming field 'has_gamma_table' is false
           if (dispc->feat->has_gamma_table)
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/omapdrm/dss/dispc.c:3922:2: note: Taking false branch
           if (dispc->feat->has_gamma_table)
           ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:3929:6: note: Left side of '||' is false
           if (dispc_has_feature(dispc, FEAT_FUNCGATED) ||
               ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:3930:19: note: Field 'has_gamma_table' is false
               dispc->feat->has_gamma_table)
                            ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:3929:2: note: Taking false branch
           if (dispc_has_feature(dispc, FEAT_FUNCGATED) ||
           ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:3933:2: note: Calling 'dispc_setup_color_conv_coef'
           dispc_setup_color_conv_coef(dispc);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/omapdrm/dss/dispc.c:919:14: note: Assuming 'i' is < 'num_ovl'
           for (i = 1; i < num_ovl; i++)
                       ^~~~~~~~~~~
   drivers/gpu/drm/omapdrm/dss/dispc.c:919:2: note: Loop condition is true.  Entering loop body
           for (i = 1; i < num_ovl; i++)
           ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:920:3: note: Calling 'dispc_ovl_write_color_conv_coef'
                   dispc_ovl_write_color_conv_coef(dispc, i, &coefs_yuv2rgb_bt601_lim);
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/omapdrm/dss/dispc.c:871:56: note: The result of the left shift is undefined because the left operand is negative
           dispc_write_reg(dispc, DISPC_OVL_CONV_COEF(plane, 2), CVAL(ct->gcb, ct->gcr));
                                                                 ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:867:21: note: expanded from macro 'CVAL'
   #define CVAL(x, y) (FLD_VAL(x, 26, 16) | FLD_VAL(y, 10, 0))
                       ^~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/omapdrm/dss/dss.h:65:42: note: expanded from macro 'FLD_VAL'
   #define FLD_VAL(val, start, end) (((val) << (end)) & FLD_MASK(start, end))
                                      ~~~~~ ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:889:56: warning: The result of the left shift is undefined because the left operand is negative [clang-analyzer-core.UndefinedBinaryOperatorResult]
           dispc_write_reg(dispc, DISPC_OVL_CONV_COEF(plane, 2), CVAL(ct->crb, ct->crg));
                                                                 ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:885:21: note: expanded from macro 'CVAL'
   #define CVAL(x, y) (FLD_VAL(x, 26, 16) | FLD_VAL(y, 10, 0))
                       ^
   drivers/gpu/drm/omapdrm/dss/dss.h:65:42: note: expanded from macro 'FLD_VAL'
   #define FLD_VAL(val, start, end) (((val) << (end)) & FLD_MASK(start, end))
                                            ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:4901:6: note: Assuming the condition is true
           if (REG_GET(dispc, DISPC_CONFIG, 2, 1) != OMAP_DSS_LOAD_FRAME_ONLY) {
               ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:51:2: note: expanded from macro 'REG_GET'
           FLD_GET(dispc_read_reg(dispc, idx), start, end)
           ^
   drivers/gpu/drm/omapdrm/dss/dss.h:66:34: note: expanded from macro 'FLD_GET'
   #define FLD_GET(val, start, end) (((val) & FLD_MASK(start, end)) >> (end))
                                    ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:4901:2: note: Taking true branch
           if (REG_GET(dispc, DISPC_CONFIG, 2, 1) != OMAP_DSS_LOAD_FRAME_ONLY) {
           ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:4902:3: note: Calling '_omap_dispc_initial_config'
                   _omap_dispc_initial_config(dispc);
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/omapdrm/dss/dispc.c:3911:2: note: Taking false branch
           if (dispc_has_feature(dispc, FEAT_CORE_CLK_DIV)) {
           ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:3922:6: note: Assuming field 'has_gamma_table' is false
           if (dispc->feat->has_gamma_table)
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/omapdrm/dss/dispc.c:3922:2: note: Taking false branch
           if (dispc->feat->has_gamma_table)
           ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:3929:6: note: Left side of '||' is false
           if (dispc_has_feature(dispc, FEAT_FUNCGATED) ||
               ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:3930:19: note: Field 'has_gamma_table' is false
               dispc->feat->has_gamma_table)
                            ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:3929:2: note: Taking false branch
           if (dispc_has_feature(dispc, FEAT_FUNCGATED) ||
           ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:3933:2: note: Calling 'dispc_setup_color_conv_coef'
           dispc_setup_color_conv_coef(dispc);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/omapdrm/dss/dispc.c:919:14: note: Assuming 'i' is >= 'num_ovl'
           for (i = 1; i < num_ovl; i++)
                       ^~~~~~~~~~~
   drivers/gpu/drm/omapdrm/dss/dispc.c:919:2: note: Loop condition is false. Execution continues on line 922
           for (i = 1; i < num_ovl; i++)
           ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:922:6: note: Assuming field 'has_writeback' is true
           if (dispc->feat->has_writeback)
               ^~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/omapdrm/dss/dispc.c:922:2: note: Taking true branch
           if (dispc->feat->has_writeback)
           ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:923:3: note: Calling 'dispc_wb_write_color_conv_coef'
                   dispc_wb_write_color_conv_coef(dispc, &coefs_rgb2yuv_bt601_lim);
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/omapdrm/dss/dispc.c:889:56: note: The result of the left shift is undefined because the left operand is negative
           dispc_write_reg(dispc, DISPC_OVL_CONV_COEF(plane, 2), CVAL(ct->crb, ct->crg));
                                                                 ^
   drivers/gpu/drm/omapdrm/dss/dispc.c:885:21: note: expanded from macro 'CVAL'
   #define CVAL(x, y) (FLD_VAL(x, 26, 16) | FLD_VAL(y, 10, 0))
                       ^~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/omapdrm/dss/dss.h:65:42: note: expanded from macro 'FLD_VAL'
   #define FLD_VAL(val, start, end) (((val) << (end)) & FLD_MASK(start, end))
                                      ~~~~~ ^
>> drivers/gpu/drm/omapdrm/dss/dispc.c:3215:3: warning: Value stored to 'ht' is never read [clang-analyzer-deadcode.DeadStores]
                   ht = vm->pixelclock / xtot;
                   ^    ~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/omapdrm/dss/dispc.c:3215:3: note: Value stored to 'ht' is never read
                   ht = vm->pixelclock / xtot;
                   ^    ~~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/omapdrm/dss/dispc.c:3216:3: warning: Value stored to 'vt' is never read [clang-analyzer-deadcode.DeadStores]
                   vt = vm->pixelclock / xtot / ytot;
                   ^    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/omapdrm/dss/dispc.c:3216:3: note: Value stored to 'vt' is never read
                   vt = vm->pixelclock / xtot / ytot;
                   ^    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/omapdrm/dss/dispc.c:4822:2: warning: Value stored to 'rev' is never read [clang-analyzer-deadcode.DeadStores]
           rev = dispc_read_reg(dispc, DISPC_REVISION);
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/omapdrm/dss/dispc.c:4822:2: note: Value stored to 'rev' is never read
           rev = dispc_read_reg(dispc, DISPC_REVISION);
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 12 warnings (12 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   15 warnings generated.
   drivers/gpu/drm/amd/amdgpu/vcn_v2_5.c:1334:4: warning: Value stored to 'r' is never read [clang-analyzer-deadcode.DeadStores]
                           r = vcn_v2_5_stop_dpg_mode(adev, i);
                           ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/vcn_v2_5.c:1334:4: note: Value stored to 'r' is never read
                           r = vcn_v2_5_stop_dpg_mode(adev, i);
                           ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 14 warnings (14 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.
   16 warnings generated.
   drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c:353:6: warning: Branch condition evaluates to a garbage value [clang-analyzer-core.uninitialized.Branch]
           if (!r)
               ^
   drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c:431:6: note: Assuming 'r' is 0
           if (r)
               ^
   drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c:431:2: note: Taking false branch
           if (r)
           ^
   drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c:434:6: note: Calling 'vcn_v3_0_hw_init'
           r = vcn_v3_0_hw_init(adev);
               ^~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c:301:12: note: 'r' declared without an initial value
           int i, j, r;
                     ^
   drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c:303:6: note: Assuming the condition is false
           if (amdgpu_sriov_vf(adev)) {
               ^
   drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgpu_virt.h:230:2: note: expanded from macro 'amdgpu_sriov_vf'
   ((adev)->virt.caps & AMDGPU_SRIOV_CAPS_IS_VF)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c:303:2: note: Taking false branch
           if (amdgpu_sriov_vf(adev)) {
           ^
   drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c:330:15: note: Assuming 'i' is >= field 'num_vcn_inst'
                   for (i = 0; i < adev->vcn.num_vcn_inst; ++i) {
                               ^~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c:330:3: note: Loop condition is false. Execution continues on line 353
                   for (i = 0; i < adev->vcn.num_vcn_inst; ++i) {
                   ^
   drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c:353:6: note: Branch condition evaluates to a garbage value
           if (!r)
               ^~
   drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c:1544:4: warning: Value stored to 'r' is never read [clang-analyzer-deadcode.DeadStores]
                           r = vcn_v3_0_stop_dpg_mode(adev, i);
                           ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c:1544:4: note: Value stored to 'r' is never read
                           r = vcn_v3_0_stop_dpg_mode(adev, i);
                           ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 14 warnings (14 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.
   14 warnings generated.
   Suppressed 14 warnings (14 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.
   14 warnings generated.
   Suppressed 14 warnings (14 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.
   14 warnings generated.
   Suppressed 14 warnings (14 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.
   15 warnings generated.
   drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:1938:2: warning: Undefined or garbage value returned to caller [clang-analyzer-core.uninitialized.UndefReturn]
           return r;
           ^      ~
   drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:1878:6: note: 'r' declared without an initial value
           int r, i;
               ^
   drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:1882:14: note: Assuming 'i' is >= field 'num_instances'
           for (i = 0; i < adev->sdma.num_instances; i++) {
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:1882:2: note: Loop condition is false. Execution continues on line 1891
           for (i = 0; i < adev->sdma.num_instances; i++) {
           ^
   drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:1891:14: note: 'i' is >= field 'num_instances'
           for (i = 0; i < adev->sdma.num_instances; i++) {
                       ^
   drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:1891:2: note: Loop condition is false. Execution continues on line 1899
           for (i = 0; i < adev->sdma.num_instances; i++) {
           ^
   drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:1899:14: note: 'i' is >= field 'num_instances'
           for (i = 0; i < adev->sdma.num_instances; i++) {
                       ^
   drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:1899:2: note: Loop condition is false. Execution continues on line 1938
           for (i = 0; i < adev->sdma.num_instances; i++) {
           ^
   drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:1938:2: note: Undefined or garbage value returned to caller
           return r;
           ^      ~
   Suppressed 14 warnings (14 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.
--
           ^
   fs/ext4/inode.c:6073:13: note: Left side of '&&' is false
           down_read(&EXT4_I(inode)->i_mmap_sem);
                      ^
   include/trace/events/ext4.h:22:24: note: expanded from macro 'EXT4_I'
   #define EXT4_I(inode) (container_of(inode, struct ext4_inode_info, vfs_inode))
                          ^
   include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
                                                                      ^
   fs/ext4/inode.c:6073:13: note: Taking false branch
           down_read(&EXT4_I(inode)->i_mmap_sem);
                      ^
   include/trace/events/ext4.h:22:24: note: expanded from macro 'EXT4_I'
   #define EXT4_I(inode) (container_of(inode, struct ext4_inode_info, vfs_inode))
                          ^
   include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
           ^
   include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
   #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                       ^
   include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
                   if (!(condition))                                       \
                   ^
   fs/ext4/inode.c:6073:13: note: Loop condition is false.  Exiting loop
           down_read(&EXT4_I(inode)->i_mmap_sem);
                      ^
   include/trace/events/ext4.h:22:24: note: expanded from macro 'EXT4_I'
   #define EXT4_I(inode) (container_of(inode, struct ext4_inode_info, vfs_inode))
                          ^
   include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
           ^
   include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
   #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                       ^
   include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
           do {                                                            \
           ^
   fs/ext4/inode.c:6076:6: note: Assuming 'err' is 0
           if (err)
               ^~~
   fs/ext4/inode.c:6076:2: note: Taking false branch
           if (err)
           ^
   fs/ext4/inode.c:6085:6: note: Assuming the condition is true
           if (ext4_should_journal_data(inode))
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/ext4/inode.c:6085:2: note: Taking true branch
           if (ext4_should_journal_data(inode))
           ^
   fs/ext4/inode.c:6086:3: note: Control jumps to line 6136
                   goto retry_alloc;
                   ^
   fs/ext4/inode.c:6138:6: note: Calling 'IS_ERR'
           if (IS_ERR(handle)) {
               ^~~~~~~~~~~~~~
   include/linux/err.h:36:9: note: Assuming the condition is false
           return IS_ERR_VALUE((unsigned long)ptr);
                  ^
   include/linux/err.h:22:34: note: expanded from macro 'IS_ERR_VALUE'
   #define IS_ERR_VALUE(x) unlikely((unsigned long)(void *)(x) >= (unsigned long)-MAX_ERRNO)
                           ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/compiler.h:78:42: note: expanded from macro 'unlikely'
   # define unlikely(x)    __builtin_expect(!!(x), 0)
                                               ^
   include/linux/err.h:36:2: note: Returning zero, which participates in a condition later
           return IS_ERR_VALUE((unsigned long)ptr);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/ext4/inode.c:6138:6: note: Returning from 'IS_ERR'
           if (IS_ERR(handle)) {
               ^~~~~~~~~~~~~~
   fs/ext4/inode.c:6138:2: note: Taking false branch
           if (IS_ERR(handle)) {
           ^
   fs/ext4/inode.c:6147:6: note: Assuming the condition is true
           if (!ext4_should_journal_data(inode)) {
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/ext4/inode.c:6147:2: note: Taking true branch
           if (!ext4_should_journal_data(inode)) {
           ^
   fs/ext4/inode.c:6148:9: note: 3rd function call argument is an uninitialized value
                   err = block_page_mkwrite(vma, vmf, get_block);
                         ^                            ~~~~~~~~~
   Suppressed 15 warnings (15 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/mfd/menelaus.c:453:21: warning: Value stored to 'c' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct i2c_client *c = the_menelaus->client;
                              ^   ~~~~~~~~~~~~~~~~~~~~
   drivers/mfd/menelaus.c:453:21: note: Value stored to 'c' during its initialization is never read
           struct i2c_client *c = the_menelaus->client;
                              ^   ~~~~~~~~~~~~~~~~~~~~
   drivers/mfd/menelaus.c:525:21: warning: Value stored to 'c' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct i2c_client *c = the_menelaus->client;
                              ^   ~~~~~~~~~~~~~~~~~~~~
   drivers/mfd/menelaus.c:525:21: note: Value stored to 'c' during its initialization is never read
           struct i2c_client *c = the_menelaus->client;
                              ^   ~~~~~~~~~~~~~~~~~~~~
   drivers/mfd/menelaus.c:734:21: warning: Value stored to 'c' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct i2c_client *c = the_menelaus->client;
                              ^   ~~~~~~~~~~~~~~~~~~~~
   drivers/mfd/menelaus.c:734:21: note: Value stored to 'c' during its initialization is never read
           struct i2c_client *c = the_menelaus->client;
                              ^   ~~~~~~~~~~~~~~~~~~~~
   16 warnings generated.
   drivers/mfd/twl-core.c:574:15: warning: The left operand of '&' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
           switch (ctrl & 0x3) {
                   ~~~~ ^
   drivers/mfd/twl-core.c:569:2: note: 'ctrl' declared without an initial value
           u8 ctrl;
           ^~~~~~~
   drivers/mfd/twl-core.c:572:2: note: Calling 'twl_i2c_read_u8'
           twl_i2c_read_u8(TWL_MODULE_PM_MASTER, &ctrl, R_CFG_BOOT);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/mfd/twl.h:180:9: note: Calling 'twl_i2c_read'
           return twl_i2c_read(mod_no, val, reg, 1);
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/mfd/twl-core.c:473:7: note: 'regmap' is null
           if (!regmap)
                ^~~~~~
   drivers/mfd/twl-core.c:473:2: note: Taking true branch
           if (!regmap)
           ^
   drivers/mfd/twl-core.c:474:3: note: Returning without writing to '*value'
                   return -EPERM;
                   ^
   include/linux/mfd/twl.h:180:9: note: Returning from 'twl_i2c_read'
           return twl_i2c_read(mod_no, val, reg, 1);
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/mfd/twl.h:180:2: note: Returning without writing to '*val'
           return twl_i2c_read(mod_no, val, reg, 1);
           ^
   drivers/mfd/twl-core.c:572:2: note: Returning from 'twl_i2c_read_u8'
           twl_i2c_read_u8(TWL_MODULE_PM_MASTER, &ctrl, R_CFG_BOOT);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/mfd/twl-core.c:574:15: note: The left operand of '&' is a garbage value
           switch (ctrl & 0x3) {
                   ~~~~ ^
   drivers/mfd/twl-core.c:1205:8: warning: The left expression of the compound assignment is an uninitialized value. The computed value will also be garbage [clang-analyzer-core.uninitialized.Assign]
                   temp &= ~(SR_I2C_SDA_CTRL_PU | SR_I2C_SCL_CTRL_PU | \
                   ~~~~ ^
   drivers/mfd/twl-core.c:1078:6: note: Assuming 'node' is non-null
           if (!node && !pdata) {
               ^~~~~
   drivers/mfd/twl-core.c:1078:12: note: Left side of '&&' is false
           if (!node && !pdata) {
                     ^
   drivers/mfd/twl-core.c:1083:6: note: Assuming 'twl_priv' is null
           if (twl_priv) {
               ^~~~~~~~
   drivers/mfd/twl-core.c:1083:2: note: Taking false branch
           if (twl_priv) {
           ^
   drivers/mfd/twl-core.c:1090:6: note: Assuming 'pdev' is non-null
           if (!pdev) {
               ^~~~~
   drivers/mfd/twl-core.c:1090:2: note: Taking false branch
           if (!pdev) {
           ^
   drivers/mfd/twl-core.c:1096:6: note: Assuming 'status' is 0
           if (status) {
               ^~~~~~
   drivers/mfd/twl-core.c:1096:2: note: Taking false branch
           if (status) {
           ^
   drivers/mfd/twl-core.c:1101:2: note: Taking false branch
           if (i2c_check_functionality(client->adapter, I2C_FUNC_I2C) == 0) {
           ^
   drivers/mfd/twl-core.c:1109:6: note: Assuming 'twl_priv' is non-null
           if (!twl_priv) {
               ^~~~~~~~~
   drivers/mfd/twl-core.c:1109:2: note: Taking false branch
           if (!twl_priv) {
           ^
   drivers/mfd/twl-core.c:1114:6: note: Assuming the condition is true
           if ((id->driver_data) & TWL6030_CLASS) {
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/mfd/twl-core.c:1114:2: note: Taking true branch
           if ((id->driver_data) & TWL6030_CLASS) {
           ^
   drivers/mfd/twl-core.c:1118:7: note: Assuming the condition is false
                   if ((id->driver_data) & TWL6032_SUBCLASS)
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/mfd/twl-core.c:1118:3: note: Taking false branch
                   if ((id->driver_data) & TWL6032_SUBCLASS)
                   ^
   drivers/mfd/twl-core.c:1129:26: note: Calling 'devm_kcalloc'
--
                       ^~~~~
   drivers/gpu/drm/msm/msm_gpu.c:612:2: note: Loop condition is true.  Entering loop body
           for (i = 0; i < n; i++)
           ^
   drivers/gpu/drm/msm/msm_gpu.c:612:21: note: The value 1 is assigned to 'i'
           for (i = 0; i < n; i++)
                              ^~~
   drivers/gpu/drm/msm/msm_gpu.c:612:14: note: 'i' is < 'n'
           for (i = 0; i < n; i++)
                       ^
   drivers/gpu/drm/msm/msm_gpu.c:612:2: note: Loop condition is true.  Entering loop body
           for (i = 0; i < n; i++)
           ^
   drivers/gpu/drm/msm/msm_gpu.c:613:31: note: The left operand of '-' is a garbage value
                   cntrs[i] = current_cntrs[i] - gpu->last_cntrs[i];
                              ~~~~~~~~~~~~~~~~ ^
   Suppressed 14 warnings (14 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.
   Suppressed 12 warnings (12 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.
   13 warnings generated.
   drivers/watchdog/pcwd_pci.c:169:2: warning: 1st function call argument is an uninitialized value [clang-analyzer-core.CallAndMessage]
           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
                  ^
   drivers/watchdog/pcwd_pci.c:688:6: note: Assuming 'cards_found' is not equal to 1
           if (cards_found == 1)
               ^~~~~~~~~~~~~~~~
   drivers/watchdog/pcwd_pci.c:688:2: note: Taking false branch
           if (cards_found == 1)
           ^
   drivers/watchdog/pcwd_pci.c:691:6: note: Assuming 'cards_found' is <= 1
           if (cards_found > 1) {
               ^~~~~~~~~~~~~~~
   drivers/watchdog/pcwd_pci.c:691:2: note: Taking false branch
           if (cards_found > 1) {
           ^
   drivers/watchdog/pcwd_pci.c:696:6: note: Assuming the condition is false
           if (pci_enable_device(pdev)) {
               ^~~~~~~~~~~~~~~~~~~~~~~
   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 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   Suppressed 12 warnings (12 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.
   14 warnings generated.
>> drivers/gpu/drm/omapdrm/dss/venc.c:697:2: warning: Value stored to 'rev_id' is never read [clang-analyzer-deadcode.DeadStores]
           rev_id = (u8)(venc_read_reg(venc, VENC_REV_ID) & 0xff);
           ^        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/omapdrm/dss/venc.c:697:2: note: Value stored to 'rev_id' is never read
           rev_id = (u8)(venc_read_reg(venc, VENC_REV_ID) & 0xff);
           ^        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   Suppressed 12 warnings (12 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   drivers/rtc/rtc-sc27xx.c:373:8: warning: The result of the left shift is undefined because the left operand is negative [clang-analyzer-core.UndefinedBinaryOperatorResult]
                                      SPRD_RTC_POWER_STS_VALID);
                                      ^
   drivers/rtc/rtc-sc27xx.c:97:31: note: expanded from macro 'SPRD_RTC_POWER_STS_VALID'
           (~SPRD_RTC_POWER_RESET_VALUE << SPRD_RTC_POWER_STS_SHIFT)
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
   drivers/rtc/rtc-sc27xx.c:358:6: note: Assuming 'ret' is 0
           if (ret)
               ^~~
   drivers/rtc/rtc-sc27xx.c:358:2: note: Taking false branch
           if (ret)
           ^
   drivers/rtc/rtc-sc27xx.c:361:6: note: Assuming field 'valid' is false
           if (!rtc->valid) {
               ^~~~~~~~~~~
   drivers/rtc/rtc-sc27xx.c:361:2: note: Taking true branch
           if (!rtc->valid) {
           ^
   drivers/rtc/rtc-sc27xx.c:365:7: note: Assuming 'ret' is 0
                   if (ret)
                       ^~~
   drivers/rtc/rtc-sc27xx.c:365:3: note: Taking false branch
                   if (ret)
                   ^
   drivers/rtc/rtc-sc27xx.c:373:8: note: The result of the left shift is undefined because the left operand is negative
                                      SPRD_RTC_POWER_STS_VALID);
                                      ^
   drivers/rtc/rtc-sc27xx.c:97:31: note: expanded from macro 'SPRD_RTC_POWER_STS_VALID'
           (~SPRD_RTC_POWER_RESET_VALUE << SPRD_RTC_POWER_STS_SHIFT)
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
   1 warning generated.
   drivers/hid/hid-steam.c:246:15: warning: The left operand of '!=' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
           if (reply[0] != 0xae || reply[1] != 0x15 || reply[2] != 0x01)
                        ^
   drivers/hid/hid-steam.c:564:31: note: Left side of '&&' is false
           struct steam_device *steam = container_of(work, struct steam_device,
                                        ^
   include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
                                                                      ^
   drivers/hid/hid-steam.c:564:31: note: Taking false branch
           struct steam_device *steam = container_of(work, struct steam_device,
                                        ^
   include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
           ^
   include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
   #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                       ^
   include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
                   if (!(condition))                                       \
                   ^
   drivers/hid/hid-steam.c:564:31: note: Loop condition is false.  Exiting loop
           struct steam_device *steam = container_of(work, struct steam_device,
                                        ^
   include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
           ^
   include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
--
   drivers/iio/imu/inv_icm42600/inv_icm42600_timestamp.c:130:6: note: Assuming field 'lo' is not equal to 0
           if (it->lo != 0) {
               ^~~~~~~~~~~
   drivers/iio/imu/inv_icm42600/inv_icm42600_timestamp.c:130:2: note: Taking true branch
           if (it->lo != 0) {
           ^
   drivers/iio/imu/inv_icm42600/inv_icm42600_timestamp.c:133:11: note: Calling 'inv_compute_chip_period'
                   valid = inv_compute_chip_period(ts, fifo_mult, period);
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/iio/imu/inv_icm42600/inv_icm42600_timestamp.c:101:2: note: Taking false branch
           if (!inv_validate_period(period, mult))
           ^
   drivers/iio/imu/inv_icm42600/inv_icm42600_timestamp.c:106:2: note: Calling 'inv_update_acc'
           inv_update_acc(&ts->chip_period, new_chip_period);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/iio/imu/inv_icm42600/inv_icm42600_timestamp.c:30:6: note: Assuming the condition is false
           if (acc->idx >= ARRAY_SIZE(acc->values))
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/iio/imu/inv_icm42600/inv_icm42600_timestamp.c:30:2: note: Taking false branch
           if (acc->idx >= ARRAY_SIZE(acc->values))
           ^
   drivers/iio/imu/inv_icm42600/inv_icm42600_timestamp.c:34:7: note: The value 0 is assigned to 'i'
           for (i = 0; i < ARRAY_SIZE(acc->values); ++i) {
                ^~~~~
   drivers/iio/imu/inv_icm42600/inv_icm42600_timestamp.c:34:2: note: Loop condition is true.  Entering loop body
           for (i = 0; i < ARRAY_SIZE(acc->values); ++i) {
           ^
   drivers/iio/imu/inv_icm42600/inv_icm42600_timestamp.c:35:7: note: Assuming the condition is true
                   if (acc->values[i] == 0)
                       ^~~~~~~~~~~~~~~~~~~
   drivers/iio/imu/inv_icm42600/inv_icm42600_timestamp.c:35:3: note: Taking true branch
                   if (acc->values[i] == 0)
                   ^
   drivers/iio/imu/inv_icm42600/inv_icm42600_timestamp.c:36:4: note:  Execution continues on line 40
                           break;
                           ^
   drivers/iio/imu/inv_icm42600/inv_icm42600_timestamp.c:40:26: note: Passing the value 0 via 2nd parameter 'divisor'
           acc->val = div_u64(sum, i);
                                   ^
   drivers/iio/imu/inv_icm42600/inv_icm42600_timestamp.c:40:13: note: Calling 'div_u64'
           acc->val = div_u64(sum, i);
                      ^~~~~~~~~~~~~~~
   include/linux/math64.h:127:31: note: Passing the value 0 via 2nd parameter 'divisor'
           return div_u64_rem(dividend, divisor, &remainder);
                                        ^~~~~~~
   include/linux/math64.h:127:9: note: Calling 'div_u64_rem'
           return div_u64_rem(dividend, divisor, &remainder);
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/math64.h:91:15: note: '__base' initialized to 0
           *remainder = do_div(dividend, divisor);
                        ^
   include/asm-generic/div64.h:224:2: note: expanded from macro 'do_div'
           uint32_t __base = (base);                       \
           ^~~~~~~~~~~~~~~
   include/linux/math64.h:91:15: note: Left side of '&&' is false
           *remainder = do_div(dividend, divisor);
                        ^
   include/asm-generic/div64.h:227:35: note: expanded from macro 'do_div'
           if (__builtin_constant_p(__base) &&             \
                                            ^
   include/linux/math64.h:91:15: note: 4 is >= 4
           *remainder = do_div(dividend, divisor);
                        ^
   include/asm-generic/div64.h:231:13: note: expanded from macro 'do_div'
           } else if (__div64_const32_is_OK &&             \
                      ^~~~~~~~~~~~~~~~~~~~~
   arch/arm/include/asm/div64.h:64:32: note: expanded from macro '__div64_const32_is_OK'
   #define __div64_const32_is_OK (__GNUC__ >= 4)
                                  ^~~~~~~~
   note: expanded from here
   include/linux/math64.h:91:15: note: Left side of '&&' is true
           *remainder = do_div(dividend, divisor);
                        ^
   include/asm-generic/div64.h:231:13: note: expanded from macro 'do_div'
           } else if (__div64_const32_is_OK &&             \
                      ^
   arch/arm/include/asm/div64.h:64:31: note: expanded from macro '__div64_const32_is_OK'
   #define __div64_const32_is_OK (__GNUC__ >= 4)
                                 ^
   include/linux/math64.h:91:15: note: Left side of '&&' is false
           *remainder = do_div(dividend, divisor);
                        ^
   include/asm-generic/div64.h:232:35: note: expanded from macro 'do_div'
                      __builtin_constant_p(__base) &&      \
                                                   ^
   include/linux/math64.h:91:15: note: Taking true branch
           *remainder = do_div(dividend, divisor);
                        ^
   include/asm-generic/div64.h:239:9: note: expanded from macro 'do_div'
           } else if (likely(((n) >> 32) == 0)) {          \
                  ^
   include/linux/math64.h:91:15: note: Division by zero
           *remainder = do_div(dividend, divisor);
                        ^
   include/asm-generic/div64.h:240:25: note: expanded from macro 'do_div'
                   __rem = (uint32_t)(n) % __base;         \
                           ~~~~~~~~~~~~~~^~~~~~~~
   Suppressed 14 warnings (14 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.
   14 warnings generated.
>> drivers/hsi/clients/ssi_protocol.c:458:21: warning: Value stored to 'cl' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct hsi_client *cl = ssi->cl;
                              ^~   ~~~~~~~
   drivers/hsi/clients/ssi_protocol.c:458:21: note: Value stored to 'cl' during its initialization is never read
           struct hsi_client *cl = ssi->cl;
                              ^~   ~~~~~~~
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (12 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.
   12 warnings generated.
   Suppressed 12 warnings (12 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   14 warnings generated.
   drivers/net/hamradio/baycom_ser_fdx.c:521:4: warning: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
                           strcat(hi->data.modename, (!bc->opt_dcd) ? "*" : "+");
                           ^~~~~~
   drivers/net/hamradio/baycom_ser_fdx.c:521:4: note: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119
                           strcat(hi->data.modename, (!bc->opt_dcd) ? "*" : "+");
                           ^~~~~~
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   Suppressed 12 warnings (12 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/w1/masters/ds1wm.c:567:2: warning: Value stored to 'inten' is never read [clang-analyzer-deadcode.DeadStores]
           inten = ds1wm_read_register(ds1wm_data, DS1WM_INT_EN);
           ^       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/w1/masters/ds1wm.c:567:2: note: Value stored to 'inten' is never read
           inten = ds1wm_read_register(ds1wm_data, DS1WM_INT_EN);
           ^       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 1 warnings (1 with check filters).
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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).
   15 warnings generated.
   drivers/iio/proximity/sx9310.c:630:17: warning: The left operand of '>>' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
           *val = pthresh >> (5 - regval);
                          ^
   drivers/iio/proximity/sx9310.c:679:6: note: Assuming field 'type' is equal to IIO_PROXIMITY
           if (chan->type != IIO_PROXIMITY)
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/iio/proximity/sx9310.c:679:2: note: Taking false branch
           if (chan->type != IIO_PROXIMITY)
           ^
   drivers/iio/proximity/sx9310.c:682:2: note: Control jumps to 'case IIO_EV_INFO_HYSTERESIS:'  at line 694
           switch (info) {
           ^
   drivers/iio/proximity/sx9310.c:695:10: note: Calling 'sx9310_read_hysteresis'
                   return sx9310_read_hysteresis(data, chan, val);
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/iio/proximity/sx9310.c:614:23: note: 'pthresh' declared without an initial value
           unsigned int regval, pthresh;
                                ^~~~~~~
   drivers/iio/proximity/sx9310.c:617:8: note: Calling 'sx9310_read_thresh'
           ret = sx9310_read_thresh(data, chan, &pthresh);
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/iio/proximity/sx9310.c:596:6: note: 'ret' is >= 0
           if (ret < 0)
               ^~~
   drivers/iio/proximity/sx9310.c:596:2: note: Taking false branch
           if (ret < 0)
           ^
   drivers/iio/proximity/sx9310.c:600:6: note: Assuming 'ret' is not equal to 0
           if (ret)
               ^~~
   drivers/iio/proximity/sx9310.c:600:2: note: Taking true branch
           if (ret)
           ^
   drivers/iio/proximity/sx9310.c:617:8: note: Returning from 'sx9310_read_thresh'
           ret = sx9310_read_thresh(data, chan, &pthresh);
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/iio/proximity/sx9310.c:618:6: note: Assuming 'ret' is >= 0
--
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
                   if (!(condition))                                       \
                   ^
   net/netrom/nr_route.c:971:2: note: Loop condition is false.  Exiting loop
           nr_neigh_for_each_safe(s, nodet, &nr_neigh_list) {
           ^
   include/net/netrom.h:164:2: note: expanded from macro 'nr_neigh_for_each_safe'
           hlist_for_each_entry_safe(__nr_neigh, node2, list, neigh_node)
           ^
   include/linux/list.h:1024:13: note: expanded from macro 'hlist_for_each_entry_safe'
           for (pos = hlist_entry_safe((head)->first, typeof(*pos), member);\
                      ^
   include/linux/list.h:983:15: note: expanded from macro 'hlist_entry_safe'
              ____ptr ? hlist_entry(____ptr, type, member) : NULL; \
                        ^
   note: (skipping 3 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
           do {                                                            \
           ^
   net/netrom/nr_route.c:971:25: note: 's' is non-null
           nr_neigh_for_each_safe(s, nodet, &nr_neigh_list) {
                                  ^
   include/net/netrom.h:164:28: note: expanded from macro 'nr_neigh_for_each_safe'
           hlist_for_each_entry_safe(__nr_neigh, node2, list, neigh_node)
                                     ^~~~~~~~~~
   include/linux/list.h:1025:7: note: expanded from macro 'hlist_for_each_entry_safe'
                pos && ({ n = pos->member.next; 1; });                     \
                ^~~
   net/netrom/nr_route.c:971:25: note: Left side of '&&' is true
           nr_neigh_for_each_safe(s, nodet, &nr_neigh_list) {
                                  ^
   net/netrom/nr_route.c:971:2: note: Loop condition is true.  Entering loop body
           nr_neigh_for_each_safe(s, nodet, &nr_neigh_list) {
           ^
   include/net/netrom.h:164:2: note: expanded from macro 'nr_neigh_for_each_safe'
           hlist_for_each_entry_safe(__nr_neigh, node2, list, neigh_node)
           ^
   include/linux/list.h:1024:2: note: expanded from macro 'hlist_for_each_entry_safe'
           for (pos = hlist_entry_safe((head)->first, typeof(*pos), member);\
           ^
   net/netrom/nr_route.c:972:3: note: Loop condition is true.  Entering loop body
                   while(s->count) {
                   ^
   net/netrom/nr_route.c:974:4: note: Calling 'nr_neigh_put'
                           nr_neigh_put(s);
                           ^~~~~~~~~~~~~~~
   include/net/netrom.h:138:2: note: Taking true branch
           if (refcount_dec_and_test(&nr_neigh->refcount)) {
           ^
   include/net/netrom.h:139:7: note: Assuming field 'ax25' is null
                   if (nr_neigh->ax25)
                       ^~~~~~~~~~~~~~
   include/net/netrom.h:139:3: note: Taking false branch
                   if (nr_neigh->ax25)
                   ^
   include/net/netrom.h:142:3: note: Memory is released
                   kfree(nr_neigh);
                   ^~~~~~~~~~~~~~~
   net/netrom/nr_route.c:974:4: note: Returning; memory was released via 1st parameter
                           nr_neigh_put(s);
                           ^~~~~~~~~~~~~~~
   net/netrom/nr_route.c:972:9: note: Use of memory after it is freed
                   while(s->count) {
                         ^~~~~~~~
   Suppressed 13 warnings (13 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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/mtd/devices/phram.c:230:2: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
           strcpy(str, val);
           ^~~~~~
   drivers/mtd/devices/phram.c:230:2: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
           strcpy(str, val);
           ^~~~~~
   drivers/mtd/devices/phram.c:310:2: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
           strcpy(phram_paramline, val);
           ^~~~~~
   drivers/mtd/devices/phram.c:310:2: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
           strcpy(phram_paramline, val);
           ^~~~~~
   12 warnings generated.
   Suppressed 12 warnings (12 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.
   15 warnings generated.
>> drivers/mtd/devices/st_spi_fsm.c:275:8: warning: Excessive padding in 'struct seq_rw_config' (6 padding bytes, where 2 is optimal). 
   Optimal fields order: 
   flags, 
   write, 
   cmd, 
   addr_pads, 
   data_pads, 
   mode_data, 
   mode_cycles, 
   dummy_cycles, 
   consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding]
   struct seq_rw_config {
   ~~~~~~~^~~~~~~~~~~~~~~
   drivers/mtd/devices/st_spi_fsm.c:275:8: note: Excessive padding in 'struct seq_rw_config' (6 padding bytes, where 2 is optimal). Optimal fields order: flags, write, cmd, addr_pads, data_pads, mode_data, mode_cycles, dummy_cycles, consider reordering the fields or adding explicit padding members
   struct seq_rw_config {
   ~~~~~~~^~~~~~~~~~~~~~~
>> drivers/mtd/devices/st_spi_fsm.c:287:8: warning: Excessive padding in 'struct flash_info' (4 padding bytes, where 0 is optimal). 
   Optimal fields order: 
   name, 
   jedec_id, 
   sector_size, 
   flags, 
   max_freq, 
   config, 
   ext_id, 
   n_sectors, 
   consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding]
   struct flash_info {
   ~~~~~~~^~~~~~~~~~~~
   drivers/mtd/devices/st_spi_fsm.c:287:8: note: Excessive padding in 'struct flash_info' (4 padding bytes, where 0 is optimal). Optimal fields order: name, jedec_id, sector_size, flags, max_freq, config, ext_id, n_sectors, consider reordering the fields or adding explicit padding members
   struct flash_info {
   ~~~~~~~^~~~~~~~~~~~
>> drivers/mtd/devices/st_spi_fsm.c:1427:3: warning: Value stored to 'offs' is never read [clang-analyzer-deadcode.DeadStores]
                   offs = 0;
                   ^      ~
   drivers/mtd/devices/st_spi_fsm.c:1427:3: note: Value stored to 'offs' is never read
                   offs = 0;
                   ^      ~
   Suppressed 12 warnings (12 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.
   include/linux/mtd/mtd.h:470:19: warning: The left operand of '==' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
           return ops->mode == MTD_OPS_AUTO_OOB ? mtd->oobavail : mtd->oobsize;
                            ^
   drivers/mtd/nand/onenand/onenand_base.c:3187:28: note: Assuming the condition is false
           u_char *buf = FLEXONENAND(this) ? this->page_buf : this->oob_buf;
                                     ^
   include/linux/mtd/onenand.h:161:3: note: expanded from macro 'FLEXONENAND'
           (this->device_id & DEVICE_IS_FLEXONENAND)
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/mtd/nand/onenand/onenand_base.c:3187:16: note: '?' condition is false
           u_char *buf = FLEXONENAND(this) ? this->page_buf : this->oob_buf;
                         ^
   include/linux/mtd/onenand.h:161:2: note: expanded from macro 'FLEXONENAND'
           (this->device_id & DEVICE_IS_FLEXONENAND)
           ^
   drivers/mtd/nand/onenand/onenand_base.c:3192:20: note: '?' condition is false
           memset(buf, 0xff, FLEXONENAND(this) ? this->writesize
                             ^
   include/linux/mtd/onenand.h:161:2: note: expanded from macro 'FLEXONENAND'
           (this->device_id & DEVICE_IS_FLEXONENAND)
           ^
   drivers/mtd/nand/onenand/onenand_base.c:3202:8: note: '?' condition is false
           len = FLEXONENAND(this) ? mtd->writesize : 16;
                 ^
   include/linux/mtd/onenand.h:161:2: note: expanded from macro 'FLEXONENAND'
           (this->device_id & DEVICE_IS_FLEXONENAND)
           ^
   drivers/mtd/nand/onenand/onenand_base.c:3210:2: note: Taking false branch
           if (FLEXONENAND(this))
           ^
   drivers/mtd/nand/onenand/onenand_base.c:3214:6: note: Assuming 'otp' is equal to 1
           if (otp == 1)
               ^~~~~~~~
   drivers/mtd/nand/onenand/onenand_base.c:3214:2: note: Taking true branch
           if (otp == 1)
           ^
   drivers/mtd/nand/onenand/onenand_base.c:3223:8: note: Calling 'onenand_otp_walk'
           ret = onenand_otp_walk(mtd, from, len, &retlen, buf, do_otp_lock, MTD_OTP_USER);
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/mtd/nand/onenand/onenand_base.c:3038:6: note: Assuming 'density' is >= ONENAND_DEVICE_DENSITY_512Mb
           if (density < ONENAND_DEVICE_DENSITY_512Mb)
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/mtd/nand/onenand/onenand_base.c:3038:2: note: Taking false branch
           if (density < ONENAND_DEVICE_DENSITY_512Mb)
           ^
   drivers/mtd/nand/onenand/onenand_base.c:3043:6: note: 'mode' is not equal to MTD_OTP_FACTORY
           if (mode == MTD_OTP_FACTORY) {
               ^~~~
   drivers/mtd/nand/onenand/onenand_base.c:3043:2: note: Taking false branch
           if (mode == MTD_OTP_FACTORY) {
           ^
   drivers/mtd/nand/onenand/onenand_base.c:3049:6: note: 'mode' is equal to MTD_OTP_USER
           if (mode == MTD_OTP_USER) {
               ^~~~
   drivers/mtd/nand/onenand/onenand_base.c:3049:2: note: Taking true branch
           if (mode == MTD_OTP_USER) {
           ^
   drivers/mtd/nand/onenand/onenand_base.c:3050:7: note: Assuming the condition is false
                   if (mtd->writesize * otp_pages < from + len)
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/mtd/nand/onenand/onenand_base.c:3050:3: note: Taking false branch
                   if (mtd->writesize * otp_pages < from + len)
                   ^
   drivers/mtd/nand/onenand/onenand_base.c:3058:9: note: 'len' is > 0
           while (len > 0 && otp_pages > 0) {
                  ^~~
   drivers/mtd/nand/onenand/onenand_base.c:3058:9: note: Left side of '&&' is true
   drivers/mtd/nand/onenand/onenand_base.c:3058:2: note: Loop condition is true.  Entering loop body
           while (len > 0 && otp_pages > 0) {
           ^
   drivers/mtd/nand/onenand/onenand_base.c:3059:8: note: 'action' is non-null
                   if (!action) {  /* OTP Info functions */
                        ^~~~~~
   drivers/mtd/nand/onenand/onenand_base.c:3059:3: note: Taking false branch
                   if (!action) {  /* OTP Info functions */
                   ^
   drivers/mtd/nand/onenand/onenand_base.c:3079:10: note: Calling 'do_otp_lock'
                           ret = action(mtd, from, len, &tmp_retlen, buf);
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/mtd/nand/onenand/onenand_base.c:2983:18: note: Assuming the condition is true
           if (FLEXONENAND(this)) {
                           ^
   include/linux/mtd/onenand.h:161:3: note: expanded from macro 'FLEXONENAND'
           (this->device_id & DEVICE_IS_FLEXONENAND)
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/mtd/nand/onenand/onenand_base.c:2983:2: note: Taking true branch
           if (FLEXONENAND(this)) {
           ^
   drivers/mtd/nand/onenand/onenand_base.c:2996:9: note: Calling 'onenand_write_ops_nolock'
                   ret = onenand_write_ops_nolock(mtd, mtd->writesize * 49, &ops);
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/mtd/nand/onenand/onenand_base.c:1799:2: note: Taking false branch
--
           if (ssb_extif_available(&bus->extif))
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/ssb/main.c:946:2: note: Taking false branch
           if (ssb_extif_available(&bus->extif))
           ^
   drivers/ssb/main.c:949:11: note: Assuming field 'dev' is non-null
           else if (bus->chipco.dev)
                    ^~~~~~~~~~~~~~~
   drivers/ssb/main.c:949:7: note: Taking true branch
           else if (bus->chipco.dev)
                ^
   drivers/ssb/main.c:955:6: note: Assuming field 'chip_id' is not equal to 21349
           if (bus->chip_id == 0x5365) {
               ^~~~~~~~~~~~~~~~~~~~~~
   drivers/ssb/main.c:955:2: note: Taking false branch
           if (bus->chip_id == 0x5365) {
           ^
   drivers/ssb/main.c:958:10: note: Calling 'ssb_calc_clock_rate'
                   rate = ssb_calc_clock_rate(plltype, clkctl_n, clkctl_m);
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/ssb/main.c:849:2: note: Control jumps to 'case 65536:'  at line 854
           switch (plltype) {
           ^
   drivers/ssb/main.c:860:3: note:  Execution continues on line 873
                   break;
                   ^
   drivers/ssb/main.c:873:2: note: Control jumps to the 'default' case at line 878
           switch (plltype) {
           ^
   drivers/ssb/main.c:881:6: note: Assuming 'clock' is not equal to 0
           if (!clock)
               ^~~~~~
   drivers/ssb/main.c:881:2: note: Taking false branch
           if (!clock)
           ^
   drivers/ssb/main.c:889:2: note: Control jumps to 'case 65536:'  at line 890
           switch (plltype) {
           ^
   drivers/ssb/main.c:894:8: note: Calling 'clkfactor_f6_resolve'
                   m1 = clkfactor_f6_resolve(m1);
                        ^~~~~~~~~~~~~~~~~~~~~~~~
   drivers/ssb/main.c:824:2: note: 'Default' branch taken. Execution continues on line 838
           switch (v) {
           ^
   drivers/ssb/main.c:838:2: note: Returning zero
           return 0;
           ^~~~~~~~
   drivers/ssb/main.c:894:8: note: Returning from 'clkfactor_f6_resolve'
                   m1 = clkfactor_f6_resolve(m1);
                        ^~~~~~~~~~~~~~~~~~~~~~~~
   drivers/ssb/main.c:894:3: note: The value 0 is assigned to 'm1'
                   m1 = clkfactor_f6_resolve(m1);
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/ssb/main.c:895:8: note: 'plltype' is equal to SSB_PLLTYPE_1
                   if ((plltype == SSB_PLLTYPE_1) ||
                        ^~~~~~~
   drivers/ssb/main.c:895:34: note: Left side of '||' is true
                   if ((plltype == SSB_PLLTYPE_1) ||
                                                  ^
   drivers/ssb/main.c:900:8: note: Calling 'clkfactor_f6_resolve'
                   m3 = clkfactor_f6_resolve(m3);
                        ^~~~~~~~~~~~~~~~~~~~~~~~
   drivers/ssb/main.c:824:2: note: 'Default' branch taken. Execution continues on line 838
           switch (v) {
           ^
   drivers/ssb/main.c:838:2: note: Returning zero
           return 0;
           ^~~~~~~~
   drivers/ssb/main.c:900:8: note: Returning from 'clkfactor_f6_resolve'
                   m3 = clkfactor_f6_resolve(m3);
                        ^~~~~~~~~~~~~~~~~~~~~~~~
   drivers/ssb/main.c:900:3: note: The value 0 is assigned to 'm3'
                   m3 = clkfactor_f6_resolve(m3);
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/ssb/main.c:902:3: note: Control jumps to 'case 17:'  at line 911
                   switch (mc) {
                   ^
   drivers/ssb/main.c:912:18: note: Division by zero
                           return (clock / (m1 * m3));
                                   ~~~~~~^~~~~~~~~~~
   drivers/ssb/main.c:1306:3: warning: Value stored to 'err' is never read [clang-analyzer-deadcode.DeadStores]
                   err = 0;
                   ^     ~
   drivers/ssb/main.c:1306:3: note: Value stored to 'err' is never read
                   err = 0;
                   ^     ~
   drivers/ssb/main.c:1312:3: warning: Value stored to 'err' is never read [clang-analyzer-deadcode.DeadStores]
                   err = 0;
                   ^     ~
   drivers/ssb/main.c:1312:3: note: Value stored to 'err' is never read
                   err = 0;
                   ^     ~
   Suppressed 12 warnings (12 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).
   13 warnings generated.
   Suppressed 13 warnings (13 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.
>> drivers/nvmem/sunxi_sid.c:107:2: warning: Null pointer passed as 1st argument to memory copy function [clang-analyzer-unix.cstring.NullArg]
           memcpy(val, &word, bytes);
           ^      ~~~
   drivers/nvmem/sunxi_sid.c:89:9: note: Assuming 'bytes' is >= 4
           while (bytes >= 4) {
                  ^~~~~~~~~~
   drivers/nvmem/sunxi_sid.c:89:2: note: Loop condition is true.  Entering loop body
           while (bytes >= 4) {
           ^
   drivers/nvmem/sunxi_sid.c:90:9: note: Calling 'sun8i_sid_register_readout'
                   ret = sun8i_sid_register_readout(sid, offset, val);
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/nvmem/sunxi_sid.c:61:2: note: Loop condition is false.  Exiting loop
           writel(reg_val, sid->base + SUN8I_SID_PRCTL);
           ^
   arch/arm/include/asm/io.h:307:25: note: expanded from macro 'writel'
   #define writel(v,c)             ({ __iowmb(); writel_relaxed(v,c); })
                                      ^
   arch/arm/include/asm/io.h:166:20: note: expanded from macro '__iowmb'
   #define __iowmb()               wmb()
                                   ^
   arch/arm/include/asm/barrier.h:66:16: note: expanded from macro 'wmb'
   #define wmb()           __arm_heavy_mb(st)
                           ^
   arch/arm/include/asm/barrier.h:58:30: note: expanded from macro '__arm_heavy_mb'
   #define __arm_heavy_mb(x...) do { dsb(x); arm_heavy_mb(); } while (0)
                                ^
   drivers/nvmem/sunxi_sid.c:63:8: note: '__sleep_us' is not equal to 0
           ret = readl_poll_timeout(sid->base + SUN8I_SID_PRCTL, reg_val,
                 ^
   include/linux/iopoll.h:156:2: note: expanded from macro 'readl_poll_timeout'
           readx_poll_timeout(readl, addr, val, cond, delay_us, timeout_us)
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/iopoll.h:121:2: note: expanded from macro 'readx_poll_timeout'
           read_poll_timeout(op, val, cond, sleep_us, timeout_us, false, addr)
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/iopoll.h:42:17: note: expanded from macro 'read_poll_timeout'
           might_sleep_if((__sleep_us) != 0); \
                          ^~~~~~~~~~~~
   include/linux/kernel.h:160:39: note: expanded from macro 'might_sleep_if'
   #define might_sleep_if(cond) do { if (cond) might_sleep(); } while (0)
                                         ^~~~
   drivers/nvmem/sunxi_sid.c:63:8: note: Taking true branch
           ret = readl_poll_timeout(sid->base + SUN8I_SID_PRCTL, reg_val,
                 ^
   include/linux/iopoll.h:156:2: note: expanded from macro 'readl_poll_timeout'
           readx_poll_timeout(readl, addr, val, cond, delay_us, timeout_us)
           ^
   include/linux/iopoll.h:121:2: note: expanded from macro 'readx_poll_timeout'
           read_poll_timeout(op, val, cond, sleep_us, timeout_us, false, addr)
           ^
   include/linux/iopoll.h:42:2: note: expanded from macro 'read_poll_timeout'
           might_sleep_if((__sleep_us) != 0); \
           ^
   include/linux/kernel.h:160:35: note: expanded from macro 'might_sleep_if'
   #define might_sleep_if(cond) do { if (cond) might_sleep(); } while (0)
                                     ^
   drivers/nvmem/sunxi_sid.c:63:8: note: Loop condition is false.  Exiting loop
           ret = readl_poll_timeout(sid->base + SUN8I_SID_PRCTL, reg_val,
                 ^
   include/linux/iopoll.h:156:2: note: expanded from macro 'readl_poll_timeout'
           readx_poll_timeout(readl, addr, val, cond, delay_us, timeout_us)
           ^
   include/linux/iopoll.h:121:2: note: expanded from macro 'readx_poll_timeout'
           read_poll_timeout(op, val, cond, sleep_us, timeout_us, false, addr)
           ^
   include/linux/iopoll.h:42:2: note: expanded from macro 'read_poll_timeout'
           might_sleep_if((__sleep_us) != 0); \
           ^
   include/linux/kernel.h:160:45: note: expanded from macro 'might_sleep_if'
   #define might_sleep_if(cond) do { if (cond) might_sleep(); } while (0)
                                               ^
   include/linux/kernel.h:152:29: note: expanded from macro 'might_sleep'
   # define might_sleep() do { might_resched(); } while (0)
                               ^
   include/linux/kernel.h:87:26: note: expanded from macro 'might_resched'
   # define might_resched() do { } while (0)
                            ^
   drivers/nvmem/sunxi_sid.c:63:8: note: Loop condition is false.  Exiting loop
           ret = readl_poll_timeout(sid->base + SUN8I_SID_PRCTL, reg_val,
                 ^
   include/linux/iopoll.h:156:2: note: expanded from macro 'readl_poll_timeout'
           readx_poll_timeout(readl, addr, val, cond, delay_us, timeout_us)
           ^
   include/linux/iopoll.h:121:2: note: expanded from macro 'readx_poll_timeout'
           read_poll_timeout(op, val, cond, sleep_us, timeout_us, false, addr)
           ^
   include/linux/iopoll.h:42:2: note: expanded from macro 'read_poll_timeout'
           might_sleep_if((__sleep_us) != 0); \
           ^
   include/linux/kernel.h:160:45: note: expanded from macro 'might_sleep_if'
   #define might_sleep_if(cond) do { if (cond) might_sleep(); } while (0)
                                               ^
   include/linux/kernel.h:152:24: note: expanded from macro 'might_sleep'
   # define might_sleep() do { might_resched(); } while (0)
                          ^
   drivers/nvmem/sunxi_sid.c:63:8: note: Loop condition is false.  Exiting loop
           ret = readl_poll_timeout(sid->base + SUN8I_SID_PRCTL, reg_val,
                 ^
   include/linux/iopoll.h:156:2: note: expanded from macro 'readl_poll_timeout'
           readx_poll_timeout(readl, addr, val, cond, delay_us, timeout_us)
--
   net/core/filter.c:1770:2: warning: Null pointer passed as 1st argument to memory set function [clang-analyzer-unix.cstring.NullArg]
           memset(to, 0, len);
           ^      ~~
   net/core/filter.c:1756:15: note: Assuming 'offset' is <= 65535
           if (unlikely(offset > 0xffff))
                        ^
   include/linux/compiler.h:78:42: note: expanded from macro 'unlikely'
   # define unlikely(x)    __builtin_expect(!!(x), 0)
                                               ^
   net/core/filter.c:1756:2: note: Taking false branch
           if (unlikely(offset > 0xffff))
           ^
   net/core/filter.c:1759:15: note: Assuming field 'skb' is non-null
           if (unlikely(!ctx->skb))
                        ^
   include/linux/compiler.h:78:42: note: expanded from macro 'unlikely'
   # define unlikely(x)    __builtin_expect(!!(x), 0)
                                               ^
   net/core/filter.c:1759:2: note: Taking false branch
           if (unlikely(!ctx->skb))
           ^
   net/core/filter.c:1763:15: note: Assuming 'ptr' is null
           if (unlikely(!ptr))
                        ^
   include/linux/compiler.h:78:42: note: expanded from macro 'unlikely'
   # define unlikely(x)    __builtin_expect(!!(x), 0)
                                               ^
   net/core/filter.c:1763:2: note: Taking true branch
           if (unlikely(!ptr))
           ^
   net/core/filter.c:1764:3: note: Control jumps to line 1770
                   goto err_clear;
                   ^
   net/core/filter.c:1770:2: note: Null pointer passed as 1st argument to memory set function
           memset(to, 0, len);
           ^      ~~
   net/core/filter.c:5161:15: warning: Value stored to 'sk' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct sock *sk = bpf_sock->sk;
                        ^~   ~~~~~~~~~~~~
   net/core/filter.c:5161:15: note: Value stored to 'sk' during its initialization is never read
           struct sock *sk = bpf_sock->sk;
                        ^~   ~~~~~~~~~~~~
   net/core/filter.c:5162:6: warning: Value stored to 'val' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           int val = argval & BPF_SOCK_OPS_ALL_CB_FLAGS;
               ^~~   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   net/core/filter.c:5162:6: note: Value stored to 'val' during its initialization is never read
           int val = argval & BPF_SOCK_OPS_ALL_CB_FLAGS;
               ^~~   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 14 warnings (14 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   15 warnings generated.
   drivers/gpu/drm/amd/amdgpu/vce_v3_0.c:668:3: warning: Value stored to 'tmp' is never read [clang-analyzer-deadcode.DeadStores]
                   tmp = RREG32(mmSRBM_SOFT_RESET);
                   ^
   drivers/gpu/drm/amd/amdgpu/vce_v3_0.c:668:3: note: Value stored to 'tmp' is never read
   Suppressed 14 warnings (14 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.
   14 warnings generated.
   Suppressed 14 warnings (14 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.
   14 warnings generated.
   Suppressed 14 warnings (14 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.
   16 warnings generated.
   drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c:1246:5: warning: Value stored to 'ring' is never read [clang-analyzer-deadcode.DeadStores]
                                   ring = &adev->vcn.inst->ring_dec;
                                   ^      ~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c:1246:5: note: Value stored to 'ring' is never read
                                   ring = &adev->vcn.inst->ring_dec;
                                   ^      ~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c:1307:5: warning: Value stored to 'ring' is never read [clang-analyzer-deadcode.DeadStores]
                                   ring = &adev->vcn.inst->ring_dec;
                                   ^      ~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c:1307:5: note: Value stored to 'ring' is never read
                                   ring = &adev->vcn.inst->ring_dec;
                                   ^      ~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 14 warnings (14 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.
   14 warnings generated.
   Suppressed 14 warnings (14 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.
   15 warnings generated.
>> drivers/cpufreq/mediatek-cpufreq.c:305:14: warning: Value stored to 'cpu_clk' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct clk *cpu_clk = ERR_PTR(-ENODEV);
                       ^~~~~~~   ~~~~~~~~~~~~~~~~
   drivers/cpufreq/mediatek-cpufreq.c:305:14: note: Value stored to 'cpu_clk' during its initialization is never read
           struct clk *cpu_clk = ERR_PTR(-ENODEV);
                       ^~~~~~~   ~~~~~~~~~~~~~~~~
>> drivers/cpufreq/mediatek-cpufreq.c:306:14: warning: Value stored to 'inter_clk' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct clk *inter_clk = ERR_PTR(-ENODEV);
                       ^~~~~~~~~   ~~~~~~~~~~~~~~~~
   drivers/cpufreq/mediatek-cpufreq.c:306:14: note: Value stored to 'inter_clk' during its initialization is never read
           struct clk *inter_clk = ERR_PTR(-ENODEV);
                       ^~~~~~~~~   ~~~~~~~~~~~~~~~~
   Suppressed 13 warnings (13 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.
   14 warnings generated.
   Suppressed 14 warnings (14 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.
   Suppressed 12 warnings (12 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.
   13 warnings generated.
   Suppressed 13 warnings (13 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/clocksource/timer-of.c:191:3: warning: Value stored to 'flags' is never read [clang-analyzer-deadcode.DeadStores]
                   flags |= TIMER_OF_IRQ;
                   ^
   drivers/clocksource/timer-of.c:191:3: note: Value stored to 'flags' is never read
   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.
   Suppressed 12 warnings (12 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.
   13 warnings generated.
   drivers/i2c/busses/i2c-amd756.c:108:7: warning: Although the value stored to 'temp' is used in the enclosing expression, the value is never actually read from 'temp' [clang-analyzer-deadcode.DeadStores]
           if ((temp = inw_p(SMB_GLOBAL_STATUS)) & (GS_HST_STS | GS_SMB_STS)) {
                ^
   drivers/i2c/busses/i2c-amd756.c:108:7: note: Although the value stored to 'temp' is used in the enclosing expression, the value is never actually read from 'temp'
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   13 warnings generated.
   drivers/i2c/busses/i2c-sis5595.c:229:8: warning: Although the value stored to 'temp' is used in the enclosing expression, the value is never actually read from 'temp' [clang-analyzer-deadcode.DeadStores]
                   if ((temp = sis5595_read(SMB_STS_LO) + (sis5595_read(SMB_STS_HI) << 8)) != 0x00) {
                        ^      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/i2c/busses/i2c-sis5595.c:229:8: note: Although the value stored to 'temp' is used in the enclosing expression, the value is never actually read from 'temp'
                   if ((temp = sis5595_read(SMB_STS_LO) + (sis5595_read(SMB_STS_HI) << 8)) != 0x00) {
                        ^      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 12 warnings (12 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.
   Suppressed 12 warnings (12 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.
   drivers/leds/leds-lp5523.c:811:2: warning: Undefined or garbage value returned to caller [clang-analyzer-core.uninitialized.UndefReturn]
           return ret;
           ^      ~~~
   drivers/leds/leds-lp5523.c:798:2: note: 'ret' declared without an initial value
           int ret;
           ^~~~~~~
   drivers/leds/leds-lp5523.c:802:14: note: Assuming 'i' is >= field 'num_colors'
           for (i = 0; i < led->mc_cdev.num_colors; i++) {
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/leds/leds-lp5523.c:802:2: note: Loop condition is false. Execution continues on line 810
           for (i = 0; i < led->mc_cdev.num_colors; i++) {
           ^
   drivers/leds/leds-lp5523.c:811:2: note: Undefined or garbage value returned to caller
           return ret;
           ^      ~~~
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   14 warnings generated.
   Suppressed 14 warnings (14 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.
   14 warnings generated.
   Suppressed 14 warnings (14 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.
   14 warnings generated.
   Suppressed 14 warnings (14 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.
   14 warnings generated.
   Suppressed 14 warnings (14 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.
   14 warnings generated.
   Suppressed 14 warnings (14 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.

vim +/rev +158 arch/arm/mach-omap2/id.c

de26804b60d460 Linus Walleij    2013-09-05  146  
4de34f3572882f Vaibhav Hiremath 2011-12-19  147  void __init omap2xxx_check_revision(void)
1dbae815a72430 Tony Lindgren    2005-11-10  148  {
1dbae815a72430 Tony Lindgren    2005-11-10  149  	int i, j;
a88231430384f4 Tony Lindgren    2008-12-10  150  	u32 idcode, prod_id;
1dbae815a72430 Tony Lindgren    2005-11-10  151  	u16 hawkeye;
a88231430384f4 Tony Lindgren    2008-12-10  152  	u8  dev_type, rev;
c46732bbf3477f Kan-Ru Chen      2010-08-02  153  	struct omap_die_id odi;
1dbae815a72430 Tony Lindgren    2005-11-10  154  
1dbae815a72430 Tony Lindgren    2005-11-10  155  	idcode = read_tap_reg(OMAP_TAP_IDCODE);
0e564848693b06 Tony Lindgren    2008-10-06  156  	prod_id = read_tap_reg(tap_prod_id);
1dbae815a72430 Tony Lindgren    2005-11-10  157  	hawkeye = (idcode >> 12) & 0xffff;
1dbae815a72430 Tony Lindgren    2005-11-10 @158  	rev = (idcode >> 28) & 0x0f;
1dbae815a72430 Tony Lindgren    2005-11-10  159  	dev_type = (prod_id >> 16) & 0x0f;
c46732bbf3477f Kan-Ru Chen      2010-08-02  160  	omap_get_die_id(&odi);
1dbae815a72430 Tony Lindgren    2005-11-10  161  
097c584cd48844 Paul Walmsley    2008-07-03  162  	pr_debug("OMAP_TAP_IDCODE 0x%08x REV %i HAWKEYE 0x%04x MANF %03x\n",
1dbae815a72430 Tony Lindgren    2005-11-10  163  		 idcode, rev, hawkeye, (idcode >> 1) & 0x7ff);
c46732bbf3477f Kan-Ru Chen      2010-08-02  164  	pr_debug("OMAP_TAP_DIE_ID_0: 0x%08x\n", odi.id_0);
097c584cd48844 Paul Walmsley    2008-07-03  165  	pr_debug("OMAP_TAP_DIE_ID_1: 0x%08x DEV_REV: %i\n",
c46732bbf3477f Kan-Ru Chen      2010-08-02  166  		 odi.id_1, (odi.id_1 >> 28) & 0xf);
c46732bbf3477f Kan-Ru Chen      2010-08-02  167  	pr_debug("OMAP_TAP_DIE_ID_2: 0x%08x\n", odi.id_2);
c46732bbf3477f Kan-Ru Chen      2010-08-02  168  	pr_debug("OMAP_TAP_DIE_ID_3: 0x%08x\n", odi.id_3);
097c584cd48844 Paul Walmsley    2008-07-03  169  	pr_debug("OMAP_TAP_PROD_ID_0: 0x%08x DEV_TYPE: %i\n",
1dbae815a72430 Tony Lindgren    2005-11-10  170  		 prod_id, dev_type);
097c584cd48844 Paul Walmsley    2008-07-03  171  
1dbae815a72430 Tony Lindgren    2005-11-10  172  	/* Check hawkeye ids */
1dbae815a72430 Tony Lindgren    2005-11-10  173  	for (i = 0; i < ARRAY_SIZE(omap_ids); i++) {
1dbae815a72430 Tony Lindgren    2005-11-10  174  		if (hawkeye == omap_ids[i].hawkeye)
1dbae815a72430 Tony Lindgren    2005-11-10  175  			break;
1dbae815a72430 Tony Lindgren    2005-11-10  176  	}
1dbae815a72430 Tony Lindgren    2005-11-10  177  
1dbae815a72430 Tony Lindgren    2005-11-10  178  	if (i == ARRAY_SIZE(omap_ids)) {
1dbae815a72430 Tony Lindgren    2005-11-10  179  		printk(KERN_ERR "Unknown OMAP CPU id\n");
1dbae815a72430 Tony Lindgren    2005-11-10  180  		return;
1dbae815a72430 Tony Lindgren    2005-11-10  181  	}
1dbae815a72430 Tony Lindgren    2005-11-10  182  
1dbae815a72430 Tony Lindgren    2005-11-10  183  	for (j = i; j < ARRAY_SIZE(omap_ids); j++) {
1dbae815a72430 Tony Lindgren    2005-11-10  184  		if (dev_type == omap_ids[j].dev)
1dbae815a72430 Tony Lindgren    2005-11-10  185  			break;
1dbae815a72430 Tony Lindgren    2005-11-10  186  	}
1dbae815a72430 Tony Lindgren    2005-11-10  187  
1dbae815a72430 Tony Lindgren    2005-11-10  188  	if (j == ARRAY_SIZE(omap_ids)) {
7852ec0536ca39 Paul Walmsley    2012-07-26  189  		pr_err("Unknown OMAP device type. Handling it as OMAP%04x\n",
1dbae815a72430 Tony Lindgren    2005-11-10  190  		       omap_ids[i].type >> 16);
1dbae815a72430 Tony Lindgren    2005-11-10  191  		j = i;
1dbae815a72430 Tony Lindgren    2005-11-10  192  	}
1dbae815a72430 Tony Lindgren    2005-11-10  193  
f9d41eefcfbb91 Ruslan Bilovol   2013-02-14  194  	sprintf(soc_name, "OMAP%04x", omap_rev() >> 16);
f9d41eefcfbb91 Ruslan Bilovol   2013-02-14  195  	sprintf(soc_rev, "ES%x", (omap_rev() >> 12) & 0xf);
f9d41eefcfbb91 Ruslan Bilovol   2013-02-14  196  
f9d41eefcfbb91 Ruslan Bilovol   2013-02-14  197  	pr_info("%s", soc_name);
84a34344ea1f2f Lauri Leukkunen  2008-12-10  198  	if ((omap_rev() >> 8) & 0x0f)
04a92358b39649 Aaro Koskinen    2018-11-19  199  		pr_cont("%s", soc_rev);
04a92358b39649 Aaro Koskinen    2018-11-19  200  	pr_cont("\n");
a88231430384f4 Tony Lindgren    2008-12-10  201  }
a88231430384f4 Tony Lindgren    2008-12-10  202  

:::::: The code at line 158 was first introduced by commit
:::::: 1dbae815a724303b46ab4663b5fc23c13e9d9690 [ARM] 3145/1: OMAP 3a/5: Add support for omap24xx

:::::: TO: Tony Lindgren <tony@atomide.com>
:::::: CC: Russell King <rmk+kernel@arm.linux.org.uk>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

             reply	other threads:[~2022-01-04  2:46 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-04  2:46 kernel test robot [this message]
  -- strict thread matches above, loose matches on Subject: below --
2022-01-08  4:25 arch/arm/mach-omap2/id.c:158:2: warning: Value stored to 'rev' is never read [clang-analyzer-deadcode.DeadStores] kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202201041044.vbmB2v4W-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild@lists.01.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.