binder: replace android_atomic_add with std::atomic

android_atomic_add uses the STL atomics internally with
`memory_order_release`, so this should be a no-op.

Test: m
Change-Id: Ie63464d9cb607957c0b318e9cb8f778ce1aa6d83
diff --git a/libs/binder/ProcessState.cpp b/libs/binder/ProcessState.cpp
index 7c29dba..c2e0937 100644
--- a/libs/binder/ProcessState.cpp
+++ b/libs/binder/ProcessState.cpp
@@ -24,7 +24,6 @@
 #include <binder/IPCThreadState.h>
 #include <binder/IServiceManager.h>
 #include <binder/Stability.h>
-#include <cutils/atomic.h>
 #include <utils/AndroidThreads.h>
 #include <utils/String8.h>
 #include <utils/Thread.h>
@@ -387,7 +386,7 @@
 }
 
 String8 ProcessState::makeBinderThreadName() {
-    int32_t s = android_atomic_add(1, &mThreadPoolSeq);
+    int32_t s = mThreadPoolSeq.fetch_add(1, std::memory_order_release);
     pid_t pid = getpid();
 
     std::string_view driverName = mDriverName.c_str();
diff --git a/libs/binder/include/binder/ProcessState.h b/libs/binder/include/binder/ProcessState.h
index ffa2229..ccc2d2e 100644
--- a/libs/binder/include/binder/ProcessState.h
+++ b/libs/binder/include/binder/ProcessState.h
@@ -189,7 +189,7 @@
 
     bool mForked;
     std::atomic_bool mThreadPoolStarted;
-    volatile int32_t mThreadPoolSeq;
+    std::atomic_int32_t mThreadPoolSeq;
 
     CallRestriction mCallRestriction;
 };