[lkml]   [2019]   [May]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subject[PATCH v5 0/2] hwmon: scmi: Scale values to target desired HWMON units
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
- 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(+)


 \ /
  Last update: 2019-05-08 20:48    [W:0.153 / U:3.360 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site