Linux-Hwmon Archive on lore.kernel.org
 help / color / Atom feed
* [PATCH v5 0/2] hwmon: scmi: Scale values to target desired HWMON units
@ 2019-05-08 18:46 Florian Fainelli
  2019-05-08 18:46 ` [PATCH v5 1/2] firmware: arm_scmi: Fetch and store sensor scale Florian Fainelli
  2019-05-08 18:46 ` [PATCH v5 2/2] hwmon: scmi: Scale values to target desired HWMON units Florian Fainelli
  0 siblings, 2 replies; 10+ messages in thread
From: Florian Fainelli @ 2019-05-08 18:46 UTC (permalink / raw)
  To: linux-kernel
  Cc: bcm-kernel-feedback-list, Florian Fainelli, Sudeep Holla,
	Jean Delvare, Guenter Roeck, linux-arm-kernel, linux-hwmon

Hi Sudeep, Guenter,

This patch series adds support for scaling SCMI sensor values read from
firmware. Sudeep, let me know if you think we should be treating scale
== 0 as a special value to preserve some firmware compatibility (not
that this would be desired).

Changes in v5:
- overflow check would not work, so check specifically for an absolute
  scale being greater than 19 to avoid returning an incorrect power of
  10 factor
- fixed incorrect value argument passed to scmi_hwmon_scale().
- Added Guenter's Reviewed-by tag on the first patch

Changes in v4:
- deal with overflow in the caller of __pow10() as suggested by Guenter
  which makes us rework a bit how the value argument/return value are
  passed
- don't harcode the latest power of 10 factor to be 18, just rely on
  overflowing the u64 value instead

Changes in v3:

- add a local __pow10 function to scmi-hwmon.c while a plan to provide
  a generic function is figured out.
- add check on power > 18 which would overflow a 64-bit unsigned integer
- use div64_u64() to properly divide a 64-bit quantity with an unsigned
  64-bit quantity

Changes in v2:

- added a helper function in kernel.h: __pow10()
- made the scale in scmi_sensor_info an s8 type, added defines for
  checking the sign bit and sign extending with a mask
- simplify computations in hwmon driver

Florian Fainelli (2):
  firmware: arm_scmi: Fetch and store sensor scale
  hwmon: scmi: Scale values to target desired HWMON units

 drivers/firmware/arm_scmi/sensors.c |  6 ++++
 drivers/hwmon/scmi-hwmon.c          | 45 +++++++++++++++++++++++++++++
 include/linux/scmi_protocol.h       |  1 +
 3 files changed, 52 insertions(+)

-- 
2.17.1


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

end of thread, back to index

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-05-08 18:46 [PATCH v5 0/2] hwmon: scmi: Scale values to target desired HWMON units Florian Fainelli
2019-05-08 18:46 ` [PATCH v5 1/2] firmware: arm_scmi: Fetch and store sensor scale Florian Fainelli
2019-05-08 18:46 ` [PATCH v5 2/2] hwmon: scmi: Scale values to target desired HWMON units Florian Fainelli
2019-05-08 21:10   ` Guenter Roeck
2019-05-13 18:10     ` Florian Fainelli
2019-05-14 10:38       ` Sudeep Holla
2019-05-14 16:37   ` Sudeep Holla
2019-05-14 16:44     ` Florian Fainelli
2019-05-14 16:58       ` Guenter Roeck
2019-05-14 17:00         ` Sudeep Holla

Linux-Hwmon Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-hwmon/0 linux-hwmon/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-hwmon linux-hwmon/ https://lore.kernel.org/linux-hwmon \
		linux-hwmon@vger.kernel.org linux-hwmon@archiver.kernel.org
	public-inbox-index linux-hwmon


Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-hwmon


AGPL code for this site: git clone https://public-inbox.org/ public-inbox