Re: [PATCH] hwmon (pmbus): cffps: Add PMBUS_SKIP_STATUS_CHECK

From: Guenter Roeck
Date: Mon Jan 08 2018 - 16:30:33 EST


On Mon, Jan 08, 2018 at 03:10:09PM -0600, Eddie James wrote:
> 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: Eddie James <eajames@xxxxxxxxxxxxxxxxxx>

Applied.

Thanks,
Guenter

> ---
> drivers/hwmon/pmbus/ibm-cffps.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/drivers/hwmon/pmbus/ibm-cffps.c b/drivers/hwmon/pmbus/ibm-cffps.c
> index de254747..2d6f4f4 100644
> --- a/drivers/hwmon/pmbus/ibm-cffps.c
> +++ b/drivers/hwmon/pmbus/ibm-cffps.c
> @@ -15,6 +15,7 @@
> #include <linux/jiffies.h>
> #include <linux/module.h>
> #include <linux/mutex.h>
> +#include <linux/pmbus.h>
>
> #include "pmbus.h"
>
> @@ -268,6 +269,10 @@ static int ibm_cffps_read_word_data(struct i2c_client *client, int page,
> .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,
> const struct i2c_device_id *id)
> {
> @@ -276,6 +281,7 @@ static int ibm_cffps_probe(struct i2c_client *client,
> struct dentry *ibm_cffps_dir;
> struct ibm_cffps *psu;
>
> + client->dev.platform_data = &ibm_cffps_pdata;
> rc = pmbus_do_probe(client, id, &ibm_cffps_info);
> if (rc)
> return rc;
> --
> 1.8.3.1
>