[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202409280806.yxX1K5ey-lkp@intel.com>
Date: Sat, 28 Sep 2024 06:08:36 +0800
From: kernel test robot <lkp@...el.com>
To: Yikai Tsai <yikai.tsai.wiwynn@...il.com>, patrick@...cx.xyz,
Jean Delvare <jdelvare@...e.com>,
Guenter Roeck <linux@...ck-us.net>,
Jonathan Corbet <corbet@....net>,
Carsten Spieß <mail@...sten-spiess.de>,
Geert Uytterhoeven <geert+renesas@...der.be>,
Magnus Damm <magnus.damm@...il.com>
Cc: oe-kbuild-all@...ts.linux.dev, Yikai Tsai <yikai.tsai.wiwynn@...il.com>,
Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk@...nel.org>,
Conor Dooley <conor+dt@...nel.org>, linux-hwmon@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-doc@...r.kernel.org, linux-renesas-soc@...r.kernel.org
Subject: Re: [PATCH v7 2/2] hwmon: (isl28022) new driver for ISL28022 power
monitor
Hi Yikai,
kernel test robot noticed the following build warnings:
[auto build test WARNING on groeck-staging/hwmon-next]
[also build test WARNING on linus/master v6.11 next-20240927]
[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/Yikai-Tsai/dt-bindings-hwmon-add-renesas-isl28022/20240925-111332
base: https://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging.git hwmon-next
patch link: https://lore.kernel.org/r/20240925031131.14645-3-yikai.tsai.wiwynn%40gmail.com
patch subject: [PATCH v7 2/2] hwmon: (isl28022) new driver for ISL28022 power monitor
config: x86_64-randconfig-121-20240928 (https://download.01.org/0day-ci/archive/20240928/202409280806.yxX1K5ey-lkp@intel.com/config)
compiler: gcc-11 (Debian 11.3.0-12) 11.3.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240928/202409280806.yxX1K5ey-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/202409280806.yxX1K5ey-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
drivers/hwmon/isl28022.c:396:36: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected int err @@ got char * @@
drivers/hwmon/isl28022.c:396:36: sparse: expected int err
drivers/hwmon/isl28022.c:396:36: sparse: got char *
drivers/hwmon/isl28022.c:396:88: sparse: sparse: incorrect type in argument 3 (different base types) @@ expected char const *fmt @@ got unsigned int [addressable] [assigned] [usertype] val @@
drivers/hwmon/isl28022.c:396:88: sparse: expected char const *fmt
drivers/hwmon/isl28022.c:396:88: sparse: got unsigned int [addressable] [assigned] [usertype] val
drivers/hwmon/isl28022.c:406:36: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected int err @@ got char * @@
drivers/hwmon/isl28022.c:406:36: sparse: expected int err
drivers/hwmon/isl28022.c:406:36: sparse: got char *
drivers/hwmon/isl28022.c:406:82: sparse: sparse: incorrect type in argument 3 (different base types) @@ expected char const *fmt @@ got unsigned int [addressable] [assigned] [usertype] val @@
drivers/hwmon/isl28022.c:406:82: sparse: expected char const *fmt
drivers/hwmon/isl28022.c:406:82: sparse: got unsigned int [addressable] [assigned] [usertype] val
drivers/hwmon/isl28022.c:414:28: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected int err @@ got char * @@
drivers/hwmon/isl28022.c:414:28: sparse: expected int err
drivers/hwmon/isl28022.c:414:28: sparse: got char *
drivers/hwmon/isl28022.c:414:87: sparse: sparse: incorrect type in argument 3 (different base types) @@ expected char const *fmt @@ got unsigned int [usertype] shunt @@
drivers/hwmon/isl28022.c:414:87: sparse: expected char const *fmt
drivers/hwmon/isl28022.c:414:87: sparse: got unsigned int [usertype] shunt
>> drivers/hwmon/isl28022.c:396:36: sparse: sparse: non size-preserving pointer to integer cast
>> drivers/hwmon/isl28022.c:396:88: sparse: sparse: non size-preserving integer to pointer cast
drivers/hwmon/isl28022.c:406:36: sparse: sparse: non size-preserving pointer to integer cast
drivers/hwmon/isl28022.c:406:82: sparse: sparse: non size-preserving integer to pointer cast
drivers/hwmon/isl28022.c:414:28: sparse: sparse: non size-preserving pointer to integer cast
drivers/hwmon/isl28022.c:414:83: sparse: sparse: non size-preserving integer to pointer cast
vim +396 drivers/hwmon/isl28022.c
346
347 /*
348 * read property values and make consistency checks.
349 *
350 * following values for shunt range and resistor are allowed:
351 * 40 mV -> gain 1, shunt min. 800 micro ohms
352 * 80 mV -> gain 2, shunt min. 1600 micro ohms
353 * 160 mV -> gain 4, shunt min. 3200 micro ohms
354 * 320 mV -> gain 8, shunt min. 6400 micro ohms
355 */
356 static int isl28022_read_properties(struct device *dev, struct isl28022_data *data)
357 {
358 u32 val;
359 int err;
360
361 err = device_property_read_u32(dev, "shunt-resistor-micro-ohms", &val);
362 if (err == -EINVAL)
363 val = 10000;
364 else if (err < 0)
365 return err;
366 data->shunt = val;
367
368 err = device_property_read_u32(dev, "renesas,shunt-range-microvolt", &val);
369 if (err == -EINVAL)
370 val = 320000;
371 else if (err < 0)
372 return err;
373
374 switch (val) {
375 case 40000:
376 data->gain = 1;
377 if (data->shunt < 800)
378 goto shunt_invalid;
379 break;
380 case 80000:
381 data->gain = 2;
382 if (data->shunt < 1600)
383 goto shunt_invalid;
384 break;
385 case 160000:
386 data->gain = 4;
387 if (data->shunt < 3200)
388 goto shunt_invalid;
389 break;
390 case 320000:
391 data->gain = 8;
392 if (data->shunt < 6400)
393 goto shunt_invalid;
394 break;
395 default:
> 396 dev_err_probe(dev, "renesas,shunt-range-microvolt invalid value %d\n", val);
397 return -EINVAL;
398 }
399
400 err = device_property_read_u32(dev, "renesas,average-samples", &val);
401 if (err == -EINVAL)
402 val = 1;
403 else if (err < 0)
404 return err;
405 if (val > 128 || hweight32(val) != 1) {
406 dev_err_probe(dev, "renesas,average-samples invalid value %d\n", val);
407 return -EINVAL;
408 }
409 data->average = val;
410
411 return 0;
412
413 shunt_invalid:
414 dev_err_probe(dev, "renesas,shunt-resistor-microvolt invalid value %d\n", data->shunt);
415 return -EINVAL;
416 }
417
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists