All of lore.kernel.org
 help / color / mirror / Atom feed
* [jimc:dd-drm-next 13/18] drivers/gpu/drm/i2c/tda998x_drv.c:798:3: warning: Value stored to 'flag0' is never read [clang-analyzer-deadcode.DeadStores]
@ 2021-10-10  1:44 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-10-10  1:44 UTC (permalink / raw)
  To: kbuild

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

CC: kbuild-all(a)lists.01.org
TO: Jim Cromie <jim.cromie@gmail.com>

Hi Jim,

First bad commit (maybe != root cause):

tree:   https://github.com/jimc/linux.git dd-drm-next
head:   01079d8e6cc5d5209114228901f6c97a046f5d86
commit: ed4425a17de1eb5638703d40ed1d002b28963687 [13/18] drm_print: add choice to use dynamic debug in drm-debug
:::::: branch date: 3 hours ago
:::::: commit date: 2 days ago
config: x86_64-randconfig-c007-20211009 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 30caca39f401ae17927439c0a0bd6d1b1916dd6a)
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
        # https://github.com/jimc/linux/commit/ed4425a17de1eb5638703d40ed1d002b28963687
        git remote add jimc https://github.com/jimc/linux.git
        git fetch --no-tags jimc dd-drm-next
        git checkout ed4425a17de1eb5638703d40ed1d002b28963687
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 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 >>)
                           std = "secamDK";
                           ^     ~~~~~~~~~
   drivers/media/tuners/si2157.c:593:4: note: Value stored to 'std' is never read
                           std = "secamDK";
                           ^     ~~~~~~~~~
   drivers/media/tuners/si2157.c:597:3: warning: Value stored to 'std' is never read [clang-analyzer-deadcode.DeadStores]
                   std = "secamL";
                   ^     ~~~~~~~~
   drivers/media/tuners/si2157.c:597:3: note: Value stored to 'std' is never read
                   std = "secamL";
                   ^     ~~~~~~~~
   drivers/media/tuners/si2157.c:603:3: warning: Value stored to 'std' is never read [clang-analyzer-deadcode.DeadStores]
                   std = "secamL'";
                   ^     ~~~~~~~~~
   drivers/media/tuners/si2157.c:603:3: note: Value stored to 'std' is never read
                   std = "secamL'";
                   ^     ~~~~~~~~~
   drivers/media/tuners/si2157.c:609:3: warning: Value stored to 'std' is never read [clang-analyzer-deadcode.DeadStores]
                   std = "unknown";
                   ^     ~~~~~~~~~
   drivers/media/tuners/si2157.c:609:3: note: Value stored to 'std' is never read
                   std = "unknown";
                   ^     ~~~~~~~~~
   Suppressed 8 warnings (8 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   6 warnings generated.
   Suppressed 6 warnings (6 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   6 warnings generated.
   Suppressed 6 warnings (6 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   10 warnings generated.
   arch/x86/include/asm/paravirt.h:97:2: warning: Assigned value is garbage or undefined [clang-analyzer-core.uninitialized.Assign]
           PVOP_VCALL1(mmu.exit_mmap, mm);
           ^
   arch/x86/include/asm/paravirt_types.h:530:2: note: expanded from macro 'PVOP_VCALL1'
           __PVOP_VCALL(op, PVOP_CALL_ARG1(arg1))
           ^
   arch/x86/include/asm/paravirt_types.h:491:8: note: expanded from macro '__PVOP_VCALL'
           (void)____PVOP_CALL(, op, CLBR_ANY, PVOP_VCALL_CLOBBERS,        \
                 ^
   arch/x86/include/asm/paravirt_types.h:446:3: note: expanded from macro '____PVOP_CALL'
                   PVOP_CALL_ARGS;                                         \
                   ^
   arch/x86/include/asm/paravirt_types.h:404:16: note: expanded from macro 'PVOP_CALL_ARGS'
           unsigned long __edi = __edi, __esi = __esi,             \
                         ^
   mm/mmap.c:3133:6: note: Assuming the condition is false
           if (unlikely(mm_is_oom_victim(mm))) {
               ^
   include/linux/compiler.h:78:22: note: expanded from macro 'unlikely'
   # define unlikely(x)    __builtin_expect(!!(x), 0)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~
   mm/mmap.c:3133:2: note: Taking false branch
           if (unlikely(mm_is_oom_victim(mm))) {
           ^
   mm/mmap.c:3157:6: note: Assuming field 'locked_vm' is 0
           if (mm->locked_vm)
               ^~~~~~~~~~~~~
   mm/mmap.c:3157:2: note: Taking false branch
           if (mm->locked_vm)
           ^
   mm/mmap.c:3160:2: note: Calling 'arch_exit_mmap'
           arch_exit_mmap(mm);
           ^~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/mmu_context.h:176:2: note: Calling 'paravirt_arch_exit_mmap'
           paravirt_arch_exit_mmap(mm);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/paravirt.h:97:2: note: Assigned value is garbage or undefined
           PVOP_VCALL1(mmu.exit_mmap, mm);
           ^
   arch/x86/include/asm/paravirt_types.h:530:2: note: expanded from macro 'PVOP_VCALL1'
           __PVOP_VCALL(op, PVOP_CALL_ARG1(arg1))
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/paravirt_types.h:491:8: note: expanded from macro '__PVOP_VCALL'
           (void)____PVOP_CALL(, op, CLBR_ANY, PVOP_VCALL_CLOBBERS,        \
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/paravirt_types.h:446:3: note: expanded from macro '____PVOP_CALL'
                   PVOP_CALL_ARGS;                                         \
                   ^~~~~~~~~~~~~~
   arch/x86/include/asm/paravirt_types.h:404:16: note: expanded from macro 'PVOP_CALL_ARGS'
           unsigned long __edi = __edi, __esi = __esi,             \
                         ^       ~~~~~
   mm/mmap.c:1978:2: warning: Value stored to 'gap_end' is never read [clang-analyzer-deadcode.DeadStores]
           gap_end = ULONG_MAX;  /* Only for VM_BUG_ON below */
           ^
   mm/mmap.c:1978:2: note: Value stored to 'gap_end' is never read
   mm/mmap.c:3246:3: warning: Value stored to 'faulted_in_anon_vma' is never read [clang-analyzer-deadcode.DeadStores]
                   faulted_in_anon_vma = false;
                   ^                     ~~~~~
   mm/mmap.c:3246:3: note: Value stored to 'faulted_in_anon_vma' is never read
                   faulted_in_anon_vma = false;
                   ^                     ~~~~~
   mm/mmap.c:3688:2: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
           ret = percpu_counter_init(&vm_committed_as, 0, GFP_KERNEL);
           ^
   mm/mmap.c:3688:2: note: Value stored to 'ret' is never read
   Suppressed 6 warnings (6 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   11 warnings generated.
>> drivers/gpu/drm/i2c/tda998x_drv.c:798:3: warning: Value stored to 'flag0' is never read [clang-analyzer-deadcode.DeadStores]
                   flag0 = reg_read(priv, REG_INT_FLAGS_0);
                   ^       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/i2c/tda998x_drv.c:798:3: note: Value stored to 'flag0' is never read
                   flag0 = reg_read(priv, REG_INT_FLAGS_0);
                   ^       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/i2c/tda998x_drv.c:799:3: warning: Value stored to 'flag1' is never read [clang-analyzer-deadcode.DeadStores]
                   flag1 = reg_read(priv, REG_INT_FLAGS_1);
                   ^       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/i2c/tda998x_drv.c:799:3: note: Value stored to 'flag1' is never read
                   flag1 = reg_read(priv, REG_INT_FLAGS_1);
                   ^       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 9 warnings (9 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   6 warnings generated.
   Suppressed 6 warnings (6 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   7 warnings generated.
   Suppressed 7 warnings (7 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   8 warnings generated.
   Suppressed 8 warnings (8 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   9 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 8 warnings (8 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   8 warnings generated.
   Suppressed 8 warnings (8 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   7 warnings generated.
   Suppressed 7 warnings (7 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   8 warnings generated.
   Suppressed 8 warnings (8 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   8 warnings generated.
   Suppressed 8 warnings (8 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   7 warnings generated.
   Suppressed 7 warnings (7 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   8 warnings generated.
   Suppressed 8 warnings (8 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   8 warnings generated.
   Suppressed 8 warnings (8 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   8 warnings generated.
   Suppressed 8 warnings (8 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   4 warnings generated.
   Suppressed 4 warnings (4 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   4 warnings generated.
   Suppressed 4 warnings (4 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   11 warnings generated.
   Suppressed 11 warnings (11 in non-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).
   5 warnings generated.
   Suppressed 5 warnings (5 in non-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 in non-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 in non-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.
   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;
                                         ^          ~~~~~~~~
   Suppressed 4 warnings (4 in non-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.
   Suppressed 5 warnings (5 in non-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.
   Suppressed 5 warnings (5 in non-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.
   Suppressed 5 warnings (5 in non-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.
   Suppressed 5 warnings (5 in non-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 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   4 warnings generated.
   Suppressed 4 warnings (4 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   20 warnings generated.
   drivers/clk/clk.c:1951:3: warning: Value stored to 'best_parent_rate' is never read [clang-analyzer-deadcode.DeadStores]
                   best_parent_rate = parent->rate;
                   ^                  ~~~~~~~~~~~~
--
   4 warnings generated.
   Suppressed 4 warnings (4 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   4 warnings generated.
   Suppressed 4 warnings (4 in non-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.
   mm/memory_hotplug.c:1909:3: warning: Value stored to 'reason' is never read [clang-analyzer-deadcode.DeadStores]
                   reason = "memory holes";
                   ^        ~~~~~~~~~~~~~~
   mm/memory_hotplug.c:1909:3: note: Value stored to 'reason' is never read
                   reason = "memory holes";
                   ^        ~~~~~~~~~~~~~~
   mm/memory_hotplug.c:1918:3: warning: Value stored to 'reason' is never read [clang-analyzer-deadcode.DeadStores]
                   reason = "multizone range";
                   ^        ~~~~~~~~~~~~~~~~~
   mm/memory_hotplug.c:1918:3: note: Value stored to 'reason' is never read
                   reason = "multizone range";
                   ^        ~~~~~~~~~~~~~~~~~
   mm/memory_hotplug.c:1935:3: warning: Value stored to 'reason' is never read [clang-analyzer-deadcode.DeadStores]
                   reason = "failure to isolate range";
                   ^        ~~~~~~~~~~~~~~~~~~~~~~~~~~
   mm/memory_hotplug.c:1935:3: note: Value stored to 'reason' is never read
                   reason = "failure to isolate range";
                   ^        ~~~~~~~~~~~~~~~~~~~~~~~~~~
   mm/memory_hotplug.c:1946:3: warning: Value stored to 'reason' is never read [clang-analyzer-deadcode.DeadStores]
                   reason = "notifier failure";
                   ^        ~~~~~~~~~~~~~~~~~~
   mm/memory_hotplug.c:1946:3: note: Value stored to 'reason' is never read
                   reason = "notifier failure";
                   ^        ~~~~~~~~~~~~~~~~~~
   mm/memory_hotplug.c:1955:5: warning: Value stored to 'reason' is never read [clang-analyzer-deadcode.DeadStores]
                                   reason = "signal backoff";
                                   ^        ~~~~~~~~~~~~~~~~
   mm/memory_hotplug.c:1955:5: note: Value stored to 'reason' is never read
                                   reason = "signal backoff";
                                   ^        ~~~~~~~~~~~~~~~~
   mm/memory_hotplug.c:1972:4: warning: Value stored to 'reason' is never read [clang-analyzer-deadcode.DeadStores]
                           reason = "unmovable page";
                           ^        ~~~~~~~~~~~~~~~~
   mm/memory_hotplug.c:1972:4: note: Value stored to 'reason' is never read
                           reason = "unmovable page";
                           ^        ~~~~~~~~~~~~~~~~
   mm/memory_hotplug.c:1983:4: warning: Value stored to 'reason' is never read [clang-analyzer-deadcode.DeadStores]
                           reason = "failure to dissolve huge pages";
                           ^        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   mm/memory_hotplug.c:1983:4: note: Value stored to 'reason' is never read
                           reason = "failure to dissolve huge pages";
                           ^        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 6 warnings (6 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   6 warnings generated.
   Suppressed 6 warnings (6 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   9 warnings generated.
   drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c:514:8: warning: Branch condition evaluates to a garbage value [clang-analyzer-core.uninitialized.Branch]
           if (!(dflow->en_scaling || dflow->en_img_enhancement))
                 ^
   drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c:1164:8: note: Calling 'komeda_splitter_validate'
           err = komeda_splitter_validate(pipe->splitter, conn_st,
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c:572:6: note: Assuming 'splitter' is non-null
           if (!splitter) {
               ^~~~~~~~~
   drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c:572:2: note: Taking false branch
           if (!splitter) {
           ^
   drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c:577:2: note: Taking false branch
           if (!in_range(&splitter->hsize, dflow->in_w)) {
           ^
   drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c:583:2: note: Taking false branch
           if (!in_range(&splitter->vsize, dflow->in_h)) {
           ^
   drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c:592:2: note: Taking true branch
           if (IS_ERR(c_st))
           ^
   drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c:593:3: note: Returning without writing to 'l_output->en_scaling'
                   return PTR_ERR(c_st);
                   ^
   drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c:1164:8: note: Returning from 'komeda_splitter_validate'
           err = komeda_splitter_validate(pipe->splitter, conn_st,
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c:1166:6: note: Assuming 'err' is 0
           if (err)
               ^~~
   drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c:1166:2: note: Taking false branch
           if (err)
           ^
   drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c:1168:8: note: Calling 'komeda_scaler_validate'
           err = komeda_scaler_validate(conn, kcrtc_st, &l_dflow);
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c:514:8: note: Branch condition evaluates to a garbage value
           if (!(dflow->en_scaling || dflow->en_img_enhancement))
                 ^~~~~~~~~~~~~~~~~
   Suppressed 8 warnings (8 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   8 warnings generated.
   Suppressed 8 warnings (8 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   11 warnings generated.
>> drivers/gpu/drm/arm/display/komeda/komeda_kms.c:121:22: warning: Value stored to 'a' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
                           struct drm_plane *a = node->base.plane;
                                             ^   ~~~~~~~~~~~~~~~~
   drivers/gpu/drm/arm/display/komeda/komeda_kms.c:121:22: note: Value stored to 'a' during its initialization is never read
                           struct drm_plane *a = node->base.plane;
                                             ^   ~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/arm/display/komeda/komeda_kms.c:122:22: warning: Value stored to 'b' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
                           struct drm_plane *b = new->base.plane;
                                             ^   ~~~~~~~~~~~~~~~
   drivers/gpu/drm/arm/display/komeda/komeda_kms.c:122:22: note: Value stored to 'b' during its initialization is never read
                           struct drm_plane *b = new->base.plane;
                                             ^   ~~~~~~~~~~~~~~~
   include/linux/list.h:73:2: warning: Dereference of null pointer [clang-analyzer-core.NullDereference]
           WRITE_ONCE(prev->next, new);
           ^
   include/asm-generic/rwonce.h:61:2: note: expanded from macro 'WRITE_ONCE'
           __WRITE_ONCE(x, val);                                           \
           ^
   include/asm-generic/rwonce.h:55:30: note: expanded from macro '__WRITE_ONCE'
           *(volatile typeof(x) *)&(x) = (val);                            \
                                       ^
   drivers/gpu/drm/arm/display/komeda/komeda_kms.c:205:6: note: Assuming 'err' is 0
           if (err)
               ^~~
   drivers/gpu/drm/arm/display/komeda/komeda_kms.c:205:2: note: Taking false branch
           if (err)
           ^
   drivers/gpu/drm/arm/display/komeda/komeda_kms.c:212:2: note: Assuming 'i' is < field 'num_crtc'
           for_each_new_crtc_in_state(state, crtc, new_crtc_st, i) {
           ^
   include/drm/drm_atomic.h:846:7: note: expanded from macro 'for_each_new_crtc_in_state'
                (__i) < (__state)->dev->mode_config.num_crtc;              \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/arm/display/komeda/komeda_kms.c:212:2: note: Loop condition is true.  Entering loop body
           for_each_new_crtc_in_state(state, crtc, new_crtc_st, i) {
           ^
   include/drm/drm_atomic.h:845:2: note: expanded from macro 'for_each_new_crtc_in_state'
           for ((__i) = 0;                                                 \
           ^
   drivers/gpu/drm/arm/display/komeda/komeda_kms.c:212:2: note: Assuming field 'ptr' is non-null
           for_each_new_crtc_in_state(state, crtc, new_crtc_st, i) {
           ^
   include/drm/drm_atomic.h:848:16: note: expanded from macro 'for_each_new_crtc_in_state'
                   for_each_if ((__state)->crtcs[__i].ptr &&               \
                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/drm/drm_util.h:63:38: note: expanded from macro 'for_each_if'
   #define for_each_if(condition) if (!(condition)) {} else
                                        ^~~~~~~~~
   drivers/gpu/drm/arm/display/komeda/komeda_kms.c:212:2: note: Left side of '&&' is true
           for_each_new_crtc_in_state(state, crtc, new_crtc_st, i) {
           ^
   include/drm/drm_atomic.h:848:16: note: expanded from macro 'for_each_new_crtc_in_state'
                   for_each_if ((__state)->crtcs[__i].ptr &&               \
                                ^
   drivers/gpu/drm/arm/display/komeda/komeda_kms.c:212:2: note: Taking false branch
           for_each_new_crtc_in_state(state, crtc, new_crtc_st, i) {
           ^
   include/drm/drm_atomic.h:848:3: note: expanded from macro 'for_each_new_crtc_in_state'
                   for_each_if ((__state)->crtcs[__i].ptr &&               \
                   ^
   include/drm/drm_util.h:63:32: note: expanded from macro 'for_each_if'
   #define for_each_if(condition) if (!(condition)) {} else
                                  ^
   drivers/gpu/drm/arm/display/komeda/komeda_kms.c:214:7: note: Assuming 'err' is 0
                   if (err)
                       ^~~
   drivers/gpu/drm/arm/display/komeda/komeda_kms.c:214:3: note: Taking false branch
                   if (err)
                   ^
   drivers/gpu/drm/arm/display/komeda/komeda_kms.c:217:9: note: Calling 'komeda_crtc_normalize_zpos'
                   err = komeda_crtc_normalize_zpos(crtc, new_crtc_st);
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/arm/display/komeda/komeda_kms.c:140:30: note: Left side of '&&' is false
           struct komeda_crtc *kcrtc = to_kcrtc(crtc);
                                       ^
   drivers/gpu/drm/arm/display/komeda/komeda_kms.h:131:21: note: expanded from macro 'to_kcrtc'
   #define to_kcrtc(p)     container_of(p, struct komeda_crtc, base)
                           ^
   include/linux/kernel.h:495:61: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
                                                                      ^
   drivers/gpu/drm/arm/display/komeda/komeda_kms.c:140:30: note: Taking false branch
           struct komeda_crtc *kcrtc = to_kcrtc(crtc);
                                       ^
   drivers/gpu/drm/arm/display/komeda/komeda_kms.h:131:21: note: expanded from macro 'to_kcrtc'
   #define to_kcrtc(p)     container_of(p, struct komeda_crtc, base)
                           ^
   include/linux/kernel.h:495: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:322:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:310:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:302:3: note: expanded from macro '__compiletime_assert'
                   if (!(condition))                                       \
                   ^
   drivers/gpu/drm/arm/display/komeda/komeda_kms.c:140:30: note: Loop condition is false.  Exiting loop
           struct komeda_crtc *kcrtc = to_kcrtc(crtc);
                                       ^
   drivers/gpu/drm/arm/display/komeda/komeda_kms.h:131:21: note: expanded from macro 'to_kcrtc'
   #define to_kcrtc(p)     container_of(p, struct komeda_crtc, base)

vim +/flag0 +798 drivers/gpu/drm/i2c/tda998x_drv.c

6833d26ef823b2 Jean-Francois Moine   2014-11-29  784  
12473b7d8e6074 Jean-Francois Moine   2014-01-25  785  /*
12473b7d8e6074 Jean-Francois Moine   2014-01-25  786   * only 2 interrupts may occur: screen plug/unplug and EDID read
12473b7d8e6074 Jean-Francois Moine   2014-01-25  787   */
12473b7d8e6074 Jean-Francois Moine   2014-01-25  788  static irqreturn_t tda998x_irq_thread(int irq, void *data)
12473b7d8e6074 Jean-Francois Moine   2014-01-25  789  {
12473b7d8e6074 Jean-Francois Moine   2014-01-25  790  	struct tda998x_priv *priv = data;
12473b7d8e6074 Jean-Francois Moine   2014-01-25  791  	u8 sta, cec, lvl, flag0, flag1, flag2;
f84a97d4804a09 Russell King          2015-06-06  792  	bool handled = false;
12473b7d8e6074 Jean-Francois Moine   2014-01-25  793  
12473b7d8e6074 Jean-Francois Moine   2014-01-25  794  	sta = cec_read(priv, REG_CEC_INTSTATUS);
ae81553c30ef86 Russell King          2016-11-03  795  	if (sta & CEC_INTSTATUS_HDMI) {
12473b7d8e6074 Jean-Francois Moine   2014-01-25  796  		cec = cec_read(priv, REG_CEC_RXSHPDINT);
12473b7d8e6074 Jean-Francois Moine   2014-01-25  797  		lvl = cec_read(priv, REG_CEC_RXSHPDLEV);
12473b7d8e6074 Jean-Francois Moine   2014-01-25 @798  		flag0 = reg_read(priv, REG_INT_FLAGS_0);
12473b7d8e6074 Jean-Francois Moine   2014-01-25 @799  		flag1 = reg_read(priv, REG_INT_FLAGS_1);
12473b7d8e6074 Jean-Francois Moine   2014-01-25  800  		flag2 = reg_read(priv, REG_INT_FLAGS_2);
12473b7d8e6074 Jean-Francois Moine   2014-01-25  801  		DRM_DEBUG_DRIVER(
12473b7d8e6074 Jean-Francois Moine   2014-01-25  802  			"tda irq sta %02x cec %02x lvl %02x f0 %02x f1 %02x f2 %02x\n",
12473b7d8e6074 Jean-Francois Moine   2014-01-25  803  			sta, cec, lvl, flag0, flag1, flag2);
ec5d3e83d332ac Russell King          2015-06-06  804  
ec5d3e83d332ac Russell King          2015-06-06  805  		if (cec & CEC_RXSHPDINT_HPD) {
7e8675f000bc7e Russell King          2016-10-05  806  			if (lvl & CEC_RXSHPDLEV_HPD) {
0fc6f44d9683c6 Russell King          2015-06-06  807  				tda998x_edid_delay_start(priv);
7e8675f000bc7e Russell King          2016-10-05  808  			} else {
0fc6f44d9683c6 Russell King          2015-06-06  809  				schedule_work(&priv->detect_work);
ece485d550dce2 Dariusz Marcinkiewicz 2019-10-17  810  				cec_notifier_phys_addr_invalidate(
ece485d550dce2 Dariusz Marcinkiewicz 2019-10-17  811  						priv->cec_notify);
7e8675f000bc7e Russell King          2016-10-05  812  			}
0fc6f44d9683c6 Russell King          2015-06-06  813  
f84a97d4804a09 Russell King          2015-06-06  814  			handled = true;
12473b7d8e6074 Jean-Francois Moine   2014-01-25  815  		}
ec5d3e83d332ac Russell King          2015-06-06  816  
ec5d3e83d332ac Russell King          2015-06-06  817  		if ((flag2 & INT_FLAGS_2_EDID_BLK_RD) && priv->wq_edid_wait) {
ec5d3e83d332ac Russell King          2015-06-06  818  			priv->wq_edid_wait = 0;
ec5d3e83d332ac Russell King          2015-06-06  819  			wake_up(&priv->wq_edid);
ec5d3e83d332ac Russell King          2015-06-06  820  			handled = true;
ec5d3e83d332ac Russell King          2015-06-06  821  		}
ae81553c30ef86 Russell King          2016-11-03  822  	}
ec5d3e83d332ac Russell King          2015-06-06  823  
f84a97d4804a09 Russell King          2015-06-06  824  	return IRQ_RETVAL(handled);
12473b7d8e6074 Jean-Francois Moine   2014-01-25  825  }
12473b7d8e6074 Jean-Francois Moine   2014-01-25  826  

:::::: The code at line 798 was first introduced by commit
:::::: 12473b7d8e6074c7d4c2816afa6027354ce9a502 drm/i2c: tda998x: use irq for connection status and EDID read

:::::: TO: Jean-Francois Moine <moinejf@free.fr>
:::::: 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

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 37531 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-10-10  1:44 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-10  1:44 [jimc:dd-drm-next 13/18] drivers/gpu/drm/i2c/tda998x_drv.c:798:3: warning: Value stored to 'flag0' is never read [clang-analyzer-deadcode.DeadStores] kernel test robot

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.