2020-06-08 10:46:22

by Manikandan

[permalink] [raw]
Subject: [PATCH v3] hwmon:(adm1275) Enable adm1278 ADM1278_TEMP1_EN

The adm1278 temp attribute need it for openbmc platform .
This feature not enabled by default, so PMON_CONFIG needs to enable it.

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 <[email protected]>
---
drivers/hwmon/pmbus/adm1275.c | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/hwmon/pmbus/adm1275.c b/drivers/hwmon/pmbus/adm1275.c
index 5caa37fb..4782e31 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) */
+ /* Enable VOUT & TEMP1 if not enabled (disabled by default) */
if (!(config & ADM1278_VOUT_EN)) {
- config |= ADM1278_VOUT_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;
--
2.7.4


2020-06-08 13:54:09

by Guenter Roeck

[permalink] [raw]
Subject: Re: [PATCH v3] hwmon:(adm1275) Enable adm1278 ADM1278_TEMP1_EN

On 6/8/20 3:43 AM, 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.
>
> 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 <[email protected]>
> ---
> drivers/hwmon/pmbus/adm1275.c | 10 ++++------
> 1 file changed, 4 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/hwmon/pmbus/adm1275.c b/drivers/hwmon/pmbus/adm1275.c
> index 5caa37fb..4782e31 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) */
> + /* Enable VOUT & TEMP1 if not enabled (disabled by default) */
> if (!(config & ADM1278_VOUT_EN)) {

This if statement needs to be
if (config & (ADM1278_VOUT_EN | ADM1278_TEMP1_EN) != ADM1278_VOUT_EN | ADM1278_TEMP1_EN)

> - config |= ADM1278_VOUT_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;
>

2020-06-09 17:01:17

by Guenter Roeck

[permalink] [raw]
Subject: Re: [PATCH v3] hwmon:(adm1275) Enable adm1278 ADM1278_TEMP1_EN

On 6/9/20 8:26 AM, Manikandan wrote:
> On Mon, Jun 08, 2020 at 06:49:45AM -0700, Guenter Roeck wrote:
>> On 6/8/20 3:43 AM, 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.
>>>
>>> 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 <[email protected]>
>>> ---
>>> drivers/hwmon/pmbus/adm1275.c | 10 ++++------
>>> 1 file changed, 4 insertions(+), 6 deletions(-)
>>>
>>> diff --git a/drivers/hwmon/pmbus/adm1275.c b/drivers/hwmon/pmbus/adm1275.c
>>> index 5caa37fb..4782e31 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) */
>>> + /* Enable VOUT & TEMP1 if not enabled (disabled by default) */
>>> if (!(config & ADM1278_VOUT_EN)) {
>>
>> This if statement needs to be
>> if (config & (ADM1278_VOUT_EN | ADM1278_TEMP1_EN) != ADM1278_VOUT_EN | ADM1278_TEMP1_EN)
>>
> Hi Guenter,
>
> The below warning shown by checkpatch after changes,
>
> WARNING: line over 80 characters
> #38: FILE: drivers/hwmon/pmbus/adm1275.c:672:
> + if (config & (ADM1278_VOUT_EN | ADM1278_TEMP1_EN) != ADM1278_VOUT_EN | ADM1278_TEMP1_EN) {
>
> total: 0 errors, 1 warnings, 24 lines checked
>
> I didn't see any if() condition made as two line in the driver . Is this acceptable warning ?
>

The warning is (or should be) gone in the latest upstream kernel -
the line length limit is now 100 bytes. Just ignore that warning,
or rebase your patch to the latest upstream kernel.

Guenter

> Thanks
> Mani.E
>>> - config |= ADM1278_VOUT_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;
>>>
>>

2020-06-09 19:19:02

by Manikandan

[permalink] [raw]
Subject: Re: [PATCH v3] hwmon:(adm1275) Enable adm1278 ADM1278_TEMP1_EN

On Mon, Jun 08, 2020 at 06:49:45AM -0700, Guenter Roeck wrote:
> On 6/8/20 3:43 AM, 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.
> >
> > 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 <[email protected]>
> > ---
> > drivers/hwmon/pmbus/adm1275.c | 10 ++++------
> > 1 file changed, 4 insertions(+), 6 deletions(-)
> >
> > diff --git a/drivers/hwmon/pmbus/adm1275.c b/drivers/hwmon/pmbus/adm1275.c
> > index 5caa37fb..4782e31 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) */
> > + /* Enable VOUT & TEMP1 if not enabled (disabled by default) */
> > if (!(config & ADM1278_VOUT_EN)) {
>
> This if statement needs to be
> if (config & (ADM1278_VOUT_EN | ADM1278_TEMP1_EN) != ADM1278_VOUT_EN | ADM1278_TEMP1_EN)
>
Hi Guenter,

The below warning shown by checkpatch after changes,

WARNING: line over 80 characters
#38: FILE: drivers/hwmon/pmbus/adm1275.c:672:
+ if (config & (ADM1278_VOUT_EN | ADM1278_TEMP1_EN) != ADM1278_VOUT_EN | ADM1278_TEMP1_EN) {

total: 0 errors, 1 warnings, 24 lines checked

I didn't see any if() condition made as two line in the driver . Is this acceptable warning ?

Thanks
Mani.E
> > - config |= ADM1278_VOUT_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;
> >
>