[PATCH] drivers (pmbus): ir35221: Set PMBUS_PAGE before reading id and model

From: Eddie James
Date: Thu Oct 19 2017 - 16:57:22 EST


From: "Edward A. James" <eajames@xxxxxxxxxx>

The MFR_ID and MFR_MODEL, which are manually read before probing the
pmbus core, are only valid for the two pages that the ir35221 has
available. Since we don't know the state of the device when we start
probing, set the page number first before reading id and model.

Signed-off-by: Edward A. James <eajames@xxxxxxxxxx>
---
drivers/hwmon/pmbus/ir35221.c | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/drivers/hwmon/pmbus/ir35221.c b/drivers/hwmon/pmbus/ir35221.c
index 8b906b4..9a53930 100644
--- a/drivers/hwmon/pmbus/ir35221.c
+++ b/drivers/hwmon/pmbus/ir35221.c
@@ -267,6 +267,12 @@ static int ir35221_probe(struct i2c_client *client,
| I2C_FUNC_SMBUS_READ_BLOCK_DATA))
return -ENODEV;

+ ret = i2c_smbus_write_byte_data(client, PMBUS_PAGE, 0);
+ if (ret < 0) {
+ dev_err(&client->dev, "Failed to set PMBUS_PAGE\n");
+ return ret;
+ }
+
ret = i2c_smbus_read_block_data(client, PMBUS_MFR_ID, buf);
if (ret < 0) {
dev_err(&client->dev, "Failed to read PMBUS_MFR_ID\n");
--
1.8.3.1