From 2068a4c3153dd17d77d1abeb18853a7f3200b619 Mon Sep 17 00:00:00 2001 From: Ido Date: Tue, 12 May 2026 00:24:36 +0200 Subject: [PATCH] klee: Use source-built subhal instead Change-Id: I28115b12692bc7c76266eb386eded11a4fdd37c5 Signed-off-by: Ido --- Android.bp | 37 ------------------ klee-vendor.mk | 1 - ...id.hardware.sensors@2.X-subhal-mediatek.so | Bin 68888 -> 0 bytes 3 files changed, 38 deletions(-) delete mode 100644 proprietary/vendor/lib64/hw/android.hardware.sensors@2.X-subhal-mediatek.so diff --git a/Android.bp b/Android.bp index 5ae95f9..cb22165 100644 --- a/Android.bp +++ b/Android.bp @@ -1003,43 +1003,6 @@ cc_prebuilt_library_shared { soc_specific: true, } -cc_prebuilt_library_shared { - name: "android.hardware.sensors@2.X-subhal-mediatek", - owner: "xiaomi", - strip: { - none: true, - }, - target: { - android_arm64: { - srcs: [ - "proprietary/vendor/lib64/hw/android.hardware.sensors@2.X-subhal-mediatek.so", - ], - shared_libs: [ - "android.hardware.sensors@1.0", - "android.hardware.sensors@2.0", - "android.hardware.sensors@2.0-ScopedWakelock", - "android.hardware.sensors@2.1", - "libbase", - "libutils", - "libcutils", - "libfmq", - "libhardware", - "libhidlbase", - "liblog", - "libpower", - "libc++", - "libc", - "libm", - "libdl", - ], - }, - }, - compile_multilib: "64", - relative_install_path: "hw", - prefer: true, - soc_specific: true, -} - cc_prebuilt_library_shared { name: "android.hardware.soundtrigger3-impl", owner: "xiaomi", diff --git a/klee-vendor.mk b/klee-vendor.mk index 7568a16..60a5ccd 100644 --- a/klee-vendor.mk +++ b/klee-vendor.mk @@ -928,7 +928,6 @@ PRODUCT_PACKAGES += \ libGLES_mali \ android.hardware.audio.effect.aidl-impl-mediatek \ android.hardware.gnss-impl-mediatek \ - android.hardware.sensors@2.X-subhal-mediatek \ android.hardware.soundtrigger3-impl \ audio.primary.mediatek \ consumerir.common \ diff --git a/proprietary/vendor/lib64/hw/android.hardware.sensors@2.X-subhal-mediatek.so b/proprietary/vendor/lib64/hw/android.hardware.sensors@2.X-subhal-mediatek.so deleted file mode 100644 index 27890ff38e02bef99ca53e3e178a255632323d08..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68888 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