Change name to just power OK
A system power OK signal may not necessarily be tied to the power
supplies, so rename everything to remove reference to the power supply
and keep just "power OK".
Tested:
Confirmed that ipmitool power on, off, and cycle all work as expected
and there is no mention of power supply in the logs.
Change-Id: I62370f2666602525c6b4564ccff8d18b703744f4
Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>
diff --git a/config/power-config-host0.json b/config/power-config-host0.json
index 74e96c9..6c9b21c 100644
--- a/config/power-config-host0.json
+++ b/config/power-config-host0.json
@@ -79,7 +79,7 @@
"ResetPulseMs": 500,
"PowerCycleMs": 5000,
"SioPowerGoodWatchdogMs": 1000,
- "PsPowerOKWatchdogMs": 8000,
+ "PowerOKWatchdogMs": 8000,
"GracefulPowerOffS": 300,
"WarmResetCheckMs": 500,
"PowerOffSaveMs": 7000,
diff --git a/src/power_control.cpp b/src/power_control.cpp
index 8bb0896..e14de4e 100644
--- a/src/power_control.cpp
+++ b/src/power_control.cpp
@@ -1,5 +1,5 @@
/*
-// Copyright (c) 2018-2019 Intel Corporation
+// Copyright (c) 2018-2025 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -145,7 +145,7 @@
{"ResetPulseMs", 500},
{"PowerCycleMs", 5000},
{"SioPowerGoodWatchdogMs", 1000},
- {"PsPowerOKWatchdogMs", 8000},
+ {"PowerOKWatchdogMs", 8000},
{"GracefulPowerOffS", (5 * 60)},
{"WarmResetCheckMs", 500},
{"PowerOffSaveMs", 7000},
@@ -165,8 +165,8 @@
static boost::asio::steady_timer gracefulPowerOffTimer(io);
// Time the warm reset check
static boost::asio::steady_timer warmResetCheckTimer(io);
-// Time power supply power OK assertion on power-on
-static boost::asio::steady_timer psPowerOKWatchdogTimer(io);
+// Time power OK assertion on power-on
+static boost::asio::steady_timer powerOKWatchdogTimer(io);
// Time SIO power good assertion on power-on
static boost::asio::steady_timer sioPowerGoodWatchdogTimer(io);
// Time power-off state save for power loss tracking
@@ -182,8 +182,8 @@
dBusRetryTimers;
// GPIO Lines and Event Descriptors
-static gpiod::line psPowerOKLine;
-static boost::asio::posix::stream_descriptor psPowerOKEvent(io);
+static gpiod::line powerOKLine;
+static boost::asio::posix::stream_descriptor powerOKEvent(io);
static gpiod::line sioPowerGoodLine;
static boost::asio::posix::stream_descriptor sioPowerGoodEvent(io);
static gpiod::line sioOnControlLine;
@@ -267,7 +267,7 @@
enum class PowerState
{
on,
- waitForPSPowerOK,
+ waitForPowerOK,
waitForSIOPowerGood,
off,
transitionToOff,
@@ -285,8 +285,8 @@
case PowerState::on:
return "On";
break;
- case PowerState::waitForPSPowerOK:
- return "Wait for Power Supply Power OK";
+ case PowerState::waitForPowerOK:
+ return "Wait for Power OK";
break;
case PowerState::waitForSIOPowerGood:
return "Wait for SIO Power Good";
@@ -325,8 +325,8 @@
enum class Event
{
- psPowerOKAssert,
- psPowerOKDeAssert,
+ powerOKAssert,
+ powerOKDeAssert,
sioPowerGoodAssert,
sioPowerGoodDeAssert,
sioS5Assert,
@@ -338,7 +338,7 @@
powerButtonPressed,
resetButtonPressed,
powerCycleTimerExpired,
- psPowerOKWatchdogTimerExpired,
+ powerOKWatchdogTimerExpired,
sioPowerGoodWatchdogTimerExpired,
gracefulPowerOffTimerExpired,
powerOnRequest,
@@ -353,11 +353,11 @@
{
switch (event)
{
- case Event::psPowerOKAssert:
- return "power supply power OK assert";
+ case Event::powerOKAssert:
+ return "power OK assert";
break;
- case Event::psPowerOKDeAssert:
- return "power supply power OK de-assert";
+ case Event::powerOKDeAssert:
+ return "power OK de-assert";
break;
case Event::sioPowerGoodAssert:
return "SIO power good assert";
@@ -392,8 +392,8 @@
case Event::powerCycleTimerExpired:
return "power cycle timer expired";
break;
- case Event::psPowerOKWatchdogTimerExpired:
- return "power supply power OK watchdog timer expired";
+ case Event::powerOKWatchdogTimerExpired:
+ return "power OK watchdog timer expired";
break;
case Event::sioPowerGoodWatchdogTimerExpired:
return "SIO power good watchdog timer expired";
@@ -435,7 +435,7 @@
// Power state handlers
static void powerStateOn(const Event event);
-static void powerStateWaitForPSPowerOK(const Event event);
+static void powerStateWaitForPowerOK(const Event event);
static void powerStateWaitForSIOPowerGood(const Event event);
static void powerStateOff(const Event event);
static void powerStateTransitionToOff(const Event event);
@@ -452,8 +452,8 @@
case PowerState::on:
return powerStateOn;
break;
- case PowerState::waitForPSPowerOK:
- return powerStateWaitForPSPowerOK;
+ case PowerState::waitForPowerOK:
+ return powerStateWaitForPowerOK;
break;
case PowerState::waitForSIOPowerGood:
return powerStateWaitForSIOPowerGood;
@@ -520,7 +520,7 @@
case PowerState::gracefulTransitionToCycleOff:
return "xyz.openbmc_project.State.Host.HostState.Running";
break;
- case PowerState::waitForPSPowerOK:
+ case PowerState::waitForPowerOK:
case PowerState::waitForSIOPowerGood:
case PowerState::off:
case PowerState::transitionToOff:
@@ -546,7 +546,7 @@
case PowerState::checkForWarmReset:
return "xyz.openbmc_project.State.Chassis.PowerState.On";
break;
- case PowerState::waitForPSPowerOK:
+ case PowerState::waitForPowerOK:
case PowerState::waitForSIOPowerGood:
case PowerState::off:
case PowerState::cycleOff:
@@ -755,13 +755,11 @@
TimerMap["SioPowerGoodWatchdogMs"], NULL);
}
-static void psPowerOKFailedLog()
+static void powerOKFailedLog()
{
- sd_journal_send(
- "MESSAGE=PowerControl: power supply power good failed to assert",
- "PRIORITY=%i", LOG_INFO, "REDFISH_MESSAGE_ID=%s",
- "OpenBMC.0.1.PowerSupplyPowerGoodFailed", "REDFISH_MESSAGE_ARGS=%d",
- TimerMap["PsPowerOKWatchdogMs"], NULL);
+ sd_journal_send("MESSAGE=PowerControl: power okay failed to assert",
+ "PRIORITY=%i", LOG_INFO, "REDFISH_MESSAGE_ID=%s",
+ "OpenBMC.0.1.SystemPowerOnFailed", NULL);
}
static void powerRestorePolicyLog()
@@ -1467,27 +1465,26 @@
});
}
-static void psPowerOKWatchdogTimerStart()
+static void powerOKWatchdogTimerStart()
{
- lg2::info("power supply power OK watchdog timer started");
- psPowerOKWatchdogTimer.expires_after(
- std::chrono::milliseconds(TimerMap["PsPowerOKWatchdogMs"]));
- psPowerOKWatchdogTimer.async_wait([](const boost::system::error_code ec) {
+ lg2::info("power OK watchdog timer started");
+ powerOKWatchdogTimer.expires_after(
+ std::chrono::milliseconds(TimerMap["PowerOKWatchdogMs"]));
+ powerOKWatchdogTimer.async_wait([](const boost::system::error_code ec) {
if (ec)
{
// operation_aborted is expected if timer is canceled before
// completion.
if (ec != boost::asio::error::operation_aborted)
{
- lg2::error(
- "power supply power OK watchdog async_wait failed: {ERROR_MSG}",
- "ERROR_MSG", ec.message());
+ lg2::error("power OK watchdog async_wait failed: {ERROR_MSG}",
+ "ERROR_MSG", ec.message());
}
- lg2::info("power supply power OK watchdog timer canceled");
+ lg2::info("power OK watchdog timer canceled");
return;
}
- lg2::info("power supply power OK watchdog timer expired");
- sendPowerControlEvent(Event::psPowerOKWatchdogTimerExpired);
+ lg2::info("power OK watchdog timer expired");
+ sendPowerControlEvent(Event::powerOKWatchdogTimerExpired);
});
}
@@ -1695,7 +1692,7 @@
logEvent(__FUNCTION__, event);
switch (event)
{
- case Event::psPowerOKDeAssert:
+ case Event::powerOKDeAssert:
setPowerState(PowerState::off);
// DC power is unexpectedly lost, beep
beep(beepPowerFail);
@@ -1762,16 +1759,16 @@
}
}
-static void powerStateWaitForPSPowerOK(const Event event)
+static void powerStateWaitForPowerOK(const Event event)
{
logEvent(__FUNCTION__, event);
switch (event)
{
- case Event::psPowerOKAssert:
+ case Event::powerOKAssert:
{
// Cancel any GPIO assertions held during the transition
gpioAssertTimer.cancel();
- psPowerOKWatchdogTimer.cancel();
+ powerOKWatchdogTimer.cancel();
if (sioEnabled == true)
{
sioPowerGoodWatchdogTimerStart();
@@ -1783,12 +1780,12 @@
}
break;
}
- case Event::psPowerOKWatchdogTimerExpired:
+ case Event::powerOKWatchdogTimerExpired:
setPowerState(PowerState::off);
- psPowerOKFailedLog();
+ powerOKFailedLog();
break;
case Event::sioPowerGoodAssert:
- psPowerOKWatchdogTimer.cancel();
+ powerOKWatchdogTimer.cancel();
setPowerState(PowerState::on);
break;
default:
@@ -1821,7 +1818,7 @@
logEvent(__FUNCTION__, event);
switch (event)
{
- case Event::psPowerOKAssert:
+ case Event::powerOKAssert:
{
if (sioEnabled == true)
{
@@ -1835,19 +1832,19 @@
break;
}
case Event::sioS5DeAssert:
- psPowerOKWatchdogTimerStart();
- setPowerState(PowerState::waitForPSPowerOK);
+ powerOKWatchdogTimerStart();
+ setPowerState(PowerState::waitForPowerOK);
break;
case Event::sioPowerGoodAssert:
setPowerState(PowerState::on);
break;
case Event::powerButtonPressed:
- psPowerOKWatchdogTimerStart();
- setPowerState(PowerState::waitForPSPowerOK);
+ powerOKWatchdogTimerStart();
+ setPowerState(PowerState::waitForPowerOK);
break;
case Event::powerOnRequest:
- psPowerOKWatchdogTimerStart();
- setPowerState(PowerState::waitForPSPowerOK);
+ powerOKWatchdogTimerStart();
+ setPowerState(PowerState::waitForPowerOK);
powerOn();
break;
default:
@@ -1861,7 +1858,7 @@
logEvent(__FUNCTION__, event);
switch (event)
{
- case Event::psPowerOKDeAssert:
+ case Event::powerOKDeAssert:
// Cancel any GPIO assertions held during the transition
gpioAssertTimer.cancel();
setPowerState(PowerState::off);
@@ -1877,7 +1874,7 @@
logEvent(__FUNCTION__, event);
switch (event)
{
- case Event::psPowerOKDeAssert:
+ case Event::powerOKDeAssert:
gracefulPowerOffTimer.cancel();
setPowerState(PowerState::off);
break;
@@ -1910,7 +1907,7 @@
logEvent(__FUNCTION__, event);
switch (event)
{
- case Event::psPowerOKAssert:
+ case Event::powerOKAssert:
{
powerCycleTimer.cancel();
if (sioEnabled == true)
@@ -1926,17 +1923,17 @@
}
case Event::sioS5DeAssert:
powerCycleTimer.cancel();
- psPowerOKWatchdogTimerStart();
- setPowerState(PowerState::waitForPSPowerOK);
+ powerOKWatchdogTimerStart();
+ setPowerState(PowerState::waitForPowerOK);
break;
case Event::powerButtonPressed:
powerCycleTimer.cancel();
- psPowerOKWatchdogTimerStart();
- setPowerState(PowerState::waitForPSPowerOK);
+ powerOKWatchdogTimerStart();
+ setPowerState(PowerState::waitForPowerOK);
break;
case Event::powerCycleTimerExpired:
- psPowerOKWatchdogTimerStart();
- setPowerState(PowerState::waitForPSPowerOK);
+ powerOKWatchdogTimerStart();
+ setPowerState(PowerState::waitForPowerOK);
powerOn();
break;
default:
@@ -1950,7 +1947,7 @@
logEvent(__FUNCTION__, event);
switch (event)
{
- case Event::psPowerOKDeAssert:
+ case Event::powerOKDeAssert:
// Cancel any GPIO assertions held during the transition
gpioAssertTimer.cancel();
setPowerState(PowerState::cycleOff);
@@ -1967,7 +1964,7 @@
logEvent(__FUNCTION__, event);
switch (event)
{
- case Event::psPowerOKDeAssert:
+ case Event::powerOKDeAssert:
gracefulPowerOffTimer.cancel();
setPowerState(PowerState::cycleOff);
powerCycleTimerStart();
@@ -2008,7 +2005,7 @@
case Event::warmResetDetected:
setPowerState(PowerState::on);
break;
- case Event::psPowerOKDeAssert:
+ case Event::powerOKDeAssert:
warmResetCheckTimer.cancel();
setPowerState(PowerState::off);
// DC power is unexpectedly lost, beep
@@ -2020,11 +2017,11 @@
}
}
-static void psPowerOKHandler(bool state)
+static void powerOKHandler(bool state)
{
Event powerControlEvent = (state == powerOkConfig.polarity)
- ? Event::psPowerOKAssert
- : Event::psPowerOKDeAssert;
+ ? Event::powerOKAssert
+ : Event::powerOKDeAssert;
sendPowerControlEvent(powerControlEvent);
}
@@ -2770,11 +2767,11 @@
lg2::info("SIO control GPIOs not defined, disable SIO support.");
}
- // Request PS_PWROK GPIO events
+ // Request power OK GPIO events
if (powerOkConfig.type == ConfigType::GPIO)
{
- if (!requestGPIOEvents(powerOkConfig.lineName, psPowerOKHandler,
- psPowerOKLine, psPowerOKEvent))
+ if (!requestGPIOEvents(powerOkConfig.lineName, powerOKHandler,
+ powerOKLine, powerOKEvent))
{
return -1;
}
@@ -2782,7 +2779,7 @@
else if (powerOkConfig.type == ConfigType::DBUS)
{
static sdbusplus::bus::match_t powerOkEventMonitor =
- power_control::dbusGPIOMatcher(powerOkConfig, psPowerOKHandler);
+ power_control::dbusGPIOMatcher(powerOkConfig, powerOKHandler);
}
else
{
@@ -2997,7 +2994,7 @@
if (powerOkConfig.type == ConfigType::GPIO)
{
- if (psPowerOKLine.get_value() > 0 ||
+ if (powerOKLine.get_value() > 0 ||
(sioEnabled &&
(sioPowerGoodLine.get_value() == sioPwrGoodConfig.polarity)))
{