Merge "Replace Power HAL 1.0 with stable AIDL Power HAL example implementation"
diff --git a/CleanSpec.mk b/CleanSpec.mk
index b72c9d0..c25688c 100644
--- a/CleanSpec.mk
+++ b/CleanSpec.mk
@@ -57,3 +57,5 @@
 
 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/etc/init/android.hardware.keymaster@4.0-service)
 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/etc/init/android.hardware.keymaster@4.0-service.rc)
+
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/etc/init/android.hardware.power@1.0-service.rc)
diff --git a/guest/hals/Android.bp b/guest/hals/Android.bp
index 003b3b8..6d01e72 100644
--- a/guest/hals/Android.bp
+++ b/guest/hals/Android.bp
@@ -17,5 +17,4 @@
     "gps",
     "health",
     "hwcomposer",
-    "power",
 ]
diff --git a/guest/hals/power/Android.bp b/guest/hals/power/Android.bp
deleted file mode 100644
index ae62b68..0000000
--- a/guest/hals/power/Android.bp
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright (C) 2017 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.
-
-// HAL module implementation stored in
-// hw/<POWERS_HARDWARE_MODULE_ID>.<ro.hardware>.so
-cc_library_shared {
-    name: "power.cutf",
-    srcs: ["power.c"],
-    relative_install_path: "hw",
-    header_libs: [
-        "libhardware_headers",
-        "libutils_headers",
-    ],
-    shared_libs: [
-        "liblog",
-        "libcutils",
-    ],
-    defaults: ["cuttlefish_guest_only"],
-}
diff --git a/guest/hals/power/power.c b/guest/hals/power/power.c
deleted file mode 100644
index 35d5a11..0000000
--- a/guest/hals/power/power.c
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Copyright (C) 2017 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.
- *
- * Based on the HiKeyPowerHAL
- */
-
-#include <pthread.h>
-#include <semaphore.h>
-#include <cutils/properties.h>
-
-#define LOG_TAG "VSoCPowerHAL"
-#include <utils/Log.h>
-
-#include <hardware/hardware.h>
-#include <hardware/power.h>
-
-struct vsoc_power_module {
-    struct power_module base;
-    pthread_mutex_t lock;
-};
-
-static void vsoc_power_set_feature(struct power_module __unused *module,
-                                  feature_t __unused hint,
-                                  int __unused state) {
-    return;
-}
-
-static void vsoc_power_hint(struct power_module __unused *module,
-                           power_hint_t __unused hint,
-                           void __unused *data) {
-    return;
-}
-
-static void vsoc_power_set_interactive(struct power_module __unused *module,
-                                      int __unused on) {
-    return;
-}
-
-static  void vsoc_power_init(struct power_module __unused *module) {
-    return;
-}
-
-
-/*
- * The power module wasn't opened at all in versions prior to 'O'. The module
- * pointer was reinterpretd as a device pointer. 'O' retains this behavior when
- * open is set to NULL. This code is using that mode.
- * For reference,
- * 'O': hardware/interfaces/power/1.0/default/Power.cpp
- * prior: frameworks/base/services/core/jni/com_android_server_power_PowerManagerService.cpp
- */
-static struct hw_module_methods_t power_module_methods = {
-    .open = NULL
-};
-
-
-struct vsoc_power_module HAL_MODULE_INFO_SYM = {
-  .base = {
-    .common = {
-        .tag = HARDWARE_MODULE_TAG,
-        .module_api_version = POWER_MODULE_API_VERSION_0_2,
-        .hal_api_version = HARDWARE_HAL_API_VERSION,
-        .id = POWER_HARDWARE_MODULE_ID,
-        .name = "VSoC Power HAL",
-        .author = "The Android Open Source Project",
-        .methods = &power_module_methods,
-    },
-    .init = vsoc_power_init,
-    .setInteractive = vsoc_power_set_interactive,
-    .powerHint = vsoc_power_hint,
-    // Before L_MR1 we don't have setFeature
-    .setFeature = vsoc_power_set_feature,
-  },
-
-  .lock = PTHREAD_MUTEX_INITIALIZER,
-};
-
diff --git a/shared/device.mk b/shared/device.mk
index 70e48f6..955232a 100644
--- a/shared/device.mk
+++ b/shared/device.mk
@@ -301,10 +301,7 @@
 # Power HAL
 #
 PRODUCT_PACKAGES += \
-    power.cutf \
-    android.hardware.power@1.0-impl \
-    android.hardware.power@1.0-service
-
+    android.hardware.power-service.example
 
 #
 # PowerStats HAL
diff --git a/tests/hidl/hidl_implementation_test.cpp b/tests/hidl/hidl_implementation_test.cpp
index 3eedc96..da54594 100644
--- a/tests/hidl/hidl_implementation_test.cpp
+++ b/tests/hidl/hidl_implementation_test.cpp
@@ -66,7 +66,6 @@
     "android.hardware.memtrack@1.0",
     "android.hardware.nfc@1.2",
     "android.hardware.oemlock@1.0",
-    "android.hardware.power@1.3",
     "android.hardware.radio.deprecated@1.0",
     "android.hardware.renderscript@1.0",
     "android.hardware.secure_element@1.1",