[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202510280208.NhQyE0y1-lkp@intel.com>
Date: Tue, 28 Oct 2025 02:59:30 +0800
From: kernel test robot <lkp@...el.com>
To: Junjie Cao <caojunjie650@...il.com>, Lee Jones <lee@...nel.org>,
Daniel Thompson <danielt@...nel.org>,
Jingoo Han <jingoohan1@...il.com>, Pavel Machek <pavel@...nel.org>,
Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk@...nel.org>,
Conor Dooley <conor+dt@...nel.org>, Helge Deller <deller@....de>
Cc: oe-kbuild-all@...ts.linux.dev, dri-devel@...ts.freedesktop.org,
linux-leds@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-fbdev@...r.kernel.org,
Junjie Cao <caojunjie650@...il.com>,
Pengyu Luo <mitltlatltl@...il.com>
Subject: Re: [PATCH 2/2] backlight: aw99706: Add support for Awinic AW99706
backlight
Hi Junjie,
kernel test robot noticed the following build warnings:
[auto build test WARNING on lee-backlight/for-backlight-next]
[also build test WARNING on lee-leds/for-leds-next linus/master v6.18-rc3 next-20251027]
[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/Junjie-Cao/backlight-aw99706-Add-support-for-Awinic-AW99706-backlight/20251026-214135
base: https://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight.git for-backlight-next
patch link: https://lore.kernel.org/r/20251026123923.1531727-3-caojunjie650%40gmail.com
patch subject: [PATCH 2/2] backlight: aw99706: Add support for Awinic AW99706 backlight
config: powerpc-allmodconfig (https://download.01.org/0day-ci/archive/20251028/202510280208.NhQyE0y1-lkp@intel.com/config)
compiler: powerpc64-linux-gcc (GCC) 15.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251028/202510280208.NhQyE0y1-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@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202510280208.NhQyE0y1-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from include/linux/fortify-string.h:5,
from include/linux/string.h:382,
from arch/powerpc/include/asm/paca.h:16,
from arch/powerpc/include/asm/current.h:13,
from include/linux/sched.h:12,
from include/linux/ratelimit.h:6,
from include/linux/dev_printk.h:16,
from include/linux/device.h:15,
from include/linux/backlight.h:12,
from drivers/video/backlight/aw99706.c:12:
drivers/video/backlight/aw99706.c: In function 'aw99706_bl_enable':
>> include/linux/bitfield.h:172:27: warning: 'val' is used uninitialized [-Wuninitialized]
172 | *(_reg_p) &= ~(_mask); \
| ^~
drivers/video/backlight/aw99706.c:325:9: note: in expansion of macro 'FIELD_MODIFY'
325 | FIELD_MODIFY(AW99706_BACKLIGHT_EN_MASK, &val, en);
| ^~~~~~~~~~~~
drivers/video/backlight/aw99706.c:323:12: note: 'val' was declared here
323 | u8 val;
| ^~~
vim +/val +172 include/linux/bitfield.h
e2192de59e457a Johannes Berg 2023-01-18 120
e2192de59e457a Johannes Berg 2023-01-18 121 /**
e2192de59e457a Johannes Berg 2023-01-18 122 * FIELD_PREP_CONST() - prepare a constant bitfield element
e2192de59e457a Johannes Berg 2023-01-18 123 * @_mask: shifted mask defining the field's length and position
e2192de59e457a Johannes Berg 2023-01-18 124 * @_val: value to put in the field
e2192de59e457a Johannes Berg 2023-01-18 125 *
e2192de59e457a Johannes Berg 2023-01-18 126 * FIELD_PREP_CONST() masks and shifts up the value. The result should
e2192de59e457a Johannes Berg 2023-01-18 127 * be combined with other fields of the bitfield using logical OR.
e2192de59e457a Johannes Berg 2023-01-18 128 *
e2192de59e457a Johannes Berg 2023-01-18 129 * Unlike FIELD_PREP() this is a constant expression and can therefore
e2192de59e457a Johannes Berg 2023-01-18 130 * be used in initializers. Error checking is less comfortable for this
e2192de59e457a Johannes Berg 2023-01-18 131 * version, and non-constant masks cannot be used.
e2192de59e457a Johannes Berg 2023-01-18 132 */
e2192de59e457a Johannes Berg 2023-01-18 133 #define FIELD_PREP_CONST(_mask, _val) \
e2192de59e457a Johannes Berg 2023-01-18 134 ( \
e2192de59e457a Johannes Berg 2023-01-18 135 /* mask must be non-zero */ \
e2192de59e457a Johannes Berg 2023-01-18 136 BUILD_BUG_ON_ZERO((_mask) == 0) + \
e2192de59e457a Johannes Berg 2023-01-18 137 /* check if value fits */ \
e2192de59e457a Johannes Berg 2023-01-18 138 BUILD_BUG_ON_ZERO(~((_mask) >> __bf_shf(_mask)) & (_val)) + \
e2192de59e457a Johannes Berg 2023-01-18 139 /* check if mask is contiguous */ \
e2192de59e457a Johannes Berg 2023-01-18 140 __BF_CHECK_POW2((_mask) + (1ULL << __bf_shf(_mask))) + \
e2192de59e457a Johannes Berg 2023-01-18 141 /* and create the value */ \
e2192de59e457a Johannes Berg 2023-01-18 142 (((typeof(_mask))(_val) << __bf_shf(_mask)) & (_mask)) \
e2192de59e457a Johannes Berg 2023-01-18 143 )
e2192de59e457a Johannes Berg 2023-01-18 144
3e9b3112ec74f1 Jakub Kicinski 2016-08-31 145 /**
3e9b3112ec74f1 Jakub Kicinski 2016-08-31 146 * FIELD_GET() - extract a bitfield element
3e9b3112ec74f1 Jakub Kicinski 2016-08-31 147 * @_mask: shifted mask defining the field's length and position
7240767450d6d8 Masahiro Yamada 2017-10-03 148 * @_reg: value of entire bitfield
3e9b3112ec74f1 Jakub Kicinski 2016-08-31 149 *
3e9b3112ec74f1 Jakub Kicinski 2016-08-31 150 * FIELD_GET() extracts the field specified by @_mask from the
3e9b3112ec74f1 Jakub Kicinski 2016-08-31 151 * bitfield passed in as @_reg by masking and shifting it down.
3e9b3112ec74f1 Jakub Kicinski 2016-08-31 152 */
3e9b3112ec74f1 Jakub Kicinski 2016-08-31 153 #define FIELD_GET(_mask, _reg) \
3e9b3112ec74f1 Jakub Kicinski 2016-08-31 154 ({ \
3e9b3112ec74f1 Jakub Kicinski 2016-08-31 155 __BF_FIELD_CHECK(_mask, _reg, 0U, "FIELD_GET: "); \
3e9b3112ec74f1 Jakub Kicinski 2016-08-31 156 (typeof(_mask))(((_reg) & (_mask)) >> __bf_shf(_mask)); \
3e9b3112ec74f1 Jakub Kicinski 2016-08-31 157 })
3e9b3112ec74f1 Jakub Kicinski 2016-08-31 158
a256ae22570ee4 Luo Jie 2025-04-17 159 /**
a256ae22570ee4 Luo Jie 2025-04-17 160 * FIELD_MODIFY() - modify a bitfield element
a256ae22570ee4 Luo Jie 2025-04-17 161 * @_mask: shifted mask defining the field's length and position
a256ae22570ee4 Luo Jie 2025-04-17 162 * @_reg_p: pointer to the memory that should be updated
a256ae22570ee4 Luo Jie 2025-04-17 163 * @_val: value to store in the bitfield
a256ae22570ee4 Luo Jie 2025-04-17 164 *
a256ae22570ee4 Luo Jie 2025-04-17 165 * FIELD_MODIFY() modifies the set of bits in @_reg_p specified by @_mask,
a256ae22570ee4 Luo Jie 2025-04-17 166 * by replacing them with the bitfield value passed in as @_val.
a256ae22570ee4 Luo Jie 2025-04-17 167 */
a256ae22570ee4 Luo Jie 2025-04-17 168 #define FIELD_MODIFY(_mask, _reg_p, _val) \
a256ae22570ee4 Luo Jie 2025-04-17 169 ({ \
a256ae22570ee4 Luo Jie 2025-04-17 170 typecheck_pointer(_reg_p); \
a256ae22570ee4 Luo Jie 2025-04-17 171 __BF_FIELD_CHECK(_mask, *(_reg_p), _val, "FIELD_MODIFY: "); \
a256ae22570ee4 Luo Jie 2025-04-17 @172 *(_reg_p) &= ~(_mask); \
a256ae22570ee4 Luo Jie 2025-04-17 173 *(_reg_p) |= (((typeof(_mask))(_val) << __bf_shf(_mask)) & (_mask)); \
a256ae22570ee4 Luo Jie 2025-04-17 174 })
a256ae22570ee4 Luo Jie 2025-04-17 175
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists