From 49c7d97fea787ed8650fb119deb878c49595b2ba Mon Sep 17 00:00:00 2001 From: josip-k Date: Tue, 19 Jan 2021 19:35:43 +0100 Subject: [PATCH] samsung: hidl: import default sensors 2.1 multihal * hardware/interfaces/sensors/2.1/multihal from android-11.0.0_r27 Signed-off-by: josip-k Change-Id: I253755c6a46873c04b65d4c14fea65e3c5308f0b --- hidl/sensors/2.1/Android.bp | 47 +++++++++++++++++++ .../android.hardware.sensors@2.1-multihal.xml | 11 +++++ ...d.hardware.sensors@2.1-service-multihal.rc | 7 +++ hidl/sensors/2.1/service.cpp | 39 +++++++++++++++ 4 files changed, 104 insertions(+) create mode 100644 hidl/sensors/2.1/Android.bp create mode 100644 hidl/sensors/2.1/android.hardware.sensors@2.1-multihal.xml create mode 100644 hidl/sensors/2.1/android.hardware.sensors@2.1-service-multihal.rc create mode 100644 hidl/sensors/2.1/service.cpp diff --git a/hidl/sensors/2.1/Android.bp b/hidl/sensors/2.1/Android.bp new file mode 100644 index 00000000..6a7cac9f --- /dev/null +++ b/hidl/sensors/2.1/Android.bp @@ -0,0 +1,47 @@ +// +// Copyright (C) 2020 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +cc_binary { + name: "android.hardware.sensors@2.1-service.multihal", + defaults: [ + "hidl_defaults", + ], + vendor: true, + relative_install_path: "hw", + srcs: [ + "service.cpp", + ], + init_rc: ["android.hardware.sensors@2.1-service-multihal.rc"], + vintf_fragments: ["android.hardware.sensors@2.1-multihal.xml"], + header_libs: [ + "android.hardware.sensors@2.X-shared-utils", + ], + shared_libs: [ + "android.hardware.sensors@2.0", + "android.hardware.sensors@2.0-ScopedWakelock", + "android.hardware.sensors@2.1", + "libbase", + "libcutils", + "libfmq", + "libhidlbase", + "liblog", + "libpower", + "libutils", + ], + static_libs: [ + "android.hardware.sensors@1.0-convert", + "android.hardware.sensors@2.X-multihal", + ], +} diff --git a/hidl/sensors/2.1/android.hardware.sensors@2.1-multihal.xml b/hidl/sensors/2.1/android.hardware.sensors@2.1-multihal.xml new file mode 100644 index 00000000..18bd3ae8 --- /dev/null +++ b/hidl/sensors/2.1/android.hardware.sensors@2.1-multihal.xml @@ -0,0 +1,11 @@ + + + android.hardware.sensors + hwbinder + 2.1 + + ISensors + default + + + diff --git a/hidl/sensors/2.1/android.hardware.sensors@2.1-service-multihal.rc b/hidl/sensors/2.1/android.hardware.sensors@2.1-service-multihal.rc new file mode 100644 index 00000000..fc99ee7a --- /dev/null +++ b/hidl/sensors/2.1/android.hardware.sensors@2.1-service-multihal.rc @@ -0,0 +1,7 @@ +service vendor.sensors-hal-2-1-multihal /vendor/bin/hw/android.hardware.sensors@2.1-service.multihal + class hal + user system + group system wakelock context_hub + writepid /dev/cpuset/system-background/tasks + capabilities BLOCK_SUSPEND + rlimit rtprio 10 10 diff --git a/hidl/sensors/2.1/service.cpp b/hidl/sensors/2.1/service.cpp new file mode 100644 index 00000000..d68d9a3e --- /dev/null +++ b/hidl/sensors/2.1/service.cpp @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include +#include +#include +#include "HalProxy.h" + +using android::hardware::configureRpcThreadpool; +using android::hardware::joinRpcThreadpool; +using android::hardware::sensors::V2_1::ISensors; +using android::hardware::sensors::V2_1::implementation::HalProxyV2_1; + +int main(int /* argc */, char** /* argv */) { + configureRpcThreadpool(1, true); + + android::sp halProxy = new HalProxyV2_1(); + if (halProxy->registerAsService() != ::android::OK) { + ALOGE("Failed to register Sensors HAL instance"); + return -1; + } + + joinRpcThreadpool(); + return 1; // joinRpcThreadpool shouldn't exit +}