hwmon:(adm1275) Enable adm1278 ADM1278_TEMP1_EN
PATCH 1/1 hwmon:(adm1275) Enable adm1278 ADM1278_TEMP1_EN
The adm1278 temperature sysfs attribute need it for one of the our openbmc platform . This functionality is not enabled by default, so PMON_CONFIG needs to be modified in order to enable it.
--- drivers/hwmon/pmbus/adm1275.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+)
drivers/hwmon/pmbus/adm1275.c +15 -0
@@ -681,6 +681,21 @@ static int adm1275_probe(struct i2c_client *client, } } + config =i2c_smbus_read_byte_data (client,ADM1275_PMON_CONFIG ); +if (config <0 ) +return config; + +/* Enable TEMP1 by defult */ + 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 ; + } +if (config &ADM1278_TEMP1_EN ) info->func[0 ] |=PMBUS_HAVE_TEMP |PMBUS_HAVE_STATUS_TEMP ;
Signature · 1 line
2.7.4
?On 5/28/20, 7:15 AM, "Manikandan Elumalai" <[email protected]> wrote:
The adm1278 temperature sysfs attribute need it for one of the our openbmc platform . This functionality is not enabled by default, so PMON_CONFIG needs to be modified in order to enable it.
There is no Signed-off-by.
---
drivers/hwmon/pmbus/adm1275.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/drivers/hwmon/pmbus/adm1275.c b/drivers/hwmon/pmbus/adm1275.c
index 5caa37fb..47b293d 100644
--- a/drivers/hwmon/pmbus/adm1275.c
+++ b/drivers/hwmon/pmbus/adm1275.c
@@ -681,6 +681,21 @@ static int adm1275_probe(struct i2c_client *client,
}
}
+ config = i2c_smbus_read_byte_data(client, ADM1275_PMON_CONFIG);
+ if (config < 0)
+ return config;
+
+ /* Enable TEMP1 by defult */
+ 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;
+ }
+
if (config & ADM1278_TEMP1_EN)This check becomes irrelevant as you are enabling it above then rather than enabling it just remove this check.
info->func[0] |=
PMBUS_HAVE_TEMP | PMBUS_HAVE_STATUS_TEMP;
--
2.7.4Quoted 39 lines · Vijay Khemka
?On 5/28/20, 7:15 AM, "Manikandan Elumalai" <[email protected]> wrote:
The adm1278 temperature sysfs attribute need it for one of the our openbmc platform . This functionality is not enabled by default, so
PMON_CONFIGneeds to be modified in order to enable it.There is no Signed-off-by.
--- drivers/hwmon/pmbus/adm1275.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/drivers/hwmon/pmbus/adm1275.c b/drivers/hwmon/pmbus/adm1275.c index 5caa37fb..47b293d 100644 --- a/drivers/hwmon/pmbus/adm1275.c +++ b/drivers/hwmon/pmbus/adm1275.c @@ -681,6 +681,21 @@ static int adm1275_probe(struct i2c_client *client, } } + config = i2c_smbus_read_byte_data(client, ADM1275_PMON_CONFIG); + if (config < 0) + return config; + + /* Enable TEMP1 by defult */ + 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; + } + if (config & ADM1278_TEMP1_EN)
Quoted 2 lines
This check becomes irrelevant as you are enabling it above then rather than enabling it just remove this check.
Thanks for review Vijay. I will submit changes in v2.
Quoted 8 lines
info->func[0] |=
PMBUS_HAVE_TEMP | PMBUS_HAVE_STATUS_TEMP;
--
2.7.4On Thu, May 28, 2020 at 07:45:23PM +0530, Manikandan Elumalai wrote:
Hi Manikandan,
Adding the PMBus maintainers...
Quoted 3 lines
The adm1278 temperature sysfs attribute need it for one of the our openbmc platform . This functionality is not enabled by default, so
PMON_CONFIGneeds to be modified in order to enable it.
Vijay already mentioned the Signed-off-by here.
Since this is a kernel patch and your first time contributing one, please read through:
https://www.kernel.org/doc/html/latest/process/1.Intro.html
and the MAINTAINERS file. Another thing you've missed is using the get_maintainer.pl script to find out who you're suppose to CC. It is fine to have additional CCs but we're missing the pmbus maintainer on this patch.
Quoted 18 lines
--- drivers/hwmon/pmbus/adm1275.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+)drivers/hwmon/pmbus/adm1275.c +5
-0@@ -681,6 +681,21 @@ static int adm1275_probe(struct i2c_client *client, } } + config =i2c_smbus_read_byte_data (client,ADM1275_PMON_CONFIG ); +if (config <0 ) +return config; + +/* Enable TEMP1 by defult */
drivers/hwmon/pmbus/adm1275.c static int adm1275_probe(struct i2c_client *client, · line 698
Quoted 10 lines
drivers/hwmon/pmbus/adm1275.c +10
-0+ 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 code might work for your design, but likely doesn't work for everyone and isn't likely to be accepted in its current state. I think you need some kind of detection logic here to know if TEMP1_EN *should* be enabled. Do we need a device-tree entry for this?
Quoted 6 lines
drivers/hwmon/pmbus/adm1275.c +0
-0if (config &ADM1278_TEMP1_EN ) info->func[0 ] |=PMBUS_HAVE_TEMP |PMBUS_HAVE_STATUS_TEMP ;Signature · 1 line
2.7.4
Signature · 8 lines
Patrick Williams -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: not available URL: <http://lists.ozlabs.org/pipermail/linux-aspeed/attachments/20200529/d3c35d29/attachment.sig>