Skip to contentSkip to conversation

hwmon:(adm1275) Enable adm1278 ADM1278_TEMP1_EN

PATCH Superseded Manikandan Elumalai 3 participants 3 messages Jun 19, 2020 Hardware monitoring

v4 of 6 Superseded Latest is v6 →

lore
Share & tools
lore
#0 lore raw

PATCH v4 1/1 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.

---
--- v4 -Reported-by: kernel test robot <[email protected]>
--- 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.
---

---
 drivers/hwmon/pmbus/adm1275.c | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)
drivers/hwmon/pmbus/adm1275.c +5 -7
index 5caa37fb..d4e1925 100644
@@ -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;
Signature · 1 line
2.7.4
#1 lore raw
Quoted 7 lines · Manikandan Elumalai

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 <[email protected]>

Thie above tag should be Adjacent to the Signed-off-by.

Quoted 7 lines

--- 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.
---

The canonical format is to have a line of 3 dashes then the trailing changelog

Please read the documentation at

https://www.kernel.org/doc/html/latest/process/submitting-patches.html#using-reported-by-tested-by-reviewed-by-suggested-by-and-fixes
https://www.kernel.org/doc/html/latest/process/submitting-patches.html#the-canonical-patch-format

milton

maintainer
#2 lore raw
In reply to Manikandan Elumalai
Quoted 4 lines · Manikandan Elumalai

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

In addition to the other comment - please never send a new version of a patch with the same sequence number. There are now two different versions of this patch, both tagged "v4".

Guenter

Quoted 44 lines

---
--- v4 -Reported-by: kernel test robot <[email protected]>
--- 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.
---

---
 drivers/hwmon/pmbus/adm1275.c | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)
drivers/hwmon/pmbus/adm1275.c +5 -7
index 5caa37fb..d4e1925 100644
@@ -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;