tree 40dd23c8c44b7160a115f6b7a516cf586970546a
parent c019e828345c908e9b422777ff206107c60e1cac
author DelphineCCChiu <Delphine_CC_Chiu@wiwynn.com> 1679036060 +0800
committer Patrick Williams <patrick@stwcx.xyz> 1691409829 +0000

meta-facebook: greatlakes: Remove the redundant dependency of power control

So far, there are two depnedency being redundant in greatlakes:
The first one is that, slot host off was waiting the invalid ipmi host service,
and we won't use xyz.openbmc_project.Ipmi.Internal.SoftPowerOff.service in doing power off.

The second one is chassis power off mapper-wait@-org-openbmc-control-power4.service.
org-openbmc-control-power is no longer used in our system,
but still remains some redundant dependency in phosphor-state manager.

For these reasons, remove dependencies,
and it was verified that power control was affected by this change.

Tested:
- Check job list by systemctl after following power control:
 - before this change
[slot host power on]
root@greatlakes:~# systemctl list-jobs
No jobs running.
[slot host power off]
root@greatlakes:~# systemctl list-jobs
JOB  UNIT                                                   TYPE  STATE
7507 obmc-host-shutdown@4.target                            start waiting
7605 mapper-wait@-org-openbmc-HostIpmi-1.service            start running
7599 xyz.openbmc_project.Ipmi.Internal.SoftPowerOff.service start waiting

3 jobs listed.
[slot chassis power on]
root@greatlakes:~# systemctl list-jobs
JOB  UNIT                                            TYPE  STATE
5638 obmc-power-start@4.target                       start waiting
5650 obmc-power-on@4.target                          start waiting
5646 mapper-wait@-org-openbmc-control-power4.service start running
5576 obmc-chassis-poweron@4.target                   start waiting
5577 obmc-power-start@4.service                      start waiting

5 jobs listed.
[slot chassis power off]
root@greatlakes:~# systemctl list-jobs
JOB  UNIT                                            TYPE  STATE
6625 obmc-chassis-poweroff@4.target                  start waiting
6696 mapper-wait@-org-openbmc-control-power4.service start running
6626 obmc-power-stop@4.service                       start waiting
6701 obmc-power-off@4.target                         start waiting
6715 obmc-chassis-hard-poweroff@4.target             start waiting
6694 obmc-power-stop@4.target                        start waiting

6 jobs listed.
 - after this change
[slot host power on]
root@greatlakes:~# systemctl list-jobs
No jobs running.
[slot host power off]
root@greatlakes:~# systemctl list-jobs
No jobs running.
[slot chassis power on]
root@greatlakes:~# systemctl list-jobs
No jobs running.
[slot chassis power off]
root@greatlakes:~# systemctl list-jobs
No jobs running.

Change-Id: Ifb2acb179c6f4f676db325243e324314080a1a7c
Signed-off-by: DelphineCCChiu <Delphine_CC_Chiu@wiwynn.com>
