* [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.