diff --git a/phosphor-power-sequencer/src/ucd90320_monitor.hpp b/phosphor-power-sequencer/src/ucd90320_monitor.hpp
index b4d1916..938d0a1 100644
--- a/phosphor-power-sequencer/src/ucd90320_monitor.hpp
+++ b/phosphor-power-sequencer/src/ucd90320_monitor.hpp
@@ -79,20 +79,6 @@
     std::vector<std::string> rails;
 
     /**
-     * Checks for PGOOD faults on the device.
-     * @param[in] additionalData AdditionalData property of the error log entry
-     * @return bool true if an error log was created
-     */
-    bool checkPGOODFaults(std::map<std::string, std::string>& additionalData);
-
-    /**
-     * Checks for VOUT faults on the device.
-     * @param[in] additionalData AdditionalData property of the error log entry
-     * @return bool true if an error log was created
-     */
-    bool checkVOUTFaults(std::map<std::string, std::string>& additionalData);
-
-    /**
      * Finds the list of compatible system types using D-Bus methods.
      * This list is used to find the correct JSON configuration file for the
      * current system.
@@ -117,13 +103,13 @@
 
     /**
      * Reads the mfr_status register
-     * @return uint32_t the register contents
+     * @return the register contents
      */
     uint32_t readMFRStatus();
 
     /**
      * Reads the status_word register
-     * @return uint16_t the register contents
+     * @return the register contents
      */
     uint16_t readStatusWord();
 
