Messages in this thread Patch in this message | | | From | Nicolin Chen <> | Subject | [PATCH v5 1/4] hwmon: (ina3221) Check channel status for alarms attribute read | Date | Mon, 5 Nov 2018 12:48:40 -0800 |
| |
There is nothing critically wrong to read these two attributes without having a is_enabled() check at this point. But reading the MASK_ENABLE register would clear the CVRF bit according to the datasheet. So it'd be safer to fence for disabled channels in order to add pm runtime feature.
Signed-off-by: Nicolin Chen <nicoleotsuka@gmail.com> --- Changelog v2->v5: * N/A v1->v2: * Returned 0 for alert flags instead of -ENODATA
drivers/hwmon/ina3221.c | 6 ++++++ 1 file changed, 6 insertions(+)
diff --git a/drivers/hwmon/ina3221.c b/drivers/hwmon/ina3221.c index d61688f04594..26cdf3342d80 100644 --- a/drivers/hwmon/ina3221.c +++ b/drivers/hwmon/ina3221.c @@ -200,6 +200,12 @@ static int ina3221_read_curr(struct device *dev, u32 attr, return 0; case hwmon_curr_crit_alarm: case hwmon_curr_max_alarm: + /* No actual register read if channel is disabled */ + if (!ina3221_is_enabled(ina, channel)) { + /* Return 0 for alert flags */ + *val = 0; + return 0; + } ret = regmap_field_read(ina->fields[reg], ®val); if (ret) return ret; -- 2.17.1
| |