Restore MSM CHRE daemon support

Requires chre_daemon_dsp_library to be set in devices pointing
to either libadsprpc or libsdsprpc library

Test: m -j chre_daemon_msm
Change-Id: Ia9800c1246290d1967cd56e6ddd5002884ffcef9
diff --git a/Android.bp b/Android.bp
index 1e0cfda..c5a866a 100644
--- a/Android.bp
+++ b/Android.bp
@@ -1226,6 +1226,47 @@
     init_rc: ["host/exynos/chre_daemon_exynos.rc"],
 }
 
+cc_binary {
+    name: "chre_daemon_msm",
+    cpp_std: "c++20",
+    defaults: ["chre_daemon_common"],
+    soc_specific: true,
+    include_dirs: [
+        "external/fastrpc/inc",
+    ],
+    local_include_dirs: [
+        "host/msm/daemon",
+        "platform/slpi/include",
+    ],
+    cflags: select(soong_config_variable("chre", "chre_daemon_load_into_sensorspd"), {
+        true: ["-DCHRE_DAEMON_LOAD_INTO_SENSORSPD"],
+        default: [],
+    }) + select(soong_config_variable("chre", "chre_daemon_lpma_enabled"), {
+        true: ["-DCHRE_DAEMON_LPMA_ENABLED"],
+        default: [],
+    }),
+    srcs: [
+        "host/msm/daemon/fastrpc_daemon.cc",
+        "host/msm/daemon/generated/chre_slpi_stub.c",
+        "host/msm/daemon/main.cc",
+    ],
+    static_libs: [
+        "pw_detokenizer",
+        "pw_polyfill",
+        "pw_span",
+        "pw_varint",
+    ],
+    shared_libs: [
+        "android.hardware.soundtrigger@2.0",
+        "libhidlbase",
+        "libpower",
+    ] + select(soong_config_variable("chre", "chre_daemon_dsp_library"), {
+        any @ flag_val: [flag_val],
+        default: [],
+    }),
+    init_rc: ["host/msm/chre_daemon_msm.rc"],
+}
+
 java_library_static {
     name: "chre_api_test_proto_java_lite",
     host_supported: true,
diff --git a/doc/porting_guide.md b/doc/porting_guide.md
index 7fa4345..0bd1241 100644
--- a/doc/porting_guide.md
+++ b/doc/porting_guide.md
@@ -335,7 +335,7 @@
 the following CHRE daemon build targets to your PRODUCT_PACKAGES as you did the
 generic HAL above.
 
-Qualcomm target: `chre`\
+Qualcomm target: `chre_daemon_msm`\
 Exynos target: `chre_daemon_exynos`\
 MediaTek target: `TBD`
 
diff --git a/chre_daemon.rc b/host/msm/chre_daemon_msm.rc
similarity index 93%
rename from chre_daemon.rc
rename to host/msm/chre_daemon_msm.rc
index 58bf3d9..5de2552 100644
--- a/chre_daemon.rc
+++ b/host/msm/chre_daemon_msm.rc
@@ -17,7 +17,7 @@
 on post-fs-data
     mkdir /data/vendor/chre 0770 context_hub context_hub
 
-service vendor.chre /vendor/bin/chre
+service vendor.chre /vendor/bin/chre_daemon_msm
     class late_start
     user context_hub
     group wakelock context_hub