diff --git a/src/hostSelector_switch.cpp b/src/hostSelector_switch.cpp
index 81bd247..c398e35 100644
--- a/src/hostSelector_switch.cpp
+++ b/src/hostSelector_switch.cpp
@@ -136,8 +136,8 @@
     if (config.type == ConfigType::gpio)
     {
         // read the gpio state for the io event received
-        GpioState gpioState = (buf == '0') ? (GpioState::deassert)
-                                           : (GpioState::assert);
+        GpioState gpioState =
+            (buf == '0') ? (GpioState::deassert) : (GpioState::assert);
 
         setHostSelectorValue(fd, gpioState);
         hsPosMapped = getMappedHSConfig(hostSelectorPosition);
diff --git a/src/host_then_chassis_poweroff.cpp b/src/host_then_chassis_poweroff.cpp
index 7abde43..4489364 100644
--- a/src/host_then_chassis_poweroff.cpp
+++ b/src/host_then_chassis_poweroff.cpp
@@ -134,9 +134,9 @@
         lg2::info("Power button action requesting host transition of {TRANS}",
                   "TRANS", std::get<std::string>(state));
 
-        auto method = bus.new_method_call(service::hostState,
-                                          object_path::hostState,
-                                          interface::property, "Set");
+        auto method =
+            bus.new_method_call(service::hostState, object_path::hostState,
+                                interface::property, "Set");
         method.append(interface::hostState, "RequestedHostTransition", state);
 
         bus.call(method);
@@ -214,9 +214,9 @@
 
     try
     {
-        auto method = bus.new_method_call(service::bmcState,
-                                          object_path::bmcState,
-                                          interface::property, "Get");
+        auto method =
+            bus.new_method_call(service::bmcState, object_path::bmcState,
+                                interface::property, "Get");
         method.append(interface::bmcState, "CurrentBMCState");
         auto result = bus.call(method);
 
diff --git a/src/serial_uart_mux.cpp b/src/serial_uart_mux.cpp
index bd1c0d8..c36e82a 100644
--- a/src/serial_uart_mux.cpp
+++ b/src/serial_uart_mux.cpp
@@ -40,8 +40,8 @@
 // check the debug card present pin
 bool SerialUartMux::isOCPDebugCardPresent()
 {
-    auto gpioState = getGpioState(debugCardPresentGpio.fd,
-                                  debugCardPresentGpio.polarity);
+    auto gpioState =
+        getGpioState(debugCardPresentGpio.fd, debugCardPresentGpio.polarity);
     return (gpioState == GpioState::assert);
 }
 // set the serial uart MUX to select the console w.r.t host selector position
@@ -65,8 +65,8 @@
 
         if (gpioConfig.name == SERIAL_UART_RX_GPIO)
         {
-            gpioState = debugCardPresent ? GpioState::assert
-                                         : GpioState::deassert;
+            gpioState =
+                debugCardPresent ? GpioState::assert : GpioState::deassert;
         }
         else
         {
