* [PATCH v2] hwmon:(adm1275) Enable adm1278 ADM1278_TEMP1_EN @ 2020-05-29 12:46 Manikandan Elumalai 2020-05-29 17:30 ` Guenter Roeck 2020-05-29 17:57 ` Vijay Khemka 0 siblings, 2 replies; 10+ messages in thread From: Manikandan Elumalai @ 2020-05-29 12:46 UTC (permalink / raw) To: linux-hwmon, linux-aspeed, linux-kernel, openbmc Cc: linux, saipsdasari, patrickw3, vijaykhemka, manikandan.e The adm1278 temperature sysfs attribute need it for one of the openbmc platform . This functionality is not enabled by default, so PMON_CONFIG needs to be modified in order to enable it. Signed-off-by : Manikandan Elumalai <manikandan.hcl.ers.epl@gmail.com> v2: - Add Signed-off-by. - Removed ADM1278_TEMP1_EN check. --- drivers/hwmon/pmbus/adm1275.c | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/drivers/hwmon/pmbus/adm1275.c b/drivers/hwmon/pmbus/adm1275.c index 5caa37fb..ab5fceb 100644 --- a/drivers/hwmon/pmbus/adm1275.c +++ b/drivers/hwmon/pmbus/adm1275.c @@ -666,7 +666,23 @@ 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; + + config = i2c_smbus_read_byte_data(client, ADM1275_PMON_CONFIG); + if (config < 0) + return config; + + /* Enable TEMP1 by default */ + config |= ADM1278_TEMP1_EN; + ret = i2c_smbus_write_byte_data(client, + ADM1275_PMON_CONFIG, + config); + if (ret < 0) { + dev_err(&client->dev, + "Failed to enable temperature config\n"); + return -ENODEV; + } /* Enable VOUT if not enabled (it is disabled by default) */ if (!(config & ADM1278_VOUT_EN)) { @@ -681,9 +697,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 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v2] hwmon:(adm1275) Enable adm1278 ADM1278_TEMP1_EN 2020-05-29 12:46 [PATCH v2] hwmon:(adm1275) Enable adm1278 ADM1278_TEMP1_EN Manikandan Elumalai @ 2020-05-29 17:30 ` Guenter Roeck 2020-05-29 17:42 ` Patrick Williams 2020-06-05 16:48 ` Manikandan 2020-05-29 17:57 ` Vijay Khemka 1 sibling, 2 replies; 10+ messages in thread From: Guenter Roeck @ 2020-05-29 17:30 UTC (permalink / raw) To: Manikandan Elumalai, linux-hwmon, linux-aspeed, linux-kernel, openbmc Cc: saipsdasari, patrickw3, vijaykhemka, manikandan.e On 5/29/20 5:46 AM, Manikandan Elumalai wrote: > The adm1278 temperature sysfs attribute need it for one of the openbmc platform . > This functionality is not enabled by default, so PMON_CONFIG needs to be modified in order to enable it. > > Signed-off-by : Manikandan Elumalai <manikandan.hcl.ers.epl@gmail.com> This is not valid. > > v2: > - Add Signed-off-by. > - Removed ADM1278_TEMP1_EN check. checkpatch reports: > ---WARNING: Possible unwrapped commit description (prefer a maximum 75 chars per line) #14: The adm1278 temperature sysfs attribute need it for one of the openbmc platform . CHECK: Alignment should match open parenthesis #45: FILE: drivers/hwmon/pmbus/adm1275.c:679: + ret = i2c_smbus_write_byte_data(client, + ADM1275_PMON_CONFIG, WARNING: suspect code indent for conditional statements (16, 16) #47: FILE: drivers/hwmon/pmbus/adm1275.c:681: + if (ret < 0) { + dev_err(&client->dev, ERROR: Missing Signed-off-by: line(s) total: 1 errors, 2 warnings, 1 checks, 33 lines checked Please follow published guidelines when submitting patches. > drivers/hwmon/pmbus/adm1275.c | 21 +++++++++++++++++---- > 1 file changed, 17 insertions(+), 4 deletions(-) > > diff --git a/drivers/hwmon/pmbus/adm1275.c b/drivers/hwmon/pmbus/adm1275.c > index 5caa37fb..ab5fceb 100644 > --- a/drivers/hwmon/pmbus/adm1275.c > +++ b/drivers/hwmon/pmbus/adm1275.c > @@ -666,7 +666,23 @@ 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; > + > + config = i2c_smbus_read_byte_data(client, ADM1275_PMON_CONFIG); > + if (config < 0) > + return config; > + > + /* Enable TEMP1 by default */ > + config |= ADM1278_TEMP1_EN; > + ret = i2c_smbus_write_byte_data(client, > + ADM1275_PMON_CONFIG, > + config); > + if (ret < 0) { > + dev_err(&client->dev, > + "Failed to enable temperature config\n"); > + return -ENODEV; > + } This can be handled in a single operation, together with ADM1278_VOUT_EN below. There is no need for two separate write operations. Guenter > > /* Enable VOUT if not enabled (it is disabled by default) */ > if (!(config & ADM1278_VOUT_EN)) { > @@ -681,9 +697,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; > ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2] hwmon:(adm1275) Enable adm1278 ADM1278_TEMP1_EN 2020-05-29 17:30 ` Guenter Roeck @ 2020-05-29 17:42 ` Patrick Williams 2020-05-29 18:52 ` Guenter Roeck 2020-06-05 16:48 ` Manikandan 1 sibling, 1 reply; 10+ messages in thread From: Patrick Williams @ 2020-05-29 17:42 UTC (permalink / raw) To: Guenter Roeck Cc: Manikandan Elumalai, linux-hwmon, linux-aspeed, linux-kernel, openbmc, manikandan.e, saipsdasari, patrickw3, vijaykhemka [-- Attachment #1: Type: text/plain, Size: 1309 bytes --] Hi Guenter, Thanks for the initial look at this. One question for you below... On Fri, May 29, 2020 at 10:30:16AM -0700, Guenter Roeck wrote: > On 5/29/20 5:46 AM, Manikandan Elumalai wrote: > > + /* Enable TEMP1 by default */ > > + config |= ADM1278_TEMP1_EN; > > + ret = i2c_smbus_write_byte_data(client, > > + ADM1275_PMON_CONFIG, > > + config); > > + if (ret < 0) { > > + dev_err(&client->dev, > > + "Failed to enable temperature config\n"); > > + return -ENODEV; > > + } > > This can be handled in a single operation, together with ADM1278_VOUT_EN > below. There is no need for two separate write operations. I don't know if you noticed here but the change ends up enabling TEMP1_EN in all cases. Is this acceptable? If not, do you have any preference on how it is selected for enablement? > > /* Enable VOUT if not enabled (it is disabled by default) */ > > if (!(config & ADM1278_VOUT_EN)) { > > @@ -681,9 +697,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; > > > -- Patrick Williams [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2] hwmon:(adm1275) Enable adm1278 ADM1278_TEMP1_EN 2020-05-29 17:42 ` Patrick Williams @ 2020-05-29 18:52 ` Guenter Roeck 0 siblings, 0 replies; 10+ messages in thread From: Guenter Roeck @ 2020-05-29 18:52 UTC (permalink / raw) To: Patrick Williams Cc: Manikandan Elumalai, linux-hwmon, linux-aspeed, linux-kernel, openbmc, manikandan.e, saipsdasari, patrickw3, vijaykhemka [-- Attachment #1.1: Type: text/plain, Size: 1851 bytes --] On 5/29/20 10:42 AM, Patrick Williams wrote: > Hi Guenter, > > Thanks for the initial look at this. > > One question for you below... > > On Fri, May 29, 2020 at 10:30:16AM -0700, Guenter Roeck wrote: >> On 5/29/20 5:46 AM, Manikandan Elumalai wrote: >>> + /* Enable TEMP1 by default */ >>> + config |= ADM1278_TEMP1_EN; >>> + ret = i2c_smbus_write_byte_data(client, >>> + ADM1275_PMON_CONFIG, >>> + config); >>> + if (ret < 0) { >>> + dev_err(&client->dev, >>> + "Failed to enable temperature config\n"); >>> + return -ENODEV; >>> + } >> >> This can be handled in a single operation, together with ADM1278_VOUT_EN >> below. There is no need for two separate write operations. > > I don't know if you noticed here but the change ends up enabling > TEMP1_EN in all cases. Is this acceptable? If not, do you have any > preference on how it is selected for enablement? > I did. We are doing the same for output voltage already, so I am not that much concerned about it. If it is, we might consider adding _enable attribute support (see Documentation/hwmon/sysfs-interface.rst) to the PMBus core (presumably as virtual PMBus commands) and let the user enable/disable individual attributes as needed. What _should_ really be done, of course, is that the BIOS/ROMMON configures the chip as desired. Obviously that is not happening here. Guenter >>> /* Enable VOUT if not enabled (it is disabled by default) */ >>> if (!(config & ADM1278_VOUT_EN)) { >>> @@ -681,9 +697,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; >>> >> > [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2] hwmon:(adm1275) Enable adm1278 ADM1278_TEMP1_EN 2020-05-29 17:30 ` Guenter Roeck 2020-05-29 17:42 ` Patrick Williams @ 2020-06-05 16:48 ` Manikandan 2020-06-05 18:04 ` Guenter Roeck 1 sibling, 1 reply; 10+ messages in thread From: Manikandan @ 2020-06-05 16:48 UTC (permalink / raw) To: Guenter Roeck, patrickw3, vijaykhemka Cc: linux-hwmon, linux-aspeed, linux-kernel, openbmc, saipsdasari, manikandan.e On Fri, May 29, 2020 at 10:30:16AM -0700, Guenter Roeck wrote: > On 5/29/20 5:46 AM, Manikandan Elumalai wrote: > > The adm1278 temperature sysfs attribute need it for one of the openbmc platform . > > This functionality is not enabled by default, so PMON_CONFIG needs to be modified in order to enable it. > > > > Signed-off-by : Manikandan Elumalai <manikandan.hcl.ers.epl@gmail.com> > > This is not valid. > > > > > v2: > > - Add Signed-off-by. > > - Removed ADM1278_TEMP1_EN check. > > checkpatch reports: > > > ---WARNING: Possible unwrapped commit description (prefer a maximum 75 chars per line) > #14: > The adm1278 temperature sysfs attribute need it for one of the openbmc platform . > > CHECK: Alignment should match open parenthesis > #45: FILE: drivers/hwmon/pmbus/adm1275.c:679: > + ret = i2c_smbus_write_byte_data(client, > + ADM1275_PMON_CONFIG, > > WARNING: suspect code indent for conditional statements (16, 16) > #47: FILE: drivers/hwmon/pmbus/adm1275.c:681: > + if (ret < 0) { > + dev_err(&client->dev, > > ERROR: Missing Signed-off-by: line(s) > > total: 1 errors, 2 warnings, 1 checks, 33 lines checked > > Please follow published guidelines when submitting patches. > > > drivers/hwmon/pmbus/adm1275.c | 21 +++++++++++++++++---- > > 1 file changed, 17 insertions(+), 4 deletions(-) > > > > diff --git a/drivers/hwmon/pmbus/adm1275.c b/drivers/hwmon/pmbus/adm1275.c > > index 5caa37fb..ab5fceb 100644 > > --- a/drivers/hwmon/pmbus/adm1275.c > > +++ b/drivers/hwmon/pmbus/adm1275.c > > @@ -666,7 +666,23 @@ 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; > > + > > + config = i2c_smbus_read_byte_data(client, ADM1275_PMON_CONFIG); > > + if (config < 0) > > + return config; > > + > > + /* Enable TEMP1 by default */ > > + config |= ADM1278_TEMP1_EN; > > + ret = i2c_smbus_write_byte_data(client, > > + ADM1275_PMON_CONFIG, > > + config); > > + if (ret < 0) { > > + dev_err(&client->dev, > > + "Failed to enable temperature config\n"); > > + return -ENODEV; > > + } > > This can be handled in a single operation, together with ADM1278_VOUT_EN > below. There is no need for two separate write operations. > Thanks for review Guenter, Patrick and Vijay. Sorry for delay response. I have made changes to write ADM1278_VOUT_EN and ADM1278_TEMP1_EN in single operation and tested in platfrom . The changes given for quick look and will help if any misunderstand. --- a/drivers/hwmon/pmbus/adm1275.c +++ b/drivers/hwmon/pmbus/adm1275.c @@ -666,11 +666,11 @@ 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; + config |= (ADM1278_VOUT_EN | ADM1278_TEMP1_EN); ret = i2c_smbus_write_byte_data(client, ADM1275_PMON_CONFIG, config); @@ -680,10 +680,6 @@ static int adm1275_probe(struct i2c_client *client, return -ENODEV; } } - - 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; > Guenter > > > > > /* Enable VOUT if not enabled (it is disabled by default) */ > > if (!(config & ADM1278_VOUT_EN)) { > > @@ -681,9 +697,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; > > > ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2] hwmon:(adm1275) Enable adm1278 ADM1278_TEMP1_EN 2020-06-05 16:48 ` Manikandan @ 2020-06-05 18:04 ` Guenter Roeck 2020-06-06 5:13 ` Manikandan 0 siblings, 1 reply; 10+ messages in thread From: Guenter Roeck @ 2020-06-05 18:04 UTC (permalink / raw) To: Manikandan Cc: patrickw3, vijaykhemka, linux-hwmon, linux-aspeed, linux-kernel, openbmc, saipsdasari, manikandan.e On Fri, Jun 05, 2020 at 10:18:21PM +0530, Manikandan wrote: > On Fri, May 29, 2020 at 10:30:16AM -0700, Guenter Roeck wrote: > > On 5/29/20 5:46 AM, Manikandan Elumalai wrote: > > > The adm1278 temperature sysfs attribute need it for one of the openbmc platform . > > > This functionality is not enabled by default, so PMON_CONFIG needs to be modified in order to enable it. > > > > > > Signed-off-by : Manikandan Elumalai <manikandan.hcl.ers.epl@gmail.com> > > > > This is not valid. > > > > > > > > v2: > > > - Add Signed-off-by. > > > - Removed ADM1278_TEMP1_EN check. > > > > checkpatch reports: > > > > > ---WARNING: Possible unwrapped commit description (prefer a maximum 75 chars per line) > > #14: > > The adm1278 temperature sysfs attribute need it for one of the openbmc platform . > > > > CHECK: Alignment should match open parenthesis > > #45: FILE: drivers/hwmon/pmbus/adm1275.c:679: > > + ret = i2c_smbus_write_byte_data(client, > > + ADM1275_PMON_CONFIG, > > > > WARNING: suspect code indent for conditional statements (16, 16) > > #47: FILE: drivers/hwmon/pmbus/adm1275.c:681: > > + if (ret < 0) { > > + dev_err(&client->dev, > > > > ERROR: Missing Signed-off-by: line(s) > > > > total: 1 errors, 2 warnings, 1 checks, 33 lines checked > > > > Please follow published guidelines when submitting patches. > > > > > drivers/hwmon/pmbus/adm1275.c | 21 +++++++++++++++++---- > > > 1 file changed, 17 insertions(+), 4 deletions(-) > > > > > > diff --git a/drivers/hwmon/pmbus/adm1275.c b/drivers/hwmon/pmbus/adm1275.c > > > index 5caa37fb..ab5fceb 100644 > > > --- a/drivers/hwmon/pmbus/adm1275.c > > > +++ b/drivers/hwmon/pmbus/adm1275.c > > > @@ -666,7 +666,23 @@ 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; > > > + > > > + config = i2c_smbus_read_byte_data(client, ADM1275_PMON_CONFIG); > > > + if (config < 0) > > > + return config; > > > + > > > + /* Enable TEMP1 by default */ > > > + config |= ADM1278_TEMP1_EN; > > > + ret = i2c_smbus_write_byte_data(client, > > > + ADM1275_PMON_CONFIG, > > > + config); > > > + if (ret < 0) { > > > + dev_err(&client->dev, > > > + "Failed to enable temperature config\n"); > > > + return -ENODEV; > > > + } > > > > This can be handled in a single operation, together with ADM1278_VOUT_EN > > below. There is no need for two separate write operations. > > > Thanks for review Guenter, Patrick and Vijay. > Sorry for delay response. > I have made changes to write ADM1278_VOUT_EN and ADM1278_TEMP1_EN in single > operation and tested in platfrom . > The changes given for quick look and will help if any misunderstand. > > --- a/drivers/hwmon/pmbus/adm1275.c > +++ b/drivers/hwmon/pmbus/adm1275.c > @@ -666,11 +666,11 @@ 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)) { 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); ( ) is unnecessary here. > ret = i2c_smbus_write_byte_data(client, > ADM1275_PMON_CONFIG, > config); > @@ -680,10 +680,6 @@ static int adm1275_probe(struct i2c_client *client, > return -ENODEV; > } > } > - > - 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; > > Guenter > > > > > > > > /* Enable VOUT if not enabled (it is disabled by default) */ > > > if (!(config & ADM1278_VOUT_EN)) { > > > @@ -681,9 +697,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; > > > > > ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2] hwmon:(adm1275) Enable adm1278 ADM1278_TEMP1_EN 2020-06-05 18:04 ` Guenter Roeck @ 2020-06-06 5:13 ` Manikandan 0 siblings, 0 replies; 10+ messages in thread From: Manikandan @ 2020-06-06 5:13 UTC (permalink / raw) To: Guenter Roeck Cc: linux-hwmon, linux-aspeed, linux-kernel, openbmc, saipsdasari, patrickw3, vijaykhemka, manikandan.e On Fri, Jun 05, 2020 at 11:04:51AM -0700, Guenter Roeck wrote: > On Fri, Jun 05, 2020 at 10:18:21PM +0530, Manikandan wrote: > > On Fri, May 29, 2020 at 10:30:16AM -0700, Guenter Roeck wrote: > > > On 5/29/20 5:46 AM, Manikandan Elumalai wrote: > > > > The adm1278 temperature sysfs attribute need it for one of the openbmc platform . > > > > This functionality is not enabled by default, so PMON_CONFIG needs to be modified in order to enable it. > > > > > > > > Signed-off-by : Manikandan Elumalai <manikandan.hcl.ers.epl@gmail.com> > > > > > > This is not valid. > > > > > > > > > > > v2: > > > > - Add Signed-off-by. > > > > - Removed ADM1278_TEMP1_EN check. > > > > > > checkpatch reports: > > > > > > > ---WARNING: Possible unwrapped commit description (prefer a maximum 75 chars per line) > > > #14: > > > The adm1278 temperature sysfs attribute need it for one of the openbmc platform . > > > > > > CHECK: Alignment should match open parenthesis > > > #45: FILE: drivers/hwmon/pmbus/adm1275.c:679: > > > + ret = i2c_smbus_write_byte_data(client, > > > + ADM1275_PMON_CONFIG, > > > > > > WARNING: suspect code indent for conditional statements (16, 16) > > > #47: FILE: drivers/hwmon/pmbus/adm1275.c:681: > > > + if (ret < 0) { > > > + dev_err(&client->dev, > > > > > > ERROR: Missing Signed-off-by: line(s) > > > > > > total: 1 errors, 2 warnings, 1 checks, 33 lines checked > > > > > > Please follow published guidelines when submitting patches. > > > > > > > drivers/hwmon/pmbus/adm1275.c | 21 +++++++++++++++++---- > > > > 1 file changed, 17 insertions(+), 4 deletions(-) > > > > > > > > diff --git a/drivers/hwmon/pmbus/adm1275.c b/drivers/hwmon/pmbus/adm1275.c > > > > index 5caa37fb..ab5fceb 100644 > > > > --- a/drivers/hwmon/pmbus/adm1275.c > > > > +++ b/drivers/hwmon/pmbus/adm1275.c > > > > @@ -666,7 +666,23 @@ 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; > > > > + > > > > + config = i2c_smbus_read_byte_data(client, ADM1275_PMON_CONFIG); > > > > + if (config < 0) > > > > + return config; > > > > + > > > > + /* Enable TEMP1 by default */ > > > > + config |= ADM1278_TEMP1_EN; > > > > + ret = i2c_smbus_write_byte_data(client, > > > > + ADM1275_PMON_CONFIG, > > > > + config); > > > > + if (ret < 0) { > > > > + dev_err(&client->dev, > > > > + "Failed to enable temperature config\n"); > > > > + return -ENODEV; > > > > + } > > > > > > This can be handled in a single operation, together with ADM1278_VOUT_EN > > > below. There is no need for two separate write operations. > > > > > Thanks for review Guenter, Patrick and Vijay. > > Sorry for delay response. > > I have made changes to write ADM1278_VOUT_EN and ADM1278_TEMP1_EN in single > > operation and tested in platfrom . > > The changes given for quick look and will help if any misunderstand. > > > > --- a/drivers/hwmon/pmbus/adm1275.c > > +++ b/drivers/hwmon/pmbus/adm1275.c > > @@ -666,11 +666,11 @@ 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)) { > > 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); > > ( ) is unnecessary here. Thanks for quick review Guenter. I will submit all changes in v3. > > > ret = i2c_smbus_write_byte_data(client, > > ADM1275_PMON_CONFIG, > > config); > > @@ -680,10 +680,6 @@ static int adm1275_probe(struct i2c_client *client, > > return -ENODEV; > > } > > } > > - > > - 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; > > > Guenter > > > > > > > > > > > /* Enable VOUT if not enabled (it is disabled by default) */ > > > > if (!(config & ADM1278_VOUT_EN)) { > > > > @@ -681,9 +697,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; > > > > > > > ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2] hwmon:(adm1275) Enable adm1278 ADM1278_TEMP1_EN 2020-05-29 12:46 [PATCH v2] hwmon:(adm1275) Enable adm1278 ADM1278_TEMP1_EN Manikandan Elumalai 2020-05-29 17:30 ` Guenter Roeck @ 2020-05-29 17:57 ` Vijay Khemka 2020-05-29 18:55 ` Guenter Roeck 1 sibling, 1 reply; 10+ messages in thread From: Vijay Khemka @ 2020-05-29 17:57 UTC (permalink / raw) To: Manikandan Elumalai, linux-hwmon, linux-aspeed, linux-kernel, openbmc Cc: linux, saipsdasari, Patrick Williams, manikandan.e On 5/29/20, 5:47 AM, "Manikandan Elumalai" <manikandan.hcl.ers.epl@gmail.com> wrote: The adm1278 temperature sysfs attribute need it for one of the openbmc platform . This functionality is not enabled by default, so PMON_CONFIG needs to be modified in order to enable it. Signed-off-by : Manikandan Elumalai <manikandan.hcl.ers.epl@gmail.com> v2: - Add Signed-off-by. - Removed ADM1278_TEMP1_EN check. --- drivers/hwmon/pmbus/adm1275.c | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/drivers/hwmon/pmbus/adm1275.c b/drivers/hwmon/pmbus/adm1275.c index 5caa37fb..ab5fceb 100644 --- a/drivers/hwmon/pmbus/adm1275.c +++ b/drivers/hwmon/pmbus/adm1275.c @@ -666,7 +666,23 @@ 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; + + config = i2c_smbus_read_byte_data(client, ADM1275_PMON_CONFIG); + if (config < 0) + return config; + + /* Enable TEMP1 by default */ + config |= ADM1278_TEMP1_EN; + ret = i2c_smbus_write_byte_data(client, + ADM1275_PMON_CONFIG, + config); + if (ret < 0) { + dev_err(&client->dev, + "Failed to enable temperature config\n"); + return -ENODEV; + } You don't need this above code removing check as below should be enough to populate sysfs entry you need. /* Enable VOUT if not enabled (it is disabled by default) */ if (!(config & ADM1278_VOUT_EN)) { @@ -681,9 +697,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 ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2] hwmon:(adm1275) Enable adm1278 ADM1278_TEMP1_EN 2020-05-29 17:57 ` Vijay Khemka @ 2020-05-29 18:55 ` Guenter Roeck 2020-05-29 23:47 ` Vijay Khemka 0 siblings, 1 reply; 10+ messages in thread From: Guenter Roeck @ 2020-05-29 18:55 UTC (permalink / raw) To: Vijay Khemka, Manikandan Elumalai, linux-hwmon, linux-aspeed, linux-kernel, openbmc Cc: saipsdasari, Patrick Williams, manikandan.e On 5/29/20 10:57 AM, Vijay Khemka wrote: > > > On 5/29/20, 5:47 AM, "Manikandan Elumalai" <manikandan.hcl.ers.epl@gmail.com> wrote: > > The adm1278 temperature sysfs attribute need it for one of the openbmc platform . > This functionality is not enabled by default, so PMON_CONFIG needs to be modified in order to enable it. > > Signed-off-by : Manikandan Elumalai <manikandan.hcl.ers.epl@gmail.com> > > v2: > - Add Signed-off-by. > - Removed ADM1278_TEMP1_EN check. > --- > drivers/hwmon/pmbus/adm1275.c | 21 +++++++++++++++++---- > 1 file changed, 17 insertions(+), 4 deletions(-) > > diff --git a/drivers/hwmon/pmbus/adm1275.c b/drivers/hwmon/pmbus/adm1275.c > index 5caa37fb..ab5fceb 100644 > --- a/drivers/hwmon/pmbus/adm1275.c > +++ b/drivers/hwmon/pmbus/adm1275.c > @@ -666,7 +666,23 @@ 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; > + > + config = i2c_smbus_read_byte_data(client, ADM1275_PMON_CONFIG); > + if (config < 0) > + return config; > + > + /* Enable TEMP1 by default */ > + config |= ADM1278_TEMP1_EN; > + ret = i2c_smbus_write_byte_data(client, > + ADM1275_PMON_CONFIG, > + config); > + if (ret < 0) { > + dev_err(&client->dev, > + "Failed to enable temperature config\n"); > + return -ENODEV; > + } > You don't need this above code removing check as below should be enough to > populate sysfs entry you need. > You mean you are only interested in having the attribute, even if it doesn't report anything useful because monitoring is disabled in the chip ? Sorry, I don't understand. Can you elaborate ? Thanks, Guenter > /* Enable VOUT if not enabled (it is disabled by default) */ > if (!(config & ADM1278_VOUT_EN)) { > @@ -681,9 +697,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 > > > ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2] hwmon:(adm1275) Enable adm1278 ADM1278_TEMP1_EN 2020-05-29 18:55 ` Guenter Roeck @ 2020-05-29 23:47 ` Vijay Khemka 0 siblings, 0 replies; 10+ messages in thread From: Vijay Khemka @ 2020-05-29 23:47 UTC (permalink / raw) To: Guenter Roeck, Manikandan Elumalai, linux-hwmon, linux-aspeed, linux-kernel, openbmc Cc: saipsdasari, Patrick Williams, manikandan.e On 5/29/20, 11:56 AM, "Guenter Roeck" <groeck7@gmail.com on behalf of linux@roeck-us.net> wrote: On 5/29/20 10:57 AM, Vijay Khemka wrote: > > > On 5/29/20, 5:47 AM, "Manikandan Elumalai" <manikandan.hcl.ers.epl@gmail.com> wrote: > > The adm1278 temperature sysfs attribute need it for one of the openbmc platform . > This functionality is not enabled by default, so PMON_CONFIG needs to be modified in order to enable it. > > Signed-off-by : Manikandan Elumalai <manikandan.hcl.ers.epl@gmail.com> > > v2: > - Add Signed-off-by. > - Removed ADM1278_TEMP1_EN check. > --- > drivers/hwmon/pmbus/adm1275.c | 21 +++++++++++++++++---- > 1 file changed, 17 insertions(+), 4 deletions(-) > > diff --git a/drivers/hwmon/pmbus/adm1275.c b/drivers/hwmon/pmbus/adm1275.c > index 5caa37fb..ab5fceb 100644 > --- a/drivers/hwmon/pmbus/adm1275.c > +++ b/drivers/hwmon/pmbus/adm1275.c > @@ -666,7 +666,23 @@ 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; > + > + config = i2c_smbus_read_byte_data(client, ADM1275_PMON_CONFIG); > + if (config < 0) > + return config; > + > + /* Enable TEMP1 by default */ > + config |= ADM1278_TEMP1_EN; > + ret = i2c_smbus_write_byte_data(client, > + ADM1275_PMON_CONFIG, > + config); > + if (ret < 0) { > + dev_err(&client->dev, > + "Failed to enable temperature config\n"); > + return -ENODEV; > + } > You don't need this above code removing check as below should be enough to > populate sysfs entry you need. > You mean you are only interested in having the attribute, even if it doesn't report anything useful because monitoring is disabled in the chip ? Sorry, I don't understand. Can you elaborate ? Sorry for misinterpretation, No I don't mean that. This should be fine. Thanks, Guenter > /* Enable VOUT if not enabled (it is disabled by default) */ > if (!(config & ADM1278_VOUT_EN)) { > @@ -681,9 +697,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 > > > ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2020-06-06 5:14 UTC | newest] Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-05-29 12:46 [PATCH v2] hwmon:(adm1275) Enable adm1278 ADM1278_TEMP1_EN Manikandan Elumalai 2020-05-29 17:30 ` Guenter Roeck 2020-05-29 17:42 ` Patrick Williams 2020-05-29 18:52 ` Guenter Roeck 2020-06-05 16:48 ` Manikandan 2020-06-05 18:04 ` Guenter Roeck 2020-06-06 5:13 ` Manikandan 2020-05-29 17:57 ` Vijay Khemka 2020-05-29 18:55 ` Guenter Roeck 2020-05-29 23:47 ` Vijay Khemka
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).