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 <eaja...@linux.vnet.ibm.com>

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
> 

Reply via email to