diff --git a/power-sequencer/mihawk-cpld.cpp b/power-sequencer/mihawk-cpld.cpp
index 0e0744a..4a7735d 100644
--- a/power-sequencer/mihawk-cpld.cpp
+++ b/power-sequencer/mihawk-cpld.cpp
@@ -53,8 +53,7 @@
 
 MihawkCPLD::MihawkCPLD(size_t instance, sdbusplus::bus::bus& bus) :
     Device(DEVICE_NAME, instance), bus(bus)
-{
-}
+{}
 
 void MihawkCPLD::onFailure()
 {
diff --git a/power-sequencer/mihawk-cpld.hpp b/power-sequencer/mihawk-cpld.hpp
index 4e0858e..f0af75a 100644
--- a/power-sequencer/mihawk-cpld.hpp
+++ b/power-sequencer/mihawk-cpld.hpp
@@ -55,8 +55,7 @@
      * Clears faults in the device
      */
     void clearFaults() override
-    {
-    }
+    {}
 
   private:
     /**
diff --git a/power-sequencer/pgood_monitor.hpp b/power-sequencer/pgood_monitor.hpp
index 8f9ba45..bc1ffd5 100644
--- a/power-sequencer/pgood_monitor.hpp
+++ b/power-sequencer/pgood_monitor.hpp
@@ -47,8 +47,7 @@
                  std::chrono::milliseconds& t) :
         DeviceMonitor(std::move(d), e, t),
         bus(b)
-    {
-    }
+    {}
 
     /**
      * Analyzes the power sequencer for fails and then
diff --git a/power-sequencer/runtime_monitor.hpp b/power-sequencer/runtime_monitor.hpp
index 5a6febc..8b6789d 100644
--- a/power-sequencer/runtime_monitor.hpp
+++ b/power-sequencer/runtime_monitor.hpp
@@ -55,8 +55,7 @@
         bus(b), match(bus, getMatchString(),
                       std::bind(std::mem_fn(&RuntimeMonitor::onPowerLost), this,
                                 std::placeholders::_1))
-    {
-    }
+    {}
 
     /**
      * Clears faults and then runs DeviceMonitor::run to
diff --git a/power-sequencer/ucd90160.cpp b/power-sequencer/ucd90160.cpp
index 8d28a32..6775dfb 100644
--- a/power-sequencer/ucd90160.cpp
+++ b/power-sequencer/ucd90160.cpp
@@ -55,8 +55,7 @@
     interface(std::get<ucd90160::pathField>(deviceMap.find(instance)->second),
               DRIVER_NAME, instance),
     gpioDevice(findGPIODevice(interface.path())), bus(bus)
-{
-}
+{}
 
 void UCD90160::onFailure()
 {
diff --git a/power-sequencer/ucd90160.hpp b/power-sequencer/ucd90160.hpp
index 7cfd809..82efc92 100644
--- a/power-sequencer/ucd90160.hpp
+++ b/power-sequencer/ucd90160.hpp
@@ -61,8 +61,7 @@
      * Clears faults in the device
      */
     void clearFaults() override
-    {
-    }
+    {}
 
   private:
     /**
