Эх сурвалжийг харах

sm8450-common: Build nxp nfc service from source

Change-Id: Ib2294005a1761570c4dab98b7c1a44728406b428
Arian 1 жил өмнө
parent
commit
5e4d14e637

+ 1 - 1
BoardConfigCommon.mk

@@ -235,7 +235,7 @@ $(foreach sku, $(call to-upper, $(DEVICE_MANIFEST_SKUS)), \
     $(eval DEVICE_MANIFEST_$(sku)_FILES := \
         $(COMMON_PATH)/vintf/manifest.xml \
         $(COMMON_PATH)/vintf/manifest_xiaomi.xml \
-        $(if $(TARGET_NFC_SUPPORTED_SKUS),,$(COMMON_PATH)/vintf/manifest_nfc.xml) \
+        $(if $(TARGET_NFC_SUPPORTED_SKUS),$(COMMON_PATH)/vintf/manifest_no_nfc.xml,) \
     ))
 
 ifneq ($(TARGET_NFC_SUPPORTED_SKUS),)

+ 1 - 0
common.mk

@@ -309,6 +309,7 @@ PRODUCT_COPY_FILES += \
 
 # NFC
 PRODUCT_PACKAGES += \
+    android.hardware.nfc-service.nxp \
     [email protected] \
     libchrome.vendor
 

+ 0 - 13
proprietary-files.txt

@@ -768,20 +768,7 @@ vendor/etc/seccomp_policy/modemManager.policy
 vendor/etc/public.libraries.txt
 
 # NFC
-vendor/bin/hw/[email protected]
-vendor/bin/nqnfcinfo
-vendor/bin/pnscr
-vendor/bin/pnscr-mi
-vendor/bin/pnscr-rf
-vendor/etc/init/[email protected]
-vendor/lib/libsn100u_fw.so
-vendor/lib/libsn220u_fw.so
-vendor/lib/nfc_nci.nqx.default.hw.v1.so
-vendor/lib/[email protected]
 vendor/lib64/libsn100u_fw.so
-vendor/lib64/libsn220u_fw.so
-vendor/lib64/nfc_nci.nqx.default.hw.v1.so
-vendor/lib64/[email protected]
 
 # Perf
 vendor/bin/hw/vendor.qti.hardware.perf-hal-service

+ 3 - 0
sepolicy/vendor/file_contexts

@@ -72,6 +72,9 @@
 # Modem
 /dev/smd8 u:object_r:vendor_radio_smd_device:s0
 
+# NFC
+/vendor/bin/hw/android\.hardware\.nfc-service\.nxp u:object_r:hal_nfc_default_exec:s0
+
 # Powershare
 /vendor/bin/hw/vendor\.lineage\.powershare@1\.0-service\.xiaomi u:object_r:hal_lineage_powershare_default_exec:s0
 

+ 0 - 2
sepolicy/vendor/hal_nfc.te

@@ -1,4 +1,2 @@
 allow hal_nfc_default vendor_nfc_vendor_data_file:dir create_dir_perms;
 allow hal_nfc_default vendor_nfc_vendor_data_file:file create_file_perms;
-
-get_prop(hal_nfc_default, vendor_nfc_mi_prop)

+ 0 - 1
sepolicy/vendor/init.te

@@ -1,7 +1,6 @@
 set_prop(vendor_init, vendor_fp_prop)
 set_prop(vendor_init, vendor_fp_info_prop)
 set_prop(vendor_init, vendor_thermal_normal_prop)
-set_prop(vendor_init, vendor_nfc_mi_prop)
 set_prop(vendor_init, vendor_ssr_prop)
 set_prop(vendor_init, vendor_edgnss_qxwz_downloadak_prop)
 set_prop(vendor_init, vendor_qcc_prop)

+ 0 - 3
sepolicy/vendor/property.te

@@ -18,9 +18,6 @@ vendor_public_prop(vendor_mi_ins_prop)
 # Mlipay
 vendor_public_prop(vendor_payment_security_prop)
 
-# NFC
-vendor_public_prop(vendor_nfc_mi_prop)
-
 # Panel
 vendor_public_prop(vendor_panel_info_prop)
 

+ 0 - 4
sepolicy/vendor/property_contexts

@@ -35,10 +35,6 @@ persist.vendor.sys.provision.status u:object_r:vendor_payment_security_prop:s0
 vendor.sys.feature_state u:object_r:vendor_payment_security_prop:s0
 vendor.sys.rpmb_state u:object_r:vendor_payment_security_prop:s0
 
-# NFC
-ro.vendor.nfc. u:object_r:vendor_nfc_mi_prop:s0
-ro.vendor.se. u:object_r:vendor_nfc_mi_prop:s0
-
 # Sensors
 persist.vendor.sensors.ins. u:object_r:vendor_mi_ins_prop:s0
 persist.vendor.sensors.ins_debug u:object_r:vendor_mi_ins_prop:s0

+ 2 - 0
sepolicy/vendor/service_contexts

@@ -0,0 +1,2 @@
+# NFC
+vendor.nxp.nxpnfc_aidl.INxpNfc/default    u:object_r:hal_nfc_service:s0

+ 9 - 15
vintf/manifest_nfc.xml

@@ -1,21 +1,15 @@
+<!--
+     Copyright (C) 2024 The LineageOS Project
+     SPDX-License-Identifier: Apache-2.0
+-->
 <manifest version="1.0" type="device">
     <!-- NFC HAL service -->
-    <hal format="hidl">
+    <hal format="aidl" override="true">
         <name>android.hardware.nfc</name>
-        <transport>hwbinder</transport>
-        <version>1.2</version>
-        <interface>
-            <name>INfc</name>
-            <instance>default</instance>
-        </interface>
+        <fqname>INfc/default</fqname>
     </hal>
-    <hal format="hidl">
-        <name>vendor.nxp.hardware.nfc</name>
-        <transport>hwbinder</transport>
-        <version>2.0</version>
-        <interface>
-            <name>INqNfc</name>
-            <instance>default</instance>
-        </interface>
+    <hal format="aidl" override="true">
+        <name>vendor.nxp.nxpnfc_aidl</name>
+        <fqname>INxpNfc/default</fqname>
     </hal>
 </manifest>

+ 13 - 0
vintf/manifest_no_nfc.xml

@@ -0,0 +1,13 @@
+<!--
+     Copyright (C) 2024 The LineageOS Project
+     SPDX-License-Identifier: Apache-2.0
+-->
+<manifest version="1.0" type="device">
+    <!-- NFC HAL service -->
+    <hal format="aidl" override="true">
+        <name>android.hardware.nfc</name>
+    </hal>
+    <hal format="aidl" override="true">
+        <name>vendor.nxp.nxpnfc_aidl</name>
+    </hal>
+</manifest>