Handle SSBThermTrip events on startup

Add support for SSBThermTrip to the error initialization so it
will be logged if the signal is asserted when the monitor starts.

Tested:
Verified that SSBThermtrip behaves the same as previously.

Change-Id: I713641b48659c82c21ba5d20050d7d8c27f6c120
Signed-off-by: Jason M. Bills <jason.m.bills@intel.com>
diff --git a/src/host_error_monitor.cpp b/src/host_error_monitor.cpp
index 1062fca..6f9ef0e 100644
--- a/src/host_error_monitor.cpp
+++ b/src/host_error_monitor.cpp
@@ -105,6 +105,13 @@
                     "REDFISH_MESSAGE_ARGS=%s", "SMI Timeout", NULL);
 }
 
+static void ssbThermTripLog()
+{
+    sd_journal_send("MESSAGE=HostError: SSB thermal trip", "PRIORITY=%i",
+                    LOG_INFO, "REDFISH_MESSAGE_ID=%s",
+                    "OpenBMC.0.1.SsbThermalTrip", NULL);
+}
+
 static void initializeErrorState();
 static void initializeHostState()
 {
@@ -615,11 +622,7 @@
             gpioLineEvent.event_type == gpiod::line_event::FALLING_EDGE;
         if (pchThermtrip)
         {
-            std::cout << "PCH Thermal trip detected \n";
-            // log to redfish, call API
-            sd_journal_send("MESSAGE=SsbThermalTrip: SSB Thermal trip",
-                            "PRIORITY=%i", LOG_INFO, "REDFISH_MESSAGE_ID=%s",
-                            "OpenBMC.0.1.SsbThermalTrip", NULL);
+            ssbThermTripLog();
         }
     }
     pchThermtripEvent.async_wait(
@@ -860,6 +863,12 @@
     {
         smiAssertHandler();
     }
+
+    // Handle PCH_BMC_THERMTRIP if it's asserted now
+    if (pchThermtripLine.get_value() == 0)
+    {
+        ssbThermTripLog();
+    }
 }
 } // namespace host_error_monitor