Messages in this thread Patch in this message | | | From | Ruslan Babayev <> | Subject | [PATCH 2/4] hwmon: (pmbus) mark registers READ_VIN and READ_IIN as paged | Date | Tue, 16 Apr 2019 11:45:44 -0700 |
| |
From: Ruslan Babayev <ruslan@babayev.com>
On some devices (like IR35215) READ_VIN and READ_IIN registers are paged.
For devices where these registers are not paged the extra check ensures we expose only the registers that are actually present.
Cc: xe-linux-external@cisco.com Signed-off-by: Ruslan Babayev <ruslan@babayev.com> --- drivers/hwmon/pmbus/pmbus_core.c | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/drivers/hwmon/pmbus/pmbus_core.c b/drivers/hwmon/pmbus/pmbus_core.c index f35b239961e3..fac966967816 100644 --- a/drivers/hwmon/pmbus/pmbus_core.c +++ b/drivers/hwmon/pmbus/pmbus_core.c @@ -1379,6 +1379,9 @@ static int pmbus_add_sensor_attrs(struct i2c_client *client, for (page = 0; page < pages; page++) { if (!(info->func[page] & attrs->func)) continue; + if (!pmbus_check_word_register(client, page, + attrs->reg)) + continue; ret = pmbus_add_sensor_attrs_one(client, data, info, name, index, page, attrs); @@ -1498,6 +1501,7 @@ static const struct pmbus_sensor_attr voltage_attributes[] = { .reg = PMBUS_READ_VIN, .class = PSC_VOLTAGE_IN, .label = "vin", + .paged = true, .func = PMBUS_HAVE_VIN, .sfunc = PMBUS_HAVE_STATUS_INPUT, .sbase = PB_STATUS_INPUT_BASE, @@ -1602,6 +1606,7 @@ static const struct pmbus_sensor_attr current_attributes[] = { .reg = PMBUS_READ_IIN, .class = PSC_CURRENT_IN, .label = "iin", + .paged = true, .func = PMBUS_HAVE_IIN, .sfunc = PMBUS_HAVE_STATUS_INPUT, .sbase = PB_STATUS_INPUT_BASE, -- 2.17.1
| |