diff --git a/extensions/openpower-pels/src.cpp b/extensions/openpower-pels/src.cpp
index a40bb8c..7b7e59f 100644
--- a/extensions/openpower-pels/src.cpp
+++ b/extensions/openpower-pels/src.cpp
@@ -545,8 +545,8 @@
     return std::nullopt;
 }
 
-std::optional<std::string>
-    SRC::getErrorMessage(const message::Entry& regEntry) const
+std::optional<std::string> SRC::getErrorMessage(
+    const message::Entry& regEntry) const
 {
     try
     {
@@ -707,10 +707,10 @@
     return printOut;
 }
 
-std::optional<std::string>
-    SRC::getJSON(message::Registry& registry,
-                 const std::vector<std::string>& plugins [[maybe_unused]],
-                 uint8_t creatorID) const
+std::optional<std::string> SRC::getJSON(message::Registry& registry,
+                                        const std::vector<std::string>& plugins
+                                        [[maybe_unused]],
+                                        uint8_t creatorID) const
 {
     std::string ps;
     std::vector<std::string> hexwords;
@@ -1424,8 +1424,8 @@
     return priority;
 }
 
-std::vector<src::MRU::MRUCallout>
-    SRC::getMRUsFromJSON(const nlohmann::json& mruJSON)
+std::vector<src::MRU::MRUCallout> SRC::getMRUsFromJSON(
+    const nlohmann::json& mruJSON)
 {
     std::vector<src::MRU::MRUCallout> mrus;
 
