meta-quanta: gbs: overwrite the WCTEMP reading to json config

Read WCTEMP reading and overwrite to config-margin.json
and update the WCTEMP variables to be wrapped in @@ to
avoid any mis-replacement

Signed-off-by: George Hung <george.hung@quantatw.com>
Change-Id: I2f6eae64acc1db089c1a3ca48288ae360d555dac
diff --git a/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/config-margin.json b/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/config-margin.json.in
similarity index 94%
rename from meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/config-margin.json
rename to meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/config-margin.json.in
index e28c0be..83db12d 100644
--- a/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/config-margin.json
+++ b/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/config-margin.json.in
@@ -22,7 +22,7 @@
             "path": "/xyz/openbmc_project/sensors/temperature/nvme0",
             "parameters": {
                 "type": "",
-                "maxTemp": WCTemp00,
+                "maxTemp": @WCTemp00@,
                 "path": "",
                 "sysLabel": "",
                 "targetTemp": -1,
@@ -37,7 +37,7 @@
             "path": "/xyz/openbmc_project/sensors/temperature/nvme1",
             "parameters": {
                 "type": "",
-                "maxTemp": WCTemp01,
+                "maxTemp": @WCTemp01@,
                 "path": "",
                 "sysLabel": "",
                 "targetTemp": -1,
@@ -52,7 +52,7 @@
             "path": "/xyz/openbmc_project/sensors/temperature/nvme2",
             "parameters": {
                 "type": "",
-                "maxTemp": WCTemp02,
+                "maxTemp": @WCTemp02@,
                 "path": "",
                 "sysLabel": "",
                 "targetTemp": -1,
@@ -67,7 +67,7 @@
             "path": "/xyz/openbmc_project/sensors/temperature/nvme3",
             "parameters": {
                 "type": "",
-                "maxTemp": WCTemp03,
+                "maxTemp": @WCTemp03@,
                 "path": "",
                 "sysLabel": "",
                 "targetTemp": -1,
@@ -82,7 +82,7 @@
             "path": "/xyz/openbmc_project/sensors/temperature/nvme4",
             "parameters": {
                 "type": "",
-                "maxTemp": WCTemp04,
+                "maxTemp": @WCTemp04@,
                 "path": "",
                 "sysLabel": "",
                 "targetTemp": -1,
@@ -97,7 +97,7 @@
             "path": "/xyz/openbmc_project/sensors/temperature/nvme5",
             "parameters": {
                 "type": "",
-                "maxTemp": WCTemp05,
+                "maxTemp": @WCTemp05@,
                 "path": "",
                 "sysLabel": "",
                 "targetTemp": -1,
@@ -112,7 +112,7 @@
             "path": "/xyz/openbmc_project/sensors/temperature/nvme6",
             "parameters": {
                 "type": "",
-                "maxTemp": WCTemp06,
+                "maxTemp": @WCTemp06@,
                 "path": "",
                 "sysLabel": "",
                 "targetTemp": -1,
@@ -127,7 +127,7 @@
             "path": "/xyz/openbmc_project/sensors/temperature/nvme7",
             "parameters": {
                 "type": "",
-                "maxTemp": WCTemp07,
+                "maxTemp": @WCTemp07@,
                 "path": "",
                 "sysLabel": "",
                 "targetTemp": -1,
@@ -142,7 +142,7 @@
             "path": "/xyz/openbmc_project/sensors/temperature/nvme8",
             "parameters": {
                 "type": "",
-                "maxTemp": WCTemp08,
+                "maxTemp": @WCTemp08@,
                 "path": "",
                 "sysLabel": "",
                 "targetTemp": -1,
@@ -157,7 +157,7 @@
             "path": "/xyz/openbmc_project/sensors/temperature/nvme9",
             "parameters": {
                 "type": "",
-                "maxTemp": WCTemp09,
+                "maxTemp": @WCTemp09@,
                 "path": "",
                 "sysLabel": "",
                 "targetTemp": -1,
@@ -172,7 +172,7 @@
             "path": "/xyz/openbmc_project/sensors/temperature/nvme10",
             "parameters": {
                 "type": "",
-                "maxTemp": WCTemp10,
+                "maxTemp": @WCTemp10@,
                 "path": "",
                 "sysLabel": "",
                 "targetTemp": -1,
@@ -187,7 +187,7 @@
             "path": "/xyz/openbmc_project/sensors/temperature/nvme11",
             "parameters": {
                 "type": "",
-                "maxTemp": WCTemp11,
+                "maxTemp": @WCTemp11@,
                 "path": "",
                 "sysLabel": "",
                 "targetTemp": -1,
@@ -202,7 +202,7 @@
             "path": "/xyz/openbmc_project/sensors/temperature/nvme12",
             "parameters": {
                 "type": "",
-                "maxTemp": WCTemp12,
+                "maxTemp": @WCTemp12@,
                 "path": "",
                 "sysLabel": "",
                 "targetTemp": -1,
@@ -217,7 +217,7 @@
             "path": "/xyz/openbmc_project/sensors/temperature/nvme13",
             "parameters": {
                 "type": "",
-                "maxTemp": WCTemp13,
+                "maxTemp": @WCTemp13@,
                 "path": "",
                 "sysLabel": "",
                 "targetTemp": -1,
@@ -232,7 +232,7 @@
             "path": "/xyz/openbmc_project/sensors/temperature/nvme14",
             "parameters": {
                 "type": "",
-                "maxTemp": WCTemp14,
+                "maxTemp": @WCTemp14@,
                 "path": "",
                 "sysLabel": "",
                 "targetTemp": -1,
@@ -247,7 +247,7 @@
             "path": "/xyz/openbmc_project/sensors/temperature/nvme15",
             "parameters": {
                 "type": "",
-                "maxTemp": WCTemp15,
+                "maxTemp": @WCTemp15@,
                 "path": "",
                 "sysLabel": "",
                 "targetTemp": -1,
diff --git a/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/read-margin-temp-wait.sh b/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/read-margin-temp-wait.sh
index d0cb2f6..23742a6 100644
--- a/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/read-margin-temp-wait.sh
+++ b/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/read-margin-temp-wait.sh
@@ -1,22 +1,15 @@
 #!/bin/bash
 
-MARGIN_TABLE_FILE="/usr/share/read-margin-temp/config-margin.json"
+MARGIN_TABLE_FILE_IN="/usr/share/read-margin-temp/config-margin.json.in"
+TEMP_FILE="$(mktemp)"
+cp "$MARGIN_TABLE_FILE_IN" "$TEMP_FILE"
 
-target_num="$(cat $MARGIN_TABLE_FILE | grep '"target"' | wc -l)"
-
-cpu_hwmon="$(ls -la /sys/class/hwmon | grep f0082000 |  head -n 1 | tail -n +1 | cut -d '/' -f 11)"
-
-# replace by the real cpu temperature hwmon path in runtime
-if [[ "$cpu_hwmon" != "" ]]
-then
-     sed -i "s/cpu_hwmon/$cpu_hwmon/g" $MARGIN_TABLE_FILE
-fi
+target_num="$(cat $TEMP_FILE | grep '"target"' | wc -l)"
 
 # wait target dbus
-for ((i=0; i<$target_num; i++))
-do
+for ((i = 0; i < ${target_num}; i++)); do
     line_num=$((i+1))
-    path="$(cat $MARGIN_TABLE_FILE | grep '"target"' | head -n ${line_num} | tail -n +${line_num} | cut -d '"' -f 4)"
+    path="$(cat $TEMP_FILE | grep '"target"' | head -n ${line_num} | tail -n +${line_num} | cut -d '"' -f 4)"
     mapper wait $path
 done
 
@@ -24,7 +17,7 @@
 nvmeInventoryPath="/xyz/openbmc_project/inventory/system/chassis/motherboard/nvme"
 # Get and Set WCTEMP
 for ((i = 0; i < 16; i++)); do
-    name=WCTemp$(printf "%02d" $i)
+    name="@WCTemp$(printf "%02d" $i)@"
     wcTemp=72000
     presentState=$(busctl get-property \
         xyz.openbmc_project.Inventory.Manager \
@@ -42,9 +35,12 @@
         wcTemp=$((wcTemp * 1000))
     fi
 
-    sed -i "s/$name/${wcTemp}/g" $MARGIN_TABLE_FILE
+    sed -i "s/$name/${wcTemp}/g" $TEMP_FILE
 done
 
+# Use shell parameter expansion to trim the ".in" suffix
+mv "$TEMP_FILE" "${MARGIN_TABLE_FILE_IN%".in"}"
+
 # start read margin temp
 /usr/bin/read-margin-temp &
 
diff --git a/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp_%.bbappend b/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp_%.bbappend
index b3fc4d2..981c0d2 100644
--- a/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp_%.bbappend
+++ b/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp_%.bbappend
@@ -1,16 +1,17 @@
 FILESEXTRAPATHS_prepend_gbs := "${THISDIR}/${PN}:"
-SRC_URI_append_gbs = " file://config-margin.json \
+
+SRC_URI_append_gbs = " file://config-margin.json.in \
                        file://read-margin-temp-wait.sh \
                      "
 
 FILES_${PN}_append_gbs = " ${bindir}/read-margin-temp-wait.sh"
-FILES_${PN}_append_gbs = " ${datadir}/read-margin-temp/config-margin.json"
+FILES_${PN}_append_gbs = " ${datadir}/read-margin-temp/config-margin.json.in"
 
 do_install_append_gbs() {
     install -d ${D}${bindir}
     install -m 0755 ${WORKDIR}/read-margin-temp-wait.sh ${D}${bindir}
 
     install -d ${D}${datadir}/read-margin-temp
-    install -m 0644 -D ${WORKDIR}/config-margin.json \
-        ${D}${datadir}/read-margin-temp/config-margin.json
+    install -m 0644 -D ${WORKDIR}/config-margin.json.in \
+        ${D}${datadir}/${PN}/
 }