From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Return-path: Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]:54046 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752660AbdJSU5P (ORCPT ); Thu, 19 Oct 2017 16:57:15 -0400 Received: from pps.filterd (m0098399.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.21/8.16.0.21) with SMTP id v9JKuGBi144885 for ; Thu, 19 Oct 2017 16:57:15 -0400 Received: from e17.ny.us.ibm.com (e17.ny.us.ibm.com [129.33.205.207]) by mx0a-001b2d01.pphosted.com with ESMTP id 2dpws2b812-1 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=NOT) for ; Thu, 19 Oct 2017 16:57:15 -0400 Received: from localhost by e17.ny.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Thu, 19 Oct 2017 16:57:14 -0400 From: Eddie James To: linux@roeck-us.net Cc: jdelvare@suse.com, linux-hwmon@vger.kernel.org, linux-kernel@vger.kernel.org, andrew@aj.id.au, eajames@linux.vnet.ibm.com, "Edward A. James" Subject: [PATCH] drivers (pmbus): ir35221: Set PMBUS_PAGE before reading id and model Date: Thu, 19 Oct 2017 15:57:08 -0500 Message-Id: <1508446628-13112-1-git-send-email-eajames@linux.vnet.ibm.com> Sender: linux-hwmon-owner@vger.kernel.org List-Id: linux-hwmon@vger.kernel.org From: "Edward A. James" 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 --- 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