From: kernel test robot <lkp@intel.com>
To: hamjin <jinham@qq.com>, linux-kernel@vger.kernel.org
Cc: oe-kbuild-all@lists.linux.dev, hamjin <jinham@qq.com>
Subject: Re: [PATCH] lib: typecheck: initialize const variable to avoid Clang warning
Date: Sun, 15 Mar 2026 16:12:41 +0100 [thread overview]
Message-ID: <202603151603.CY7ALlB0-lkp@intel.com> (raw)
In-Reply-To: <tencent_274FD06231C70768C2C28FD13673A24C2B08@qq.com>
Hi hamjin,
kernel test robot noticed the following build errors:
[auto build test ERROR on linus/master]
[also build test ERROR on v7.0-rc3 next-20260313]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/hamjin/lib-typecheck-initialize-const-variable-to-avoid-Clang-warning/20260315-165617
base: linus/master
patch link: https://lore.kernel.org/r/tencent_274FD06231C70768C2C28FD13673A24C2B08%40qq.com
patch subject: [PATCH] lib: typecheck: initialize const variable to avoid Clang warning
config: x86_64-rhel-9.4 (https://download.01.org/0day-ci/archive/20260315/202603151603.CY7ALlB0-lkp@intel.com/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260315/202603151603.CY7ALlB0-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202603151603.CY7ALlB0-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from include/linux/bitops.h:7,
from include/linux/log2.h:12,
from include/asm-generic/getorder.h:8,
from arch/x86/include/asm/page.h:84,
from arch/x86/include/asm/processor.h:20,
from include/linux/sched.h:13,
from include/linux/ratelimit.h:6,
from include/linux/dev_printk.h:16,
from include/linux/device.h:15,
from include/linux/dma-mapping.h:5,
from drivers/net/wireless/ralink/rt2x00/rt2x00mmio.c:13:
drivers/net/wireless/ralink/rt2x00/rt2x00mmio.c: In function 'rt2x00mmio_regbusy_read':
>> drivers/net/wireless/ralink/rt2x00/rt2x00reg.h:254:33: error: conversion to non-scalar type requested
254 | GET_FIELD(__reg, struct rt2x00_field32, __field)
| ^~~~~~~~~~~~~~
include/linux/typecheck.h:10:9: note: in definition of macro 'typecheck'
10 | ({ type __dummy; \
| ^~~~
drivers/net/wireless/ralink/rt2x00/rt2x00reg.h:254:9: note: in expansion of macro 'GET_FIELD'
254 | GET_FIELD(__reg, struct rt2x00_field32, __field)
| ^~~~~~~~~
drivers/net/wireless/ralink/rt2x00/rt2x00mmio.c:36:22: note: in expansion of macro 'rt2x00_get_field32'
36 | if (!rt2x00_get_field32(*reg, field))
| ^~~~~~~~~~~~~~~~~~
--
In file included from include/linux/bitops.h:7,
from include/linux/kernel.h:23,
from drivers/net/wireless/ralink/rt2x00/rt2x00usb.c:14:
drivers/net/wireless/ralink/rt2x00/rt2x00usb.c: In function 'rt2x00usb_regbusy_read':
>> drivers/net/wireless/ralink/rt2x00/rt2x00reg.h:254:33: error: conversion to non-scalar type requested
254 | GET_FIELD(__reg, struct rt2x00_field32, __field)
| ^~~~~~~~~~~~~~
include/linux/typecheck.h:10:9: note: in definition of macro 'typecheck'
10 | ({ type __dummy; \
| ^~~~
drivers/net/wireless/ralink/rt2x00/rt2x00reg.h:254:9: note: in expansion of macro 'GET_FIELD'
254 | GET_FIELD(__reg, struct rt2x00_field32, __field)
| ^~~~~~~~~
drivers/net/wireless/ralink/rt2x00/rt2x00usb.c:157:22: note: in expansion of macro 'rt2x00_get_field32'
157 | if (!rt2x00_get_field32(*reg, field))
| ^~~~~~~~~~~~~~~~~~
--
2173 | rt2x00_set_field32(®, GF40_PROT_CFG_PROTECT_CTRL, gf40_mode);
| ^~~~~~~~~~~~~~~~~~
drivers/net/wireless/ralink/rt2x00/rt2800.h:1539:41: note: in expansion of macro 'FIELD32'
1539 | #define GF40_PROT_CFG_PROTECT_CTRL FIELD32(0x00030000)
| ^~~~~~~
drivers/net/wireless/ralink/rt2x00/rt2800lib.c:2173:34: note: in expansion of macro 'GF40_PROT_CFG_PROTECT_CTRL'
2173 | rt2x00_set_field32(®, GF40_PROT_CFG_PROTECT_CTRL, gf40_mode);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/wireless/ralink/rt2x00/rt2800lib.c: In function 'rt2800_config_erp':
drivers/net/wireless/ralink/rt2x00/rt2x00reg.h:230:17: error: conversion to non-scalar type requested
230 | (struct rt2x00_field32) { \
| ^~~~~~~~~~~~~~
include/linux/typecheck.h:11:38: note: in definition of macro 'typecheck'
11 | typeof(x) __dummy2 = (typeof(x))0; \
| ^
drivers/net/wireless/ralink/rt2x00/rt2x00reg.h:252:9: note: in expansion of macro 'SET_FIELD'
252 | SET_FIELD(__reg, struct rt2x00_field32, __field, __value)
| ^~~~~~~~~
drivers/net/wireless/ralink/rt2x00/rt2800lib.c:2184:17: note: in expansion of macro 'rt2x00_set_field32'
2184 | rt2x00_set_field32(®, AUTO_RSP_CFG_AR_PREAMBLE,
| ^~~~~~~~~~~~~~~~~~
drivers/net/wireless/ralink/rt2x00/rt2800.h:1790:41: note: in expansion of macro 'FIELD32'
1790 | #define AUTO_RSP_CFG_AR_PREAMBLE FIELD32(0x00000010)
| ^~~~~~~
drivers/net/wireless/ralink/rt2x00/rt2800lib.c:2184:42: note: in expansion of macro 'AUTO_RSP_CFG_AR_PREAMBLE'
2184 | rt2x00_set_field32(®, AUTO_RSP_CFG_AR_PREAMBLE,
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/wireless/ralink/rt2x00/rt2x00reg.h:230:17: error: conversion to non-scalar type requested
230 | (struct rt2x00_field32) { \
| ^~~~~~~~~~~~~~
include/linux/typecheck.h:11:38: note: in definition of macro 'typecheck'
11 | typeof(x) __dummy2 = (typeof(x))0; \
| ^
drivers/net/wireless/ralink/rt2x00/rt2x00reg.h:252:9: note: in expansion of macro 'SET_FIELD'
252 | SET_FIELD(__reg, struct rt2x00_field32, __field, __value)
| ^~~~~~~~~
drivers/net/wireless/ralink/rt2x00/rt2800lib.c:2191:17: note: in expansion of macro 'rt2x00_set_field32'
2191 | rt2x00_set_field32(®, OFDM_PROT_CFG_PROTECT_CTRL,
| ^~~~~~~~~~~~~~~~~~
drivers/net/wireless/ralink/rt2x00/rt2800.h:1475:41: note: in expansion of macro 'FIELD32'
1475 | #define OFDM_PROT_CFG_PROTECT_CTRL FIELD32(0x00030000)
| ^~~~~~~
drivers/net/wireless/ralink/rt2x00/rt2800lib.c:2191:42: note: in expansion of macro 'OFDM_PROT_CFG_PROTECT_CTRL'
2191 | rt2x00_set_field32(®, OFDM_PROT_CFG_PROTECT_CTRL,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/wireless/ralink/rt2x00/rt2x00reg.h:230:17: error: conversion to non-scalar type requested
230 | (struct rt2x00_field32) { \
| ^~~~~~~~~~~~~~
include/linux/typecheck.h:11:38: note: in definition of macro 'typecheck'
11 | typeof(x) __dummy2 = (typeof(x))0; \
| ^
drivers/net/wireless/ralink/rt2x00/rt2x00reg.h:252:9: note: in expansion of macro 'SET_FIELD'
252 | SET_FIELD(__reg, struct rt2x00_field32, __field, __value)
| ^~~~~~~~~
drivers/net/wireless/ralink/rt2x00/rt2800lib.c:2204:17: note: in expansion of macro 'rt2x00_set_field32'
2204 | rt2x00_set_field32(®, BKOFF_SLOT_CFG_SLOT_TIME,
| ^~~~~~~~~~~~~~~~~~
drivers/net/wireless/ralink/rt2x00/rt2800.h:918:41: note: in expansion of macro 'FIELD32'
918 | #define BKOFF_SLOT_CFG_SLOT_TIME FIELD32(0x000000ff)
| ^~~~~~~
drivers/net/wireless/ralink/rt2x00/rt2800lib.c:2204:42: note: in expansion of macro 'BKOFF_SLOT_CFG_SLOT_TIME'
2204 | rt2x00_set_field32(®, BKOFF_SLOT_CFG_SLOT_TIME,
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/wireless/ralink/rt2x00/rt2x00reg.h:230:17: error: conversion to non-scalar type requested
230 | (struct rt2x00_field32) { \
| ^~~~~~~~~~~~~~
include/linux/typecheck.h:11:38: note: in definition of macro 'typecheck'
11 | typeof(x) __dummy2 = (typeof(x))0; \
| ^
drivers/net/wireless/ralink/rt2x00/rt2x00reg.h:252:9: note: in expansion of macro 'SET_FIELD'
252 | SET_FIELD(__reg, struct rt2x00_field32, __field, __value)
| ^~~~~~~~~
drivers/net/wireless/ralink/rt2x00/rt2800lib.c:2209:17: note: in expansion of macro 'rt2x00_set_field32'
2209 | rt2x00_set_field32(®, XIFS_TIME_CFG_EIFS, erp->eifs);
| ^~~~~~~~~~~~~~~~~~
drivers/net/wireless/ralink/rt2x00/rt2800.h:911:41: note: in expansion of macro 'FIELD32'
911 | #define XIFS_TIME_CFG_EIFS FIELD32(0x1ff00000)
| ^~~~~~~
drivers/net/wireless/ralink/rt2x00/rt2800lib.c:2209:42: note: in expansion of macro 'XIFS_TIME_CFG_EIFS'
2209 | rt2x00_set_field32(®, XIFS_TIME_CFG_EIFS, erp->eifs);
| ^~~~~~~~~~~~~~~~~~
drivers/net/wireless/ralink/rt2x00/rt2x00reg.h:230:17: error: conversion to non-scalar type requested
230 | (struct rt2x00_field32) { \
| ^~~~~~~~~~~~~~
include/linux/typecheck.h:11:38: note: in definition of macro 'typecheck'
11 | typeof(x) __dummy2 = (typeof(x))0; \
| ^
drivers/net/wireless/ralink/rt2x00/rt2x00reg.h:252:9: note: in expansion of macro 'SET_FIELD'
252 | SET_FIELD(__reg, struct rt2x00_field32, __field, __value)
| ^~~~~~~~~
drivers/net/wireless/ralink/rt2x00/rt2800lib.c:2215:17: note: in expansion of macro 'rt2x00_set_field32'
2215 | rt2x00_set_field32(®, BCN_TIME_CFG_BEACON_INTERVAL,
| ^~~~~~~~~~~~~~~~~~
drivers/net/wireless/ralink/rt2x00/rt2800.h:958:41: note: in expansion of macro 'FIELD32'
958 | #define BCN_TIME_CFG_BEACON_INTERVAL FIELD32(0x0000ffff)
| ^~~~~~~
drivers/net/wireless/ralink/rt2x00/rt2800lib.c:2215:42: note: in expansion of macro 'BCN_TIME_CFG_BEACON_INTERVAL'
2215 | rt2x00_set_field32(®, BCN_TIME_CFG_BEACON_INTERVAL,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/wireless/ralink/rt2x00/rt2800lib.c: In function 'rt2800_wait_bbp_rf_ready':
>> drivers/net/wireless/ralink/rt2x00/rt2x00reg.h:254:33: error: conversion to non-scalar type requested
254 | GET_FIELD(__reg, struct rt2x00_field32, __field)
| ^~~~~~~~~~~~~~
include/linux/typecheck.h:10:9: note: in definition of macro 'typecheck'
10 | ({ type __dummy; \
| ^~~~
drivers/net/wireless/ralink/rt2x00/rt2x00reg.h:254:9: note: in expansion of macro 'GET_FIELD'
254 | GET_FIELD(__reg, struct rt2x00_field32, __field)
| ^~~~~~~~~
drivers/net/wireless/ralink/rt2x00/rt2800lib.c:2233:22: note: in expansion of macro 'rt2x00_get_field32'
2233 | if (!rt2x00_get_field32(reg, mask))
| ^~~~~~~~~~~~~~~~~~
drivers/net/wireless/ralink/rt2x00/rt2800lib.c: In function 'rt2800_config_3572bt_ant':
drivers/net/wireless/ralink/rt2x00/rt2x00reg.h:230:17: error: conversion to non-scalar type requested
230 | (struct rt2x00_field32) { \
| ^~~~~~~~~~~~~~
include/linux/typecheck.h:11:38: note: in definition of macro 'typecheck'
11 | typeof(x) __dummy2 = (typeof(x))0; \
| ^
drivers/net/wireless/ralink/rt2x00/rt2x00reg.h:252:9: note: in expansion of macro 'SET_FIELD'
252 | SET_FIELD(__reg, struct rt2x00_field32, __field, __value)
| ^~~~~~~~~
drivers/net/wireless/ralink/rt2x00/rt2800lib.c:2275:17: note: in expansion of macro 'rt2x00_set_field32'
2275 | rt2x00_set_field32(®, GPIO_SWITCH_0, 1);
| ^~~~~~~~~~~~~~~~~~
drivers/net/wireless/ralink/rt2x00/rt2800.h:697:41: note: in expansion of macro 'FIELD32'
697 | #define GPIO_SWITCH_0 FIELD32(0x00000001)
| ^~~~~~~
drivers/net/wireless/ralink/rt2x00/rt2800lib.c:2275:42: note: in expansion of macro 'GPIO_SWITCH_0'
2275 | rt2x00_set_field32(®, GPIO_SWITCH_0, 1);
| ^~~~~~~~~~~~~
drivers/net/wireless/ralink/rt2x00/rt2x00reg.h:230:17: error: conversion to non-scalar type requested
230 | (struct rt2x00_field32) { \
| ^~~~~~~~~~~~~~
include/linux/typecheck.h:11:38: note: in definition of macro 'typecheck'
11 | typeof(x) __dummy2 = (typeof(x))0; \
| ^
drivers/net/wireless/ralink/rt2x00/rt2x00reg.h:252:9: note: in expansion of macro 'SET_FIELD'
252 | SET_FIELD(__reg, struct rt2x00_field32, __field, __value)
| ^~~~~~~~~
drivers/net/wireless/ralink/rt2x00/rt2800lib.c:2276:17: note: in expansion of macro 'rt2x00_set_field32'
2276 | rt2x00_set_field32(®, GPIO_SWITCH_1, 1);
| ^~~~~~~~~~~~~~~~~~
drivers/net/wireless/ralink/rt2x00/rt2800.h:698:41: note: in expansion of macro 'FIELD32'
698 | #define GPIO_SWITCH_1 FIELD32(0x00000002)
| ^~~~~~~
drivers/net/wireless/ralink/rt2x00/rt2800lib.c:2276:42: note: in expansion of macro 'GPIO_SWITCH_1'
2276 | rt2x00_set_field32(®, GPIO_SWITCH_1, 1);
| ^~~~~~~~~~~~~
drivers/net/wireless/ralink/rt2x00/rt2x00reg.h:230:17: error: conversion to non-scalar type requested
230 | (struct rt2x00_field32) { \
| ^~~~~~~~~~~~~~
include/linux/typecheck.h:11:38: note: in definition of macro 'typecheck'
11 | typeof(x) __dummy2 = (typeof(x))0; \
| ^
drivers/net/wireless/ralink/rt2x00/rt2x00reg.h:252:9: note: in expansion of macro 'SET_FIELD'
252 | SET_FIELD(__reg, struct rt2x00_field32, __field, __value)
| ^~~~~~~~~
drivers/net/wireless/ralink/rt2x00/rt2800lib.c:2278:17: note: in expansion of macro 'rt2x00_set_field32'
2278 | rt2x00_set_field32(®, GPIO_SWITCH_0, 0);
| ^~~~~~~~~~~~~~~~~~
drivers/net/wireless/ralink/rt2x00/rt2800.h:697:41: note: in expansion of macro 'FIELD32'
697 | #define GPIO_SWITCH_0 FIELD32(0x00000001)
| ^~~~~~~
drivers/net/wireless/ralink/rt2x00/rt2800lib.c:2278:42: note: in expansion of macro 'GPIO_SWITCH_0'
2278 | rt2x00_set_field32(®, GPIO_SWITCH_0, 0);
| ^~~~~~~~~~~~~
drivers/net/wireless/ralink/rt2x00/rt2x00reg.h:230:17: error: conversion to non-scalar type requested
230 | (struct rt2x00_field32) { \
| ^~~~~~~~~~~~~~
include/linux/typecheck.h:11:38: note: in definition of macro 'typecheck'
11 | typeof(x) __dummy2 = (typeof(x))0; \
| ^
drivers/net/wireless/ralink/rt2x00/rt2x00reg.h:252:9: note: in expansion of macro 'SET_FIELD'
252 | SET_FIELD(__reg, struct rt2x00_field32, __field, __value)
| ^~~~~~~~~
drivers/net/wireless/ralink/rt2x00/rt2800lib.c:2279:17: note: in expansion of macro 'rt2x00_set_field32'
2279 | rt2x00_set_field32(®, GPIO_SWITCH_1, 0);
| ^~~~~~~~~~~~~~~~~~
drivers/net/wireless/ralink/rt2x00/rt2800.h:698:41: note: in expansion of macro 'FIELD32'
698 | #define GPIO_SWITCH_1 FIELD32(0x00000002)
| ^~~~~~~
drivers/net/wireless/ralink/rt2x00/rt2800lib.c:2279:42: note: in expansion of macro 'GPIO_SWITCH_1'
2279 | rt2x00_set_field32(®, GPIO_SWITCH_1, 0);
| ^~~~~~~~~~~~~
drivers/net/wireless/ralink/rt2x00/rt2x00reg.h:230:17: error: conversion to non-scalar type requested
230 | (struct rt2x00_field32) { \
| ^~~~~~~~~~~~~~
include/linux/typecheck.h:11:38: note: in definition of macro 'typecheck'
11 | typeof(x) __dummy2 = (typeof(x))0; \
| ^
drivers/net/wireless/ralink/rt2x00/rt2x00reg.h:254:9: note: in expansion of macro 'GET_FIELD'
254 | GET_FIELD(__reg, struct rt2x00_field32, __field)
| ^~~~~~~~~
drivers/net/wireless/ralink/rt2x00/rt2800lib.c:2284:22: note: in expansion of macro 'rt2x00_get_field32'
2284 | led_g_mode = rt2x00_get_field32(reg, LED_CFG_LED_POLAR) ? 3 : 0;
| ^~~~~~~~~~~~~~~~~~
drivers/net/wireless/ralink/rt2x00/rt2800.h:871:41: note: in expansion of macro 'FIELD32'
871 | #define LED_CFG_LED_POLAR FIELD32(0x40000000)
| ^~~~~~~
drivers/net/wireless/ralink/rt2x00/rt2800lib.c:2284:46: note: in expansion of macro 'LED_CFG_LED_POLAR'
vim +254 drivers/net/wireless/ralink/rt2x00/rt2x00reg.h
c483bb4cbdeb24 drivers/net/wireless/rt2x00/rt2x00reg.h Ivo van Doorn 2008-06-03 250
c483bb4cbdeb24 drivers/net/wireless/rt2x00/rt2x00reg.h Ivo van Doorn 2008-06-03 251 #define rt2x00_set_field32(__reg, __field, __value) \
c483bb4cbdeb24 drivers/net/wireless/rt2x00/rt2x00reg.h Ivo van Doorn 2008-06-03 252 SET_FIELD(__reg, struct rt2x00_field32, __field, __value)
c483bb4cbdeb24 drivers/net/wireless/rt2x00/rt2x00reg.h Ivo van Doorn 2008-06-03 253 #define rt2x00_get_field32(__reg, __field) \
c483bb4cbdeb24 drivers/net/wireless/rt2x00/rt2x00reg.h Ivo van Doorn 2008-06-03 @254 GET_FIELD(__reg, struct rt2x00_field32, __field)
c483bb4cbdeb24 drivers/net/wireless/rt2x00/rt2x00reg.h Ivo van Doorn 2008-06-03 255
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next prev parent reply other threads:[~2026-03-15 15:13 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-15 8:52 hamjin
2026-03-15 15:12 ` kernel test robot [this message]
2026-03-25 12:07 ` kernel test robot
2026-03-25 12:52 ` kernel test robot
2026-03-26 2:04 ` Nathan Chancellor
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=202603151603.CY7ALlB0-lkp@intel.com \
--to=lkp@intel.com \
--cc=jinham@qq.com \
--cc=linux-kernel@vger.kernel.org \
--cc=oe-kbuild-all@lists.linux.dev \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome