All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] Adding support for Microchip PAC1711
@ 2025-10-15 10:12 Ariana Lazar
  2025-10-15 10:12 ` [PATCH 1/2] dt-bindings: iio: adc: adding support for PAC1711 Ariana Lazar
                   ` (2 more replies)
  0 siblings, 3 replies; 16+ messages in thread
From: Ariana Lazar @ 2025-10-15 10:12 UTC (permalink / raw)
  To: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: linux-iio, devicetree, linux-kernel, Ariana Lazar

The PAC1711 product is a single-channel power monitor with accumulator.
The device uses 12-bit resolution for voltage and current measurements and
24 bits power calculations. The accumulator register (56-bit) could
accumulate power (energy), current (Coulomb counter) or voltage.

PAC1711 measures up to 42V Full-Scale Range.

Signed-off-by: Ariana Lazar <ariana.lazar@microchip.com>
---
Ariana Lazar (2):
      dt-bindings: iio: adc: adding support for PAC1711
      iio: adc: adding support for PAC1711

 .../ABI/testing/sysfs-bus-iio-adc-pac1711          |   57 +
 .../bindings/iio/adc/microchip,pac1711.yaml        |  195 +++
 MAINTAINERS                                        |    8 +
 drivers/iio/adc/Kconfig                            |   10 +
 drivers/iio/adc/Makefile                           |    1 +
 drivers/iio/adc/pac1711.c                          | 1448 ++++++++++++++++++++
 6 files changed, 1719 insertions(+)
---
base-commit: 19272b37aa4f83ca52bdf9c16d5d81bdd1354494
change-id: 20250901-pac1711-d3bacda400fd

Best regards,
-- 
Ariana Lazar <ariana.lazar@microchip.com>


^ permalink raw reply	[flat|nested] 16+ messages in thread
* Re: [PATCH 2/2] iio: adc: adding support for PAC1711
@ 2025-10-20 20:31 kernel test robot
  0 siblings, 0 replies; 16+ messages in thread
From: kernel test robot @ 2025-10-20 20:31 UTC (permalink / raw)
  To: oe-kbuild; +Cc: lkp

:::::: 
:::::: Manual check reason: "low confidence static check warning: drivers/iio/adc/pac1711.c:1079:27: sparse: sparse: unsigned value that used to be signed checked against zero?"
:::::: 

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
In-Reply-To: <20251015-pac1711-v1-2-976949e36367@microchip.com>
References: <20251015-pac1711-v1-2-976949e36367@microchip.com>
TO: Ariana Lazar <ariana.lazar@microchip.com>
TO: Jonathan Cameron <jic23@kernel.org>
TO: David Lechner <dlechner@baylibre.com>
TO: "Nuno Sá" <nuno.sa@analog.com>
TO: Andy Shevchenko <andy@kernel.org>
TO: Rob Herring <robh@kernel.org>
TO: Krzysztof Kozlowski <krzk@kernel.org>
TO: Conor Dooley <conor+dt@kernel.org>
CC: linux-iio@vger.kernel.org
CC: devicetree@vger.kernel.org
CC: linux-kernel@vger.kernel.org
CC: Ariana Lazar <ariana.lazar@microchip.com>

Hi Ariana,

kernel test robot noticed the following build warnings:

[auto build test WARNING on 19272b37aa4f83ca52bdf9c16d5d81bdd1354494]

