From a550d845f710f6c28505c6d63a9c8f66d700fea8 Mon Sep 17 00:00:00 2001 From: Atakan Date: Wed, 26 Mar 2025 10:55:50 +0300 Subject: [PATCH] fixup: r8q: Import more device-specific blobs Change-Id: Idce2aa6904c17b091017677c574fab039dc5abfe --- Android.bp | 87 ++++++++++++++++++ .../lib64/camera/com.samsung.sensor.hi847.so | Bin 0 -> 11064 bytes .../lib64/camera/com.samsung.sensor.imx555.so | Bin 0 -> 15288 bytes .../lib64/camera/com.samsung.sensor.imx616.so | Bin 0 -> 11112 bytes r8q-vendor.mk | 3 + 5 files changed, 90 insertions(+) create mode 100644 proprietary/vendor/lib64/camera/com.samsung.sensor.hi847.so create mode 100644 proprietary/vendor/lib64/camera/com.samsung.sensor.imx555.so create mode 100644 proprietary/vendor/lib64/camera/com.samsung.sensor.imx616.so diff --git a/Android.bp b/Android.bp index 76af1e6..02c7daa 100644 --- a/Android.bp +++ b/Android.bp @@ -223,6 +223,93 @@ cc_prebuilt_library_shared { soc_specific: true, } +cc_prebuilt_library_shared { + name: "com.samsung.sensor.hi847", + owner: "samsung", + strip: { + none: true, + }, + target: { + android_arm64: { + srcs: [ + "proprietary/vendor/lib64/camera/com.samsung.sensor.hi847.so", + ], + shared_libs: [ + "libc++", + "libcutils", + "liblog", + "libofflinelog", + "libsync", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "64", + relative_install_path: "camera", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "com.samsung.sensor.imx555", + owner: "samsung", + strip: { + none: true, + }, + target: { + android_arm64: { + srcs: [ + "proprietary/vendor/lib64/camera/com.samsung.sensor.imx555.so", + ], + shared_libs: [ + "libc++", + "libcutils", + "liblog", + "libofflinelog", + "libsync", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "64", + relative_install_path: "camera", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "com.samsung.sensor.imx616", + owner: "samsung", + strip: { + none: true, + }, + target: { + android_arm64: { + srcs: [ + "proprietary/vendor/lib64/camera/com.samsung.sensor.imx616.so", + ], + shared_libs: [ + "libc++", + "libcutils", + "liblog", + "libofflinelog", + "libsync", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "64", + relative_install_path: "camera", + prefer: true, + soc_specific: true, +} + cc_prebuilt_library_shared { name: "com.samsung.sensor.s5k3l6", owner: "samsung", diff --git a/proprietary/vendor/lib64/camera/com.samsung.sensor.hi847.so b/proprietary/vendor/lib64/camera/com.samsung.sensor.hi847.so new file mode 100644 index 0000000000000000000000000000000000000000..60c06497d90b79891b1393c817bc60ebe35fc491 GIT binary patch literal 11064 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 W26680@8s`b)Z{9QpXuh@-Tog8iuhCj literal 0 HcmV?d00001 diff --git a/proprietary/vendor/lib64/camera/com.samsung.sensor.imx616.so b/proprietary/vendor/lib64/camera/com.samsung.sensor.imx616.so new file mode 100644 index 0000000000000000000000000000000000000000..61a883d2357d3a924b43e20560729ff05032471f GIT binary patch literal 11112 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 YS~n7_bvuKCtB%ZHW%iPbb64&^06Pwe