提交 4471879a 编写于 作者: E Eddie James 提交者: Guenter Roeck

hwmon: (pmbus) cffps: Add PMBUS_SKIP_STATUS_CHECK

This power supply device regularly fails to read VOUT_MODE due to the
CML bit going high. This results in an incorrect exponent used for the
voltage data, and therefore the power supply reports incorrect voltage.
Work around this by setting the pmbus flag to skip the CML check.
Signed-off-by: NEddie James <eajames@linux.vnet.ibm.com>
Fixes: f69316d6 ("hwmon: (pmbus) Add IBM Common Form Factor (CFF) ...")
Signed-off-by: NGuenter Roeck <linux@roeck-us.net>
上级 18c514cc
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
#include <linux/jiffies.h> #include <linux/jiffies.h>
#include <linux/module.h> #include <linux/module.h>
#include <linux/mutex.h> #include <linux/mutex.h>
#include <linux/pmbus.h>
#include "pmbus.h" #include "pmbus.h"
...@@ -268,6 +269,10 @@ static struct pmbus_driver_info ibm_cffps_info = { ...@@ -268,6 +269,10 @@ static struct pmbus_driver_info ibm_cffps_info = {
.read_word_data = ibm_cffps_read_word_data, .read_word_data = ibm_cffps_read_word_data,
}; };
static struct pmbus_platform_data ibm_cffps_pdata = {
.flags = PMBUS_SKIP_STATUS_CHECK,
};
static int ibm_cffps_probe(struct i2c_client *client, static int ibm_cffps_probe(struct i2c_client *client,
const struct i2c_device_id *id) const struct i2c_device_id *id)
{ {
...@@ -276,6 +281,7 @@ static int ibm_cffps_probe(struct i2c_client *client, ...@@ -276,6 +281,7 @@ static int ibm_cffps_probe(struct i2c_client *client,
struct dentry *ibm_cffps_dir; struct dentry *ibm_cffps_dir;
struct ibm_cffps *psu; struct ibm_cffps *psu;
client->dev.platform_data = &ibm_cffps_pdata;
rc = pmbus_do_probe(client, id, &ibm_cffps_info); rc = pmbus_do_probe(client, id, &ibm_cffps_info);
if (rc) if (rc)
return rc; return rc;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册