phosphor-state-manager: Separate chassis and host targets

Separate chassis and host targets to generate corresponding instances.

Tested:
chassis/host power control.

Change-Id: I39330deeaf7411dedd3fdb8efaa81986e4fe040c
Signed-off-by: Delphine CC Chiu <Delphine_CC_Chiu@wiwynn.com>
diff --git a/meta-phosphor/recipes-phosphor/state/phosphor-state-manager-systemd-links.inc b/meta-phosphor/recipes-phosphor/state/phosphor-state-manager-systemd-links.inc
index c976301..3e14646 100644
--- a/meta-phosphor/recipes-phosphor/state/phosphor-state-manager-systemd-links.inc
+++ b/meta-phosphor/recipes-phosphor/state/phosphor-state-manager-systemd-links.inc
@@ -1,10 +1,5 @@
-DEFAULT_TARGETS = " \
+HOST_DEFAULT_TARGETS = " \
     multi-user.target.requires/obmc-host-reset@{}.target \
-    multi-user.target.wants/phosphor-discover-system-state@{}.service \
-    obmc-chassis-poweron@{}.target.wants/phosphor-reset-host-recovery@{}.service \
-    obmc-chassis-poweron@{}.target.requires/obmc-power-start@{}.service \
-    obmc-chassis-poweroff@{}.target.requires/obmc-power-stop@{}.service \
-    obmc-chassis-poweroff@{}.target.requires/obmc-powered-off@{}.service \
     obmc-host-start@{}.target.requires/obmc-host-startmin@{}.target \
     obmc-host-start@{}.target.requires/phosphor-reset-host-reboot-attempts@{}.service \
     obmc-host-startmin@{}.target.wants/phosphor-set-host-transition-to-running@{}.service \
@@ -14,13 +9,21 @@
     obmc-host-graceful-quiesce@{}.target.wants/obmc-host-quiesce@{}.target \
     obmc-host-graceful-quiesce@{}.target.wants/pldmSoftPowerOff.service \
     obmc-host-quiesce@{}.target.wants/phosphor-reset-sensor-states@{}.service \
-    obmc-host-shutdown@{}.target.requires/obmc-chassis-poweroff@{}.target \
     obmc-host-reboot@{}.target.requires/obmc-host-shutdown@{}.target \
     obmc-host-reboot@{}.target.requires/phosphor-reboot-host@{}.service \
     obmc-host-warm-reboot@{}.target.requires/xyz.openbmc_project.Ipmi.Internal.SoftPowerOff.service \
     obmc-host-force-warm-reboot@{}.target.requires/obmc-host-stop@{}.target \
     obmc-host-force-warm-reboot@{}.target.requires/phosphor-reboot-host@{}.service \
     obmc-host-warm-reboot@{}.target.requires/obmc-host-force-warm-reboot@{}.target \
+"
+
+CHASSIS_DEFAULT_TARGETS = " \
+    multi-user.target.wants/phosphor-discover-system-state@{}.service \
+    obmc-chassis-poweron@{}.target.wants/phosphor-reset-host-recovery@{}.service \
+    obmc-chassis-poweron@{}.target.requires/obmc-power-start@{}.service \
+    obmc-host-shutdown@{}.target.requires/obmc-chassis-poweroff@{}.target \
+    obmc-chassis-poweroff@{}.target.requires/obmc-power-stop@{}.service \
+    obmc-chassis-poweroff@{}.target.requires/obmc-powered-off@{}.service \
     obmc-chassis-poweroff@{}.target.wants/phosphor-clear-one-time@{}.service \
     obmc-chassis-blackout@{}.target.wants/phosphor-reset-sensor-states@{}.service \
     obmc-chassis-powerreset@{}.target.requires/phosphor-reset-chassis-on@{}.service \
@@ -34,7 +37,19 @@
 pkg_postinst:${PN}-obmc-targets:append() {
     for i in ${OBMC_HOST_INSTANCES};
     do
-        for j in ${DEFAULT_TARGETS};
+        for j in ${HOST_DEFAULT_TARGETS};
+        do
+            LINK="$D$systemd_system_unitdir/${j}"
+            LINK="$(echo ${LINK} | sed s/{}/${i}/g )"
+            TARGET="../$(basename ${j} | sed s/{}//g )"
+            mkdir -p "$(dirname ${LINK})"
+            ln -s "${TARGET}" "${LINK}"
+        done
+    done
+
+    for i in ${OBMC_CHASSIS_INSTANCES};
+    do
+        for j in ${CHASSIS_DEFAULT_TARGETS};
         do
             LINK="$D$systemd_system_unitdir/${j}"
             LINK="$(echo ${LINK} | sed s/{}/${i}/g )"
@@ -48,7 +63,17 @@
 pkg_prerm:${PN}-obmc-targets:append() {
     for i in ${OBMC_HOST_INSTANCES};
     do
-        for j in ${DEFAULT_TARGETS};
+        for j in ${HOST_DEFAULT_TARGETS};
+        do
+            LINK="$D$systemd_system_unitdir/${j}"
+            LINK="$(echo ${LINK} | sed s/{}/${i}/g )"
+            rm "${LINK}"
+        done
+    done
+
+    for i in ${OBMC_CHASSIS_INSTANCES};
+    do
+        for j in ${CHASSIS_DEFAULT_TARGETS};
         do
             LINK="$D$systemd_system_unitdir/${j}"
             LINK="$(echo ${LINK} | sed s/{}/${i}/g )"
@@ -76,7 +101,7 @@
 }
 
 pkg_postinst:${PN}-chassis-check-power-status:append() {
-    for i in ${OBMC_HOST_INSTANCES};
+    for i in ${OBMC_CHASSIS_INSTANCES};
     do
         mkdir -p $D$systemd_system_unitdir/obmc-chassis-poweron@${i}.target.requires
         LINK="$D$systemd_system_unitdir/obmc-chassis-poweron@${i}.target.requires/phosphor-chassis-check-power-status@${i}.service"
@@ -86,7 +111,7 @@
 }
 
 pkg_prerm:${PN}-chassis-check-power-status:append() {
-    for i in ${OBMC_HOST_INSTANCES};
+    for i in ${OBMC_CHASSIS_INSTANCES};
     do
         LINK="$D$systemd_system_unitdir/obmc-chassis-poweron@${i}.target.requires/phosphor-chassis-check-power-status@${i}.service"
         rm $LINK