diff options
author | Jaesoo Lee <jaesoo@google.com> | 2017-04-28 18:29:40 +0900 |
---|---|---|
committer | Jaesoo Lee <jaesoo@google.com> | 2017-05-17 15:30:17 +0900 |
commit | 812e85e126ccf1d9d17aa7342dbb1ccf9404cc15 (patch) | |
tree | 026cda1d0fa099f20fd8f6ef966ba5755275db47 | |
parent | 33b92997c5016afc61f98927612cb4e2a634a0c3 (diff) | |
download | platform_hardware_interfaces-812e85e126ccf1d9d17aa7342dbb1ccf9404cc15.tar.gz platform_hardware_interfaces-812e85e126ccf1d9d17aa7342dbb1ccf9404cc15.tar.bz2 platform_hardware_interfaces-812e85e126ccf1d9d17aa7342dbb1ccf9404cc15.zip |
configstore: configstore HAL is up-revisioned to 1.1
This change provides a reference implementation of the configstore HAL
v1.1.
Bug: 37727469
Test: Built sailfish-userdebug and configstore-1.1 works
Change-Id: I75e7fd1da8e90ae48d779a3ba28957c5a93a5529
-rw-r--r-- | CleanSpec.mk | 1 | ||||
-rw-r--r-- | configstore/1.0/default/android.hardware.configstore@1.0-service.rc | 4 | ||||
-rw-r--r-- | configstore/1.1/Android.bp | 60 | ||||
-rw-r--r-- | configstore/1.1/Android.mk | 78 | ||||
-rw-r--r-- | configstore/1.1/ISurfaceFlingerConfigs.hal | 25 | ||||
-rw-r--r-- | configstore/1.1/default/Android.mk (renamed from configstore/1.0/default/Android.mk) | 5 | ||||
-rw-r--r-- | configstore/1.1/default/SurfaceFlingerConfigs.cpp (renamed from configstore/1.0/default/SurfaceFlingerConfigs.cpp) | 52 | ||||
-rw-r--r-- | configstore/1.1/default/SurfaceFlingerConfigs.h (renamed from configstore/1.0/default/SurfaceFlingerConfigs.h) | 32 | ||||
-rw-r--r-- | configstore/1.1/default/android.hardware.configstore@1.1-service.rc | 4 | ||||
-rw-r--r-- | configstore/1.1/default/service.cpp (renamed from configstore/1.0/default/service.cpp) | 12 | ||||
-rw-r--r-- | configstore/1.1/default/surfaceflinger.mk (renamed from configstore/1.0/default/surfaceflinger.mk) | 0 | ||||
-rw-r--r-- | configstore/Android.bp | 1 |
12 files changed, 229 insertions, 45 deletions
diff --git a/CleanSpec.mk b/CleanSpec.mk index eeb4198cb6..01b5e7b7f9 100644 --- a/CleanSpec.mk +++ b/CleanSpec.mk @@ -55,3 +55,4 @@ $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/etc/init/android.hardware.bl $(call add-clean-step, rm -rf $(OUT)/soong/.intermediates/) $(call add-clean-step, rm -rf $(OUT_DIR)/soong/.intermediates/hardware/interfaces/) $(call add-clean-step, rm -rf $(OUT_DIR)/soong/.intermediates/hardware/interfaces/) +$(call add-clean-step, find $(PRODUCT_OUT)/system $(PRODUCT_OUT)/vendor -type f -name "android\.hardware\.configstore*" -print0 | xargs -0 rm -f)
\ No newline at end of file diff --git a/configstore/1.0/default/android.hardware.configstore@1.0-service.rc b/configstore/1.0/default/android.hardware.configstore@1.0-service.rc deleted file mode 100644 index 563d8541c3..0000000000 --- a/configstore/1.0/default/android.hardware.configstore@1.0-service.rc +++ /dev/null @@ -1,4 +0,0 @@ -service configstore-hal-1-0 /vendor/bin/hw/android.hardware.configstore@1.0-service - class hal animation - user system - group system diff --git a/configstore/1.1/Android.bp b/configstore/1.1/Android.bp new file mode 100644 index 0000000000..91c5dd30f8 --- /dev/null +++ b/configstore/1.1/Android.bp @@ -0,0 +1,60 @@ +// This file is autogenerated by hidl-gen. Do not edit manually. + +filegroup { + name: "android.hardware.configstore@1.1_hal", + srcs: [ + "ISurfaceFlingerConfigs.hal", + ], +} + +genrule { + name: "android.hardware.configstore@1.1_genc++", + tools: ["hidl-gen"], + cmd: "$(location hidl-gen) -o $(genDir) -Lc++-sources -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.configstore@1.1", + srcs: [ + ":android.hardware.configstore@1.1_hal", + ], + out: [ + "android/hardware/configstore/1.1/SurfaceFlingerConfigsAll.cpp", + ], +} + +genrule { + name: "android.hardware.configstore@1.1_genc++_headers", + tools: ["hidl-gen"], + cmd: "$(location hidl-gen) -o $(genDir) -Lc++-headers -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.configstore@1.1", + srcs: [ + ":android.hardware.configstore@1.1_hal", + ], + out: [ + "android/hardware/configstore/1.1/ISurfaceFlingerConfigs.h", + "android/hardware/configstore/1.1/IHwSurfaceFlingerConfigs.h", + "android/hardware/configstore/1.1/BnHwSurfaceFlingerConfigs.h", + "android/hardware/configstore/1.1/BpHwSurfaceFlingerConfigs.h", + "android/hardware/configstore/1.1/BsSurfaceFlingerConfigs.h", + ], +} + +cc_library_shared { + name: "android.hardware.configstore@1.1", + generated_sources: ["android.hardware.configstore@1.1_genc++"], + generated_headers: ["android.hardware.configstore@1.1_genc++_headers"], + export_generated_headers: ["android.hardware.configstore@1.1_genc++_headers"], + vendor_available: true, + shared_libs: [ + "libhidlbase", + "libhidltransport", + "libhwbinder", + "liblog", + "libutils", + "libcutils", + "android.hardware.configstore@1.0", + ], + export_shared_lib_headers: [ + "libhidlbase", + "libhidltransport", + "libhwbinder", + "libutils", + "android.hardware.configstore@1.0", + ], +} diff --git a/configstore/1.1/Android.mk b/configstore/1.1/Android.mk new file mode 100644 index 0000000000..a5fa6c4796 --- /dev/null +++ b/configstore/1.1/Android.mk @@ -0,0 +1,78 @@ +# This file is autogenerated by hidl-gen. Do not edit manually. + +LOCAL_PATH := $(call my-dir) + +################################################################################ + +include $(CLEAR_VARS) +LOCAL_MODULE := android.hardware.configstore-V1.1-java +LOCAL_MODULE_CLASS := JAVA_LIBRARIES + +intermediates := $(call local-generated-sources-dir, COMMON) + +HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX) + +LOCAL_JAVA_LIBRARIES := \ + android.hardware.configstore-V1.0-java \ + android.hidl.base-V1.0-java \ + + +# +# Build ISurfaceFlingerConfigs.hal +# +GEN := $(intermediates)/android/hardware/configstore/V1_1/ISurfaceFlingerConfigs.java +$(GEN): $(HIDL) +$(GEN): PRIVATE_HIDL := $(HIDL) +$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISurfaceFlingerConfigs.hal +$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) +$(GEN): PRIVATE_CUSTOM_TOOL = \ + $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ + -Ljava \ + -randroid.hardware:hardware/interfaces \ + -randroid.hidl:system/libhidl/transport \ + android.hardware.configstore@1.1::ISurfaceFlingerConfigs + +$(GEN): $(LOCAL_PATH)/ISurfaceFlingerConfigs.hal + $(transform-generated-source) +LOCAL_GENERATED_SOURCES += $(GEN) +include $(BUILD_JAVA_LIBRARY) + + +################################################################################ + +include $(CLEAR_VARS) +LOCAL_MODULE := android.hardware.configstore-V1.1-java-static +LOCAL_MODULE_CLASS := JAVA_LIBRARIES + +intermediates := $(call local-generated-sources-dir, COMMON) + +HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX) + +LOCAL_STATIC_JAVA_LIBRARIES := \ + android.hardware.configstore-V1.0-java-static \ + android.hidl.base-V1.0-java-static \ + + +# +# Build ISurfaceFlingerConfigs.hal +# +GEN := $(intermediates)/android/hardware/configstore/V1_1/ISurfaceFlingerConfigs.java +$(GEN): $(HIDL) +$(GEN): PRIVATE_HIDL := $(HIDL) +$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISurfaceFlingerConfigs.hal +$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) +$(GEN): PRIVATE_CUSTOM_TOOL = \ + $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ + -Ljava \ + -randroid.hardware:hardware/interfaces \ + -randroid.hidl:system/libhidl/transport \ + android.hardware.configstore@1.1::ISurfaceFlingerConfigs + +$(GEN): $(LOCAL_PATH)/ISurfaceFlingerConfigs.hal + $(transform-generated-source) +LOCAL_GENERATED_SOURCES += $(GEN) +include $(BUILD_STATIC_JAVA_LIBRARY) + + + +include $(call all-makefiles-under,$(LOCAL_PATH)) diff --git a/configstore/1.1/ISurfaceFlingerConfigs.hal b/configstore/1.1/ISurfaceFlingerConfigs.hal new file mode 100644 index 0000000000..5eacbe00ac --- /dev/null +++ b/configstore/1.1/ISurfaceFlingerConfigs.hal @@ -0,0 +1,25 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.1 (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.1 + * + * 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. + */ +package android.hardware.configstore@1.1; + +import @1.0::ISurfaceFlingerConfigs; + +/** + * New revision of ISurfaceFlingerConfigs + */ + +interface ISurfaceFlingerConfigs extends @1.0::ISurfaceFlingerConfigs { +}; diff --git a/configstore/1.0/default/Android.mk b/configstore/1.1/default/Android.mk index e017cfd284..ac3d8b039d 100644 --- a/configstore/1.0/default/Android.mk +++ b/configstore/1.1/default/Android.mk @@ -2,17 +2,18 @@ LOCAL_PATH := $(call my-dir) ################################################################################ include $(CLEAR_VARS) -LOCAL_MODULE := android.hardware.configstore@1.0-service +LOCAL_MODULE := android.hardware.configstore@1.1-service LOCAL_PROPRIETARY_MODULE := true LOCAL_MODULE_CLASS := EXECUTABLES LOCAL_MODULE_RELATIVE_PATH := hw -LOCAL_INIT_RC := android.hardware.configstore@1.0-service.rc +LOCAL_INIT_RC := android.hardware.configstore@1.1-service.rc LOCAL_SRC_FILES:= service.cpp include $(LOCAL_PATH)/surfaceflinger.mk LOCAL_SHARED_LIBRARIES := \ android.hardware.configstore@1.0 \ + android.hardware.configstore@1.1 \ libhidlbase \ libhidltransport \ libbase \ diff --git a/configstore/1.0/default/SurfaceFlingerConfigs.cpp b/configstore/1.1/default/SurfaceFlingerConfigs.cpp index 9c134ef70a..5a040f2a89 100644 --- a/configstore/1.0/default/SurfaceFlingerConfigs.cpp +++ b/configstore/1.1/default/SurfaceFlingerConfigs.cpp @@ -1,14 +1,29 @@ -#include "SurfaceFlingerConfigs.h" +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.1 (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.1 + * + * 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 <android-base/logging.h> +#include "SurfaceFlingerConfigs.h" namespace android { namespace hardware { namespace configstore { -namespace V1_0 { +namespace V1_1 { namespace implementation { -// Methods from ::android::hardware::configstore::V1_0::ISurfaceFlingerConfigs follow. +// Methods from ::android::hardware::configstore::V1_0::ISurfaceFlingerConfigs +// follow. Return<void> SurfaceFlingerConfigs::vsyncEventPhaseOffsetNs(vsyncEventPhaseOffsetNs_cb _hidl_cb) { #ifdef VSYNC_EVENT_PHASE_OFFSET_NS _hidl_cb({true, VSYNC_EVENT_PHASE_OFFSET_NS}); @@ -36,7 +51,8 @@ Return<void> SurfaceFlingerConfigs::useContextPriority(useContextPriority_cb _hi return Void(); } -Return<void> SurfaceFlingerConfigs::maxFrameBufferAcquiredBuffers(maxFrameBufferAcquiredBuffers_cb _hidl_cb) { +Return<void> SurfaceFlingerConfigs::maxFrameBufferAcquiredBuffers( + maxFrameBufferAcquiredBuffers_cb _hidl_cb) { #ifdef NUM_FRAMEBUFFER_SURFACE_BUFFERS _hidl_cb({true, NUM_FRAMEBUFFER_SURFACE_BUFFERS}); #else @@ -72,13 +88,14 @@ Return<void> SurfaceFlingerConfigs::hasHDRDisplay(hasHDRDisplay_cb _hidl_cb) { return Void(); } -Return<void> SurfaceFlingerConfigs::presentTimeOffsetFromVSyncNs(presentTimeOffsetFromVSyncNs_cb _hidl_cb) { +Return<void> SurfaceFlingerConfigs::presentTimeOffsetFromVSyncNs( + presentTimeOffsetFromVSyncNs_cb _hidl_cb) { #ifdef PRESENT_TIME_OFFSET_FROM_VSYNC_NS - _hidl_cb({true, PRESENT_TIME_OFFSET_FROM_VSYNC_NS}); + _hidl_cb({true, PRESENT_TIME_OFFSET_FROM_VSYNC_NS}); #else - _hidl_cb({false, 0}); + _hidl_cb({false, 0}); #endif - return Void(); + return Void(); } Return<void> SurfaceFlingerConfigs::useHwcForRGBtoYUV(useHwcForRGBtoYUV_cb _hidl_cb) { @@ -91,14 +108,14 @@ Return<void> SurfaceFlingerConfigs::useHwcForRGBtoYUV(useHwcForRGBtoYUV_cb _hidl } Return<void> SurfaceFlingerConfigs::maxVirtualDisplaySize(maxVirtualDisplaySize_cb _hidl_cb) { - uint64_t maxSize = 0; + uint64_t maxSize = 0; #ifdef MAX_VIRTUAL_DISPLAY_DIMENSION - maxSize = MAX_VIRTUAL_DISPLAY_DIMENSION; - _hidl_cb({true, maxSize}); + maxSize = MAX_VIRTUAL_DISPLAY_DIMENSION; + _hidl_cb({true, maxSize}); #else - _hidl_cb({false, maxSize}); + _hidl_cb({false, maxSize}); #endif - return Void(); + return Void(); } Return<void> SurfaceFlingerConfigs::useVrFlinger(useVrFlinger_cb _hidl_cb) { @@ -122,8 +139,13 @@ Return<void> SurfaceFlingerConfigs::startGraphicsAllocatorService( return Void(); } +// Methods from ::android::hardware::configstore::V1_1::ISurfaceFlingerConfigs +// follow. + +// Methods from ::android::hidl::base::V1_0::IBase follow. + } // namespace implementation -} // namespace V1_0 +} // namespace V1_1 } // namespace configstore } // namespace hardware } // namespace android diff --git a/configstore/1.0/default/SurfaceFlingerConfigs.h b/configstore/1.1/default/SurfaceFlingerConfigs.h index 17a424ec5c..53e8ae8714 100644 --- a/configstore/1.0/default/SurfaceFlingerConfigs.h +++ b/configstore/1.1/default/SurfaceFlingerConfigs.h @@ -1,31 +1,26 @@ -#ifndef ANDROID_HARDWARE_CONFIGSTORE_V1_0_SURFACEFLINGERCONFIGS_H -#define ANDROID_HARDWARE_CONFIGSTORE_V1_0_SURFACEFLINGERCONFIGS_H +#ifndef ANDROID_HARDWARE_CONFIGSTORE_V1_1_SURFACEFLINGERCONFIGS_H +#define ANDROID_HARDWARE_CONFIGSTORE_V1_1_SURFACEFLINGERCONFIGS_H -#include <android/hardware/configstore/1.0/ISurfaceFlingerConfigs.h> +#include <android/hardware/configstore/1.1/ISurfaceFlingerConfigs.h> #include <hidl/MQDescriptor.h> #include <hidl/Status.h> namespace android { namespace hardware { namespace configstore { -namespace V1_0 { +namespace V1_1 { namespace implementation { -using ::android::hardware::configstore::V1_0::ISurfaceFlingerConfigs; -using ::android::hardware::configstore::V1_0::OptionalBool; -using ::android::hidl::base::V1_0::IBase; -using ::android::hardware::hidl_array; -using ::android::hardware::hidl_memory; -using ::android::hardware::hidl_string; -using ::android::hardware::hidl_vec; +using ::android::hardware::configstore::V1_1::ISurfaceFlingerConfigs; using ::android::hardware::Return; using ::android::hardware::Void; using ::android::sp; struct SurfaceFlingerConfigs : public ISurfaceFlingerConfigs { - // Methods from ::android::hardware::configstore::V1_0::ISurfaceFlingerConfigs follow. + // Methods from + // ::android::hardware::configstore::V1_0::ISurfaceFlingerConfigs follow. Return<void> vsyncEventPhaseOffsetNs(vsyncEventPhaseOffsetNs_cb _hidl_cb) override; - Return<void> vsyncSfEventPhaseOffsetNs(vsyncEventPhaseOffsetNs_cb _hidl_cb) override; + Return<void> vsyncSfEventPhaseOffsetNs(vsyncSfEventPhaseOffsetNs_cb _hidl_cb) override; Return<void> useContextPriority(useContextPriority_cb _hidl_cb) override; Return<void> hasWideColorDisplay(hasWideColorDisplay_cb _hidl_cb) override; Return<void> hasHDRDisplay(hasHDRDisplay_cb _hidl_cb) override; @@ -35,17 +30,18 @@ struct SurfaceFlingerConfigs : public ISurfaceFlingerConfigs { Return<void> hasSyncFramework(hasSyncFramework_cb _hidl_cb) override; Return<void> useVrFlinger(useVrFlinger_cb _hidl_cb) override; Return<void> maxFrameBufferAcquiredBuffers(maxFrameBufferAcquiredBuffers_cb _hidl_cb) override; - Return<void> startGraphicsAllocatorService( - startGraphicsAllocatorService_cb _hidl_cb) override; + Return<void> startGraphicsAllocatorService(startGraphicsAllocatorService_cb _hidl_cb) override; - // Methods from ::android::hidl::base::V1_0::IBase follow. + // Methods from + // ::android::hardware::configstore::V1_1::ISurfaceFlingerConfigs follow. + // Methods from ::android::hidl::base::V1_0::IBase follow. }; } // namespace implementation -} // namespace V1_0 +} // namespace V1_1 } // namespace configstore } // namespace hardware } // namespace android -#endif // ANDROID_HARDWARE_CONFIGSTORE_V1_0_SURFACEFLINGERCONFIGS_H +#endif // ANDROID_HARDWARE_CONFIGSTORE_V1_1_SURFACEFLINGERCONFIGS_H diff --git a/configstore/1.1/default/android.hardware.configstore@1.1-service.rc b/configstore/1.1/default/android.hardware.configstore@1.1-service.rc new file mode 100644 index 0000000000..018ef102d0 --- /dev/null +++ b/configstore/1.1/default/android.hardware.configstore@1.1-service.rc @@ -0,0 +1,4 @@ +service configstore-hal /vendor/bin/hw/android.hardware.configstore@1.1-service + class hal animation + user system + group system diff --git a/configstore/1.0/default/service.cpp b/configstore/1.1/default/service.cpp index 60b69abe06..3a4cd3fd67 100644 --- a/configstore/1.0/default/service.cpp +++ b/configstore/1.1/default/service.cpp @@ -1,11 +1,11 @@ /* * Copyright (C) 2017 The Android Open Source Project * - * Licensed under the Apache License, Version 2.0 (the "License"); + * Licensed under the Apache License, Version 2.1 (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 + * http://www.apache.org/licenses/LICENSE-2.1 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, @@ -14,17 +14,17 @@ * limitations under the License. */ -#define LOG_TAG "android.hardware.configstore@1.0-service" +#define LOG_TAG "android.hardware.configstore@1.1-service" -#include <android/hardware/configstore/1.0/ISurfaceFlingerConfigs.h> +#include <android/hardware/configstore/1.1/ISurfaceFlingerConfigs.h> #include <hidl/HidlTransportSupport.h> #include "SurfaceFlingerConfigs.h" using android::hardware::configureRpcThreadpool; using android::hardware::joinRpcThreadpool; -using android::hardware::configstore::V1_0::ISurfaceFlingerConfigs; -using android::hardware::configstore::V1_0::implementation::SurfaceFlingerConfigs; +using android::hardware::configstore::V1_1::ISurfaceFlingerConfigs; +using android::hardware::configstore::V1_1::implementation::SurfaceFlingerConfigs; using android::sp; using android::status_t; using android::OK; diff --git a/configstore/1.0/default/surfaceflinger.mk b/configstore/1.1/default/surfaceflinger.mk index 3ce768a63e..3ce768a63e 100644 --- a/configstore/1.0/default/surfaceflinger.mk +++ b/configstore/1.1/default/surfaceflinger.mk diff --git a/configstore/Android.bp b/configstore/Android.bp index ba3e62e29b..21dc2b4b1e 100644 --- a/configstore/Android.bp +++ b/configstore/Android.bp @@ -2,5 +2,6 @@ subdirs = [ "1.0", "1.0/vts/functional", + "1.1", "utils", ] |