[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <202507221720.jxsGRfcE-lkp@intel.com>
Date: Tue, 22 Jul 2025 18:19:39 +0800
From: kernel test robot <lkp@...el.com>
To: Joy Zou <joy.zou@....com>, Liam Girdwood <lgirdwood@...il.com>,
Mark Brown <broonie@...nel.org>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk@...nel.org>,
Conor Dooley <conor+dt@...nel.org>
Cc: oe-kbuild-all@...ts.linux.dev, linux-kernel@...r.kernel.org,
devicetree@...r.kernel.org, imx@...ts.linux.dev,
Frank Li <Frank.Li@....com>, Ye Li <ye.li@....com>,
Jacky Bai <ping.bai@....com>, Dong Aisheng <aisheng.dong@....com>,
kernel test robot <lkp@...el.com>
Subject: Re: [PATCH v2 2/2] regulator: pf0900: Add PMIC PF0900 support
Hi Joy,
kernel test robot noticed the following build errors:
[auto build test ERROR on d086c886ceb9f59dea6c3a9dae7eb89e780a20c9]
url: https://github.com/intel-lab-lkp/linux/commits/Joy-Zou/dt-bindings-regulator-add-PF0900-regulator-yaml/20250721-151818
base: d086c886ceb9f59dea6c3a9dae7eb89e780a20c9
patch link: https://lore.kernel.org/r/20250721-b4-pf09-v2-v2-2-e2c568548032%40nxp.com
patch subject: [PATCH v2 2/2] regulator: pf0900: Add PMIC PF0900 support
config: sh-allmodconfig (https://download.01.org/0day-ci/archive/20250722/202507221720.jxsGRfcE-lkp@intel.com/config)
compiler: sh4-linux-gcc (GCC) 15.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250722/202507221720.jxsGRfcE-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/202507221720.jxsGRfcE-lkp@intel.com/
All errors (new ones prefixed by >>):
drivers/regulator/pf0900-regulator.c: In function 'pf0900_regmap_read':
>> drivers/regulator/pf0900-regulator.c:377:64: error: implicit declaration of function 'FIELD_GET' [-Wimplicit-function-declaration]
377 | crc = crc8_j1850(pf0900->addr << 1 | 0x1, reg, FIELD_GET(GENMASK(7, 0), *val));
| ^~~~~~~~~
drivers/regulator/pf0900-regulator.c: In function 'pf0900_regmap_write':
>> drivers/regulator/pf0900-regulator.c:416:23: error: implicit declaration of function 'FIELD_PREP' [-Wimplicit-function-declaration]
416 | val = FIELD_PREP(GENMASK(15, 8), data[1]) | data[0];
| ^~~~~~~~~~
vim +/FIELD_GET +377 drivers/regulator/pf0900-regulator.c
351
352 static int pf0900_regmap_read(void *context, unsigned int reg,
353 unsigned int *val)
354 {
355 struct device *dev = context;
356 struct i2c_client *i2c = to_i2c_client(dev);
357 struct pf0900 *pf0900 = dev_get_drvdata(dev);
358 int ret;
359 u8 crc;
360
361 if (!pf0900 || !pf0900->dev)
362 return -EINVAL;
363
364 if (reg >= PF0900_MAX_REGISTER) {
365 dev_err(pf0900->dev, "Invalid register address: 0x%x\n", reg);
366 return -EINVAL;
367 }
368
369 if (pf0900->crc_en) {
370 ret = i2c_smbus_read_word_data(i2c, reg);
371 if (ret < 0) {
372 dev_err(pf0900->dev, "Read error at reg=0x%x: %d\n", reg, ret);
373 return ret;
374 }
375
376 *val = (u16)ret;
> 377 crc = crc8_j1850(pf0900->addr << 1 | 0x1, reg, FIELD_GET(GENMASK(7, 0), *val));
378 if (crc != FIELD_GET(GENMASK(15, 8), *val)) {
379 dev_err(pf0900->dev, "Crc check error!\n");
380 return -EINVAL;
381 }
382 *val = FIELD_GET(GENMASK(7, 0), *val);
383 } else {
384 ret = i2c_smbus_read_byte_data(i2c, reg);
385 if (ret < 0) {
386 dev_err(pf0900->dev, "Read error at reg=0x%x: %d\n", reg, ret);
387 return ret;
388 }
389 *val = ret;
390 }
391
392 return 0;
393 }
394
395 static int pf0900_regmap_write(void *context, unsigned int reg,
396 unsigned int val)
397 {
398 struct device *dev = context;
399 struct i2c_client *i2c = to_i2c_client(dev);
400 struct pf0900 *pf0900 = dev_get_drvdata(dev);
401 uint8_t data[2];
402 int ret;
403
404 if (!pf0900 || !pf0900->dev)
405 return -EINVAL;
406
407 if (reg >= PF0900_MAX_REGISTER) {
408 dev_err(pf0900->dev, "Invalid register address: 0x%x\n", reg);
409 return -EINVAL;
410 }
411
412 data[0] = val;
413 if (pf0900->crc_en) {
414 /* Get CRC */
415 data[1] = crc8_j1850(pf0900->addr << 1, reg, data[0]);
> 416 val = FIELD_PREP(GENMASK(15, 8), data[1]) | data[0];
417 ret = i2c_smbus_write_word_data(i2c, reg, val);
418 } else {
419 ret = i2c_smbus_write_byte_data(i2c, reg, data[0]);
420 }
421
422 if (ret) {
423 dev_err(pf0900->dev, "Write reg=0x%x error!\n", reg);
424 return ret;
425 }
426
427 return 0;
428 }
429
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists