diff --git a/.clang-format b/.clang-format
index 42a2307..ea71ad6 100644
--- a/.clang-format
+++ b/.clang-format
@@ -42,7 +42,7 @@
 ConstructorInitializerIndentWidth: 4
 ContinuationIndentWidth: 4
 Cpp11BracedListStyle: true
-DerivePointerAlignment: true
+DerivePointerAlignment: false
 PointerAlignment: Left
 DisableFormat:   false
 ExperimentalAutoDetectBinPacking: false
@@ -79,9 +79,9 @@
 PenaltyBreakString: 1000
 PenaltyExcessCharacter: 1000000
 PenaltyReturnTypeOnItsOwnLine: 60
-PointerAlignment: Right
 ReflowComments:  true
 SortIncludes:    true
+SortUsingDeclarations: true
 SpaceAfterCStyleCast: false
 SpaceBeforeAssignmentOperators: true
 SpaceBeforeParens: ControlStatements
diff --git a/test/fanpwm_unittest.cpp b/test/fanpwm_unittest.cpp
index 11dcee9..b42c76d 100644
--- a/test/fanpwm_unittest.cpp
+++ b/test/fanpwm_unittest.cpp
@@ -19,8 +19,8 @@
 
 // Handle basic expectations we'll need for all these tests, if it's found that
 // this is helpful for more tests, it can be promoted in scope.
-void SetupDbusObject(sdbusplus::SdBusMock *sdbus_mock, const std::string &path,
-                     const std::string &intf, const std::string property = "")
+void SetupDbusObject(sdbusplus::SdBusMock* sdbus_mock, const std::string& path,
+                     const std::string& intf, const std::string property = "")
 {
     EXPECT_CALL(*sdbus_mock,
                 sd_bus_add_object_vtable(IsNull(), NotNull(), StrEq(path),
@@ -39,8 +39,8 @@
         EXPECT_CALL(*sdbus_mock,
                     sd_bus_emit_properties_changed_strv(IsNull(), StrEq(path),
                                                         StrEq(intf), NotNull()))
-            .WillOnce(Invoke([=](sd_bus *bus, const char *path,
-                                 const char *interface, char **names) {
+            .WillOnce(Invoke([=](sd_bus* bus, const char* path,
+                                 const char* interface, char** names) {
                 EXPECT_STREQ(property.c_str(), names[0]);
                 return 0;
             }));
@@ -124,8 +124,8 @@
 
     SetupDbusObject(&sdbus_mock, objPath, FanPwmIntf, FanPwmProp);
 
-    hwmonio::HwmonIOMock *hwmonio =
-        reinterpret_cast<hwmonio::HwmonIOMock *>(hwmonio_mock.get());
+    hwmonio::HwmonIOMock* hwmonio =
+        reinterpret_cast<hwmonio::HwmonIOMock*>(hwmonio_mock.get());
 
     hwmon::FanPwm f(std::move(hwmonio_mock), devPath, id, bus_mock,
                     objPath.c_str(), defer, target);
@@ -139,8 +139,8 @@
     EXPECT_CALL(sdbus_mock,
                 sd_bus_emit_properties_changed_strv(
                     IsNull(), StrEq("asdf"), StrEq(FanPwmIntf), NotNull()))
-        .WillOnce(Invoke([&](sd_bus *bus, const char *path,
-                             const char *interface, char **names) {
+        .WillOnce(Invoke([&](sd_bus* bus, const char* path,
+                             const char* interface, char** names) {
             EXPECT_EQ(0, strncmp("Target", names[0], 6));
             return 0;
         }));
