Re: [PATCH v4] hwmon:(adm1275) Enable adm1278 ADM1278_TEMP1_EN

From: Manikandan
Date: Wed Jun 10 2020 - 10:53:02 EST


On Wed, Jun 10, 2020 at 06:28:33AM -0700, Guenter Roeck wrote:
> On Wed, Jun 10, 2020 at 01:56:11PM +0530, Manikandan Elumalai wrote:
> > The adm1278 temp attribute need it for openbmc platform .
> > This feature not enabled by default, so PMON_CONFIG needs to enable it.
> >
> > v4:
> > Reported-by: kernel test robot <lkp@xxxxxxxxx>
> > ---
> > changes in conditional check to enable vout & temp1 by default.
> > v3:
> > ----
> > fix invalid signed-off.
> > removed checkpath warnings.
> > write ADM1278_TEMP1_EN and ADM1278_VOUT_EN conf in single line operation.
> > v2:
> > ----
> > add Signed-off-by.
> > removed ADM1278_TEMP1_EN check.
> >
> > Signed-off-by: Manikandan Elumalai <manikandan.hcl.ers.epl@xxxxxxxxx>
>
> Applied (and I fixed the problem reported by 0-day, so no need to resend).
> Thank you Guenter.
> Thanks,
> Guenter
>
> > ---
> > drivers/hwmon/pmbus/adm1275.c | 12 +++++-------
> > 1 file changed, 5 insertions(+), 7 deletions(-)
> >
> > diff --git a/drivers/hwmon/pmbus/adm1275.c b/drivers/hwmon/pmbus/adm1275.c
> > index 5caa37fb..d4e1925 100644
> > --- a/drivers/hwmon/pmbus/adm1275.c
> > +++ b/drivers/hwmon/pmbus/adm1275.c
> > @@ -666,11 +666,12 @@ static int adm1275_probe(struct i2c_client *client,
> > tindex = 3;
> >
> > info->func[0] |= PMBUS_HAVE_PIN | PMBUS_HAVE_STATUS_INPUT |
> > - PMBUS_HAVE_VOUT | PMBUS_HAVE_STATUS_VOUT;
> > + PMBUS_HAVE_VOUT | PMBUS_HAVE_STATUS_VOUT |
> > + PMBUS_HAVE_TEMP | PMBUS_HAVE_STATUS_TEMP;
> >
> > - /* Enable VOUT if not enabled (it is disabled by default) */
> > - if (!(config & ADM1278_VOUT_EN)) {
> > - config |= ADM1278_VOUT_EN;
> > + /* Enable VOUT & TEMP1 if not enabled (disabled by default) */
> > + if (config & (ADM1278_VOUT_EN | ADM1278_TEMP1_EN) != ADM1278_VOUT_EN | ADM1278_TEMP1_EN) {
> > + config |= ADM1278_VOUT_EN | ADM1278_TEMP1_EN;
> > ret = i2c_smbus_write_byte_data(client,
> > ADM1275_PMON_CONFIG,
> > config);
> > @@ -681,9 +682,6 @@ static int adm1275_probe(struct i2c_client *client,
> > }
> > }
> >
> > - if (config & ADM1278_TEMP1_EN)
> > - info->func[0] |=
> > - PMBUS_HAVE_TEMP | PMBUS_HAVE_STATUS_TEMP;
> > if (config & ADM1278_VIN_EN)
> > info->func[0] |= PMBUS_HAVE_VIN;
> > break;