diff --git a/Android.mk b/Android.mk
index 7e3c79b..5493cb3 100644
--- a/Android.mk
+++ b/Android.mk
@@ -8,16 +8,7 @@
 
 LOCAL_MODULE_RELATIVE_PATH := hw
 # KEYSTONE(I1132378f14428bf511f3cea4f419e90a6e89f823,b/181709127)
-LOCAL_SHARED_LIBRARIES := liblog libcutils libdl libxml2 libbase libutils libbinder_ndk
-
-ifeq ($(call math_gt_or_eq, 33, $(PLATFORM_SDK_VERSION)), true)
-    LOCAL_SHARED_LIBRARIES += android.hardware.power-V3-ndk
-endif
-ifeq ($(call math_gt_or_eq, 34, $(PLATFORM_SDK_VERSION)), true)
-    LOCAL_SHARED_LIBRARIES += android.hardware.power-V4-ndk
-else
-    LOCAL_SHARED_LIBRARIES += android.hardware.power-V1-ndk_platform
-endif
+LOCAL_SHARED_LIBRARIES := liblog libcutils libdl libxml2 libbase libutils libbinder_ndk android.hardware.power-V3-ndk
 
 LOCAL_HEADER_LIBRARIES += libutils_headers
 LOCAL_HEADER_LIBRARIES += libhardware_headers
@@ -108,11 +99,7 @@
 LOCAL_MODULE_TAGS := optional
 LOCAL_CFLAGS += -Wno-unused-parameter -Wno-unused-variable
 LOCAL_VENDOR_MODULE := true
-ifeq ($(PLATFORM_SDK_VERSION), 34)
-LOCAL_VINTF_FRAGMENTS := /vintf/sdk34/power.xml
-else
 LOCAL_VINTF_FRAGMENTS := power.xml
-endif
 include $(BUILD_EXECUTABLE)
 endif
 
diff --git a/PowerHintSession.cpp b/PowerHintSession.cpp
index c4e9074..c466947 100644
--- a/PowerHintSession.cpp
+++ b/PowerHintSession.cpp
@@ -31,15 +31,3 @@
 ndk::ScopedAStatus PowerHintSessionImpl::close(){
         return ndk::ScopedAStatus::ok();
 }
-#if (PLATFORM_SDK_VERSION >= 34)
-ndk::ScopedAStatus PowerHintSessionImpl::sendHint(aidl::android::hardware::power::SessionHint hint){
-        return ndk::ScopedAStatus::ok();
-}
-ndk::ScopedAStatus PowerHintSessionImpl::setThreads(const std::vector<int32_t>& threadIds){
-    if (threadIds.size() == 0) {
-        LOG(ERROR) << "Error: threadIds.size() shouldn't be " << threadIds.size();
-        return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_ARGUMENT);
-    }
-    return ndk::ScopedAStatus::ok();
-}
-#endif
diff --git a/PowerHintSession.h b/PowerHintSession.h
index a56713a..3491b26 100644
--- a/PowerHintSession.h
+++ b/PowerHintSession.h
@@ -8,9 +8,6 @@
 
 #include <aidl/android/hardware/power/WorkDuration.h>
 #include <aidl/android/hardware/power/BnPowerHintSession.h>
-#if (PLATFORM_SDK_VERSION >= 34)
-#include <aidl/android/hardware/power/SessionHint.h>
-#endif
 
 std::shared_ptr<aidl::android::hardware::power::IPowerHintSession> setPowerHintSession();
 int64_t getSessionPreferredRate();
@@ -23,9 +20,5 @@
     ndk::ScopedAStatus pause() override;
     ndk::ScopedAStatus resume() override;
     ndk::ScopedAStatus close() override;
-    #if (PLATFORM_SDK_VERSION >= 34)
-    ndk::ScopedAStatus sendHint(aidl::android::hardware::power::SessionHint hint) override;
-    ndk::ScopedAStatus setThreads(const std::vector<int32_t>& threadIds) override;
-    #endif
 };
-#endif /* __POWERHINTSESSION__ */
\ No newline at end of file
+#endif /* __POWERHINTSESSION__ */
diff --git a/vintf/sdk34/power.xml b/vintf/sdk34/power.xml
deleted file mode 100644
index 1e08685..0000000
--- a/vintf/sdk34/power.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<!--
-Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
-SPDX-License-Identifier: BSD-3-Clause-Clear
--->
-<manifest version="1.0" type="device">
-    <hal format="aidl">
-        <name>android.hardware.power</name>
-        <version>4</version>
-        <fqname>IPower/default</fqname>
-    </hal>
-</manifest>
\ No newline at end of file
