diff --git a/include/dbus_utility.hpp b/include/dbus_utility.hpp
index 5c33b28..b4a5e81 100644
--- a/include/dbus_utility.hpp
+++ b/include/dbus_utility.hpp
@@ -130,11 +130,11 @@
     return count >= index;
 }
 
-inline void
-    getAllProperties(const std::string& service, const std::string& objectPath,
-                     const std::string& interface,
-                     std::function<void(const boost::system::error_code&,
-                                        const DBusPropertiesMap&)>&& callback)
+inline void getAllProperties(
+    const std::string& service, const std::string& objectPath,
+    const std::string& interface,
+    std::function<void(const boost::system::error_code&,
+                       const DBusPropertiesMap&)>&& callback)
 {
     sdbusplus::asio::getAllProperties(*crow::connections::systemBus, service,
                                       objectPath, interface,
@@ -188,11 +188,11 @@
         std::array<std::string, 0>());
 }
 
-inline void
-    getSubTree(const std::string& path, int32_t depth,
-               std::span<const std::string_view> interfaces,
-               std::function<void(const boost::system::error_code&,
-                                  const MapperGetSubTreeResponse&)>&& callback)
+inline void getSubTree(
+    const std::string& path, int32_t depth,
+    std::span<const std::string_view> interfaces,
+    std::function<void(const boost::system::error_code&,
+                       const MapperGetSubTreeResponse&)>&& callback)
 {
     crow::connections::systemBus->async_method_call(
         [callback{std::move(callback)}](