url:    https://github.com/intel-lab-lkp/linux/commits/Ariana-Lazar/dt-bindings-iio-adc-adding-support-for-PAC1711/20251016-002337
base:   19272b37aa4f83ca52bdf9c16d5d81bdd1354494
patch link:    https://lore.kernel.org/r/20251015-pac1711-v1-2-976949e36367%40microchip.com
patch subject: [PATCH 2/2] iio: adc: adding support for PAC1711
:::::: branch date: 5 days ago
:::::: commit date: 5 days ago
config: csky-randconfig-r112-20251021 (https://download.01.org/0day-ci/archive/20251021/202510210413.JRfDM9jF-lkp@intel.com/config)
compiler: csky-linux-gcc (GCC) 13.4.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251021/202510210413.JRfDM9jF-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/r/202510210413.JRfDM9jF-lkp@intel.com/

sparse warnings: (new ones prefixed by >>)
>> drivers/iio/adc/pac1711.c:1079:27: sparse: sparse: unsigned value that used to be signed checked against zero?
>> drivers/iio/adc/pac1711.c:1078:42: sparse: signed value source
   drivers/iio/adc/pac1711.c:1102:27: sparse: sparse: unsigned value that used to be signed checked against zero?
   drivers/iio/adc/pac1711.c:1101:42: sparse: signed value source

vim +1079 drivers/iio/adc/pac1711.c

de2a3cdfd6e76b Ariana Lazar 2025-10-15  1065  
de2a3cdfd6e76b Ariana Lazar 2025-10-15  1066  static int pac1711_setup_vbus_range(struct pac1711_chip_info *info)
de2a3cdfd6e76b Ariana Lazar 2025-10-15  1067  {
de2a3cdfd6e76b Ariana Lazar 2025-10-15  1068  	const char *prop_name = "microchip,vbus-input-range-microvolt";
de2a3cdfd6e76b Ariana Lazar 2025-10-15  1069  	struct i2c_client *client = info->client;
de2a3cdfd6e76b Ariana Lazar 2025-10-15  1070  	struct device *dev = &client->dev;
de2a3cdfd6e76b Ariana Lazar 2025-10-15  1071  	unsigned int tbl_len, ret;
de2a3cdfd6e76b Ariana Lazar 2025-10-15  1072  	s32 vals[2];
de2a3cdfd6e76b Ariana Lazar 2025-10-15  1073  
de2a3cdfd6e76b Ariana Lazar 2025-10-15  1074  	/* default value is unipolar and Full Scale Range */
de2a3cdfd6e76b Ariana Lazar 2025-10-15  1075  	ret = device_property_read_u32_array(dev, prop_name, vals, 2);
de2a3cdfd6e76b Ariana Lazar 2025-10-15  1076  	if (!ret) {
de2a3cdfd6e76b Ariana Lazar 2025-10-15  1077  		tbl_len = ARRAY_SIZE(pac1711_vbus_range_tbl);
de2a3cdfd6e76b Ariana Lazar 2025-10-15 @1078  		ret = pac1711_check_range(vals, pac1711_vbus_range_tbl, tbl_len);
de2a3cdfd6e76b Ariana Lazar 2025-10-15 @1079  		if (ret < 0)
de2a3cdfd6e76b Ariana Lazar 2025-10-15  1080  			return dev_err_probe(dev, -EINVAL, "Invalid value %d, %d for prop %s\n",
de2a3cdfd6e76b Ariana Lazar 2025-10-15  1081  					     vals[0], vals[1], prop_name);
de2a3cdfd6e76b Ariana Lazar 2025-10-15  1082  
de2a3cdfd6e76b Ariana Lazar 2025-10-15  1083  		info->vbus_mode = ret;
de2a3cdfd6e76b Ariana Lazar 2025-10-15  1084  	}
de2a3cdfd6e76b Ariana Lazar 2025-10-15  1085  
de2a3cdfd6e76b Ariana Lazar 2025-10-15  1086  	return 0;
de2a3cdfd6e76b Ariana Lazar 2025-10-15  1087  }
de2a3cdfd6e76b Ariana Lazar 2025-10-15  1088  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] 16+ messages in thread
* Re: [PATCH 2/2] iio: adc: adding support for PAC1711
  2025-10-15 10:12 ` [PATCH 2/2] " Ariana Lazar
@ 2025-10-23  7:31 ` Dan Carpenter
  2025-10-19 10:28   ` Jonathan Cameron
  1 sibling, 0 replies; 16+ messages in thread
From: kernel test robot @ 2025-10-23  1:51 UTC (permalink / raw)
  To: oe-kbuild; +Cc: lkp, Dan Carpenter

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
In-Reply-To: <20251015-pac1711-v1-2-976949e36367@microchip.com>
References: <20251015-pac1711-v1-2-976949e36367@microchip.com>
TO: Ariana Lazar <ariana.lazar@microchip.com>
TO: Jonathan Cameron <jic23@kernel.org>
TO: David Lechner <dlechner@baylibre.com>
TO: "Nuno Sá" <nuno.sa@analog.com>
TO: Andy Shevchenko <andy@kernel.org>
TO: Rob Herring <robh@kernel.org>
TO: Krzysztof Kozlowski <krzk@kernel.org>
TO: Conor Dooley <conor+dt@kernel.org>
CC: linux-iio@vger.kernel.org
CC: devicetree@vger.kernel.org
CC: linux-kernel@vger.kernel.org
CC: Ariana Lazar <ariana.lazar@microchip.com>

Hi Ariana,

kernel test robot noticed the following build warnings:

[auto build test WARNING on 19272b37aa4f83ca52bdf9c16d5d81bdd1354494]

url:    https://github.com/intel-lab-lkp/linux/commits/Ariana-Lazar/dt-bindings-iio-adc-adding-support-for-PAC1711/20251016-002337
base:   19272b37aa4f83ca52bdf9c16d5d81bdd1354494
patch link:    https://lore.kernel.org/r/20251015-pac1711-v1-2-976949e36367%40microchip.com
patch subject: [PATCH 2/2] iio: adc: adding support for PAC1711
:::::: branch date: 7 days ago
:::::: commit date: 7 days ago
config: loongarch-randconfig-r072-20251019 (https://download.01.org/0day-ci/archive/20251023/202510230847.CEW0lvJl-lkp@intel.com/config)
compiler: loongarch64-linux-gcc (GCC) 15.1.0

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>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202510230847.CEW0lvJl-lkp@intel.com/

New smatch warnings:
drivers/iio/adc/pac1711.c:473 pac1711_retrieve_data() error: uninitialized symbol 'ret'.
drivers/iio/adc/pac1711.c:924 pac1711_read_raw() error: uninitialized symbol 'tmp'.
drivers/iio/adc/pac1711.c:1124 pac1711_of_parse_channel_config() error: uninitialized symbol 'ret'.

Old smatch warnings:
drivers/iio/adc/pac1711.c:1079 pac1711_setup_vbus_range() warn: unsigned 'ret' is never less than zero.
drivers/iio/adc/pac1711.c:1079 pac1711_setup_vbus_range() warn: error code type promoted to positive: 'ret'
drivers/iio/adc/pac1711.c:1102 pac1711_setup_vsense_range() warn: unsigned 'ret' is never less than zero.
drivers/iio/adc/pac1711.c:1102 pac1711_setup_vsense_range() warn: error code type promoted to positive: 'ret'
drivers/iio/adc/pac1711.c:1377 pac1711_probe() warn: passing positive error code '1' to 'dev_err_probe'

vim +/ret +473 drivers/iio/adc/pac1711.c

de2a3cdfd6e76b2 Ariana Lazar 2025-10-15  449  
de2a3cdfd6e76b2 Ariana Lazar 2025-10-15  450  static int pac1711_retrieve_data(struct pac1711_chip_info *info,
de2a3cdfd6e76b2 Ariana Lazar 2025-10-15  451  				 u32 wait_time)
de2a3cdfd6e76b2 Ariana Lazar 2025-10-15  452  {
de2a3cdfd6e76b2 Ariana Lazar 2025-10-15  453  	int ret;
de2a3cdfd6e76b2 Ariana Lazar 2025-10-15  454  
de2a3cdfd6e76b2 Ariana Lazar 2025-10-15  455  	/*
de2a3cdfd6e76b2 Ariana Lazar 2025-10-15  456  	 * check if the minimal elapsed time has passed and if so,
de2a3cdfd6e76b2 Ariana Lazar 2025-10-15  457  	 * re-read the chip, otherwise the cached info is just fine
de2a3cdfd6e76b2 Ariana Lazar 2025-10-15  458  	 */
de2a3cdfd6e76b2 Ariana Lazar 2025-10-15  459  	if (time_after(jiffies, info->chip_reg_data.jiffies_tstamp +
de2a3cdfd6e76b2 Ariana Lazar 2025-10-15  460  			msecs_to_jiffies(PAC1711_MIN_POLLING_TIME_MS))) {
de2a3cdfd6e76b2 Ariana Lazar 2025-10-15  461  		ret = pac1711_reg_snapshot(info, true, PAC1711_REFRESH_REG_ADDR,
de2a3cdfd6e76b2 Ariana Lazar 2025-10-15  462  					   wait_time);
de2a3cdfd6e76b2 Ariana Lazar 2025-10-15  463  
de2a3cdfd6e76b2 Ariana Lazar 2025-10-15  464  		/*
de2a3cdfd6e76b2 Ariana Lazar 2025-10-15  465  		 * Re-schedule the work for the read registers timeout
de2a3cdfd6e76b2 Ariana Lazar 2025-10-15  466  		 * (to prevent chip regs saturation)
de2a3cdfd6e76b2 Ariana Lazar 2025-10-15  467  		 */
de2a3cdfd6e76b2 Ariana Lazar 2025-10-15  468  		cancel_delayed_work_sync(&info->work_chip_rfsh);
de2a3cdfd6e76b2 Ariana Lazar 2025-10-15  469  		schedule_delayed_work(&info->work_chip_rfsh,
de2a3cdfd6e76b2 Ariana Lazar 2025-10-15  470  				      msecs_to_jiffies(PAC1711_MAX_RFSH_LIMIT_MS));
de2a3cdfd6e76b2 Ariana Lazar 2025-10-15  471  	}
de2a3cdfd6e76b2 Ariana Lazar 2025-10-15  472  
de2a3cdfd6e76b2 Ariana Lazar 2025-10-15 @473  	return ret;
de2a3cdfd6e76b2 Ariana Lazar 2025-10-15  474  }
de2a3cdfd6e76b2 Ariana Lazar 2025-10-15  475  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2025-11-25 17:25 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-15 10:12 [PATCH 0/2] Adding support for Microchip PAC1711 Ariana Lazar
2025-10-15 10:12 ` [PATCH 1/2] dt-bindings: iio: adc: adding support for PAC1711 Ariana Lazar
2025-10-16 16:19   ` Conor Dooley
2025-10-19  9:04   ` Jonathan Cameron
2025-11-25 17:25     ` Ariana.Lazar
2025-10-15 10:12 ` [PATCH 2/2] " Ariana Lazar
2025-10-16  5:31   ` kernel test robot
2025-10-19 10:28   ` Jonathan Cameron
2025-11-19 15:31     ` Ariana.Lazar
2025-11-19 15:58       ` Andy Shevchenko
2025-10-19 10:31 ` [PATCH 0/2] Adding support for Microchip PAC1711 Jonathan Cameron
2025-10-19 15:02   ` Guenter Roeck
2025-10-23 12:36     ` Ariana.Lazar
  -- strict thread matches above, loose matches on Subject: below --
2025-10-20 20:31 [PATCH 2/2] iio: adc: adding support for PAC1711 kernel test robot
2025-10-23  1:51 kernel test robot
2025-10-23  7:31 ` Dan Carpenter

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.