diff --git a/subprojects/metrics-ipmi-blobs/metric.cpp b/subprojects/metrics-ipmi-blobs/metric.cpp
index bc8ac94..954d988 100644
--- a/subprojects/metrics-ipmi-blobs/metric.cpp
+++ b/subprojects/metrics-ipmi-blobs/metric.cpp
@@ -451,4 +451,4 @@
     return ret;
 }
 
-} // namespace metric_blob
\ No newline at end of file
+} // namespace metric_blob
diff --git a/subprojects/metrics-ipmi-blobs/test/util_test.cpp b/subprojects/metrics-ipmi-blobs/test/util_test.cpp
index 00c5ed8..8a7e181 100644
--- a/subprojects/metrics-ipmi-blobs/test/util_test.cpp
+++ b/subprojects/metrics-ipmi-blobs/test/util_test.cpp
@@ -154,4 +154,4 @@
 {
     ::testing::InitGoogleTest(&argc, argv);
     return RUN_ALL_TESTS();
-}
\ No newline at end of file
+}
diff --git a/subprojects/metrics-ipmi-blobs/util.cpp b/subprojects/metrics-ipmi-blobs/util.cpp
index 3057cfb..5bfc9c8 100644
--- a/subprojects/metrics-ipmi-blobs/util.cpp
+++ b/subprojects/metrics-ipmi-blobs/util.cpp
@@ -111,8 +111,8 @@
 
 std::string getCmdLine(const int pid)
 {
-    const std::string& cmdlinePath =
-        "/proc/" + std::to_string(pid) + "/cmdline";
+    const std::string& cmdlinePath = "/proc/" + std::to_string(pid) +
+                                     "/cmdline";
 
     std::string cmdline = readFileThenGrepIntoString(cmdlinePath);
     for (size_t i = 0; i < cmdline.size(); ++i)
@@ -245,8 +245,8 @@
     uint32_t pageOffset = target & ~static_cast<uint32_t>(pageSize - 1);
     uint32_t offsetInPage = target & static_cast<uint32_t>(pageSize - 1);
 
-    void* mapBase =
-        mmap(NULL, pageSize * 2, PROT_READ, MAP_SHARED, fd, pageOffset);
+    void* mapBase = mmap(NULL, pageSize * 2, PROT_READ, MAP_SHARED, fd,
+                         pageOffset);
     if (mapBase == MAP_FAILED)
     {
         close(fd);
@@ -284,7 +284,7 @@
         {"FirmwareTimestampMonotonic",
          offsetof(BootTimesMonotonic, firmwareTime)}, // negative value
         {"LoaderTimestampMonotonic",
-         offsetof(BootTimesMonotonic, loaderTime)}, // negative value
+         offsetof(BootTimesMonotonic, loaderTime)},   // negative value
         {"InitRDTimestampMonotonic", offsetof(BootTimesMonotonic, initrdTime)},
         {"UserspaceTimestampMonotonic",
          offsetof(BootTimesMonotonic, userspaceTime)},
@@ -326,8 +326,8 @@
         return false;
     }
 
-    std::string cpuinfo =
-        readFileThenGrepIntoString("/proc/cpuinfo", "Hardware");
+    std::string cpuinfo = readFileThenGrepIntoString("/proc/cpuinfo",
+                                                     "Hardware");
     // Nuvoton NPCM7XX chip has a counter which starts from power-on.
     if (cpuinfo.find("NPCM7XX") != std::string::npos)
     {
@@ -348,4 +348,4 @@
     return true;
 }
 
-} // namespace metric_blob
\ No newline at end of file
+} // namespace metric_blob
