diff --git a/bootctrl/1.1/impl/Android.bp b/bootctrl/1.1/impl/Android.bp deleted file mode 100644 index 3c8e3a7..0000000 --- a/bootctrl/1.1/impl/Android.bp +++ /dev/null @@ -1,24 +0,0 @@ -filegroup { - name: "android.hardware.boot@1.1-impl-qti_src", - srcs: ["BootControl.cpp"], -} - -cc_defaults { - name: "android.hardware.boot@1.1-impl-qti_defaults", - defaults: [ - "hidl_defaults", - "libboot_control_qti_defaults", - ], - relative_install_path: "hw", - vendor: true, - recovery_available: true, - srcs: [":android.hardware.boot@1.1-impl-qti_src"], - shared_libs: [ - "liblog", - "libhidlbase", - "libhardware", - "libutils", - "android.hardware.boot@1.0", - "android.hardware.boot@1.1", - ], -} diff --git a/bootctrl/1.1/impl/BootControl.cpp b/bootctrl/1.1/impl/BootControl.cpp deleted file mode 100644 index 4094d25..0000000 --- a/bootctrl/1.1/impl/BootControl.cpp +++ /dev/null @@ -1,132 +0,0 @@ -/* - * Copyright (c) 2020, The Linux Foundation. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials provided - * with the distribution. - * * Neither the name of The Linux Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR - * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE - * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN - * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#define LOG_TAG "android.hardware.boot@1.1-impl-qti" - -#include - -#include - -#include "BootControl.h" - -namespace android { -namespace hardware { -namespace boot { -namespace V1_1 { -namespace implementation { - -using ::android::hardware::boot::V1_0::CommandResult; - -bool BootControl::Init() { - return bootcontrol_init(); -} - -Return BootControl::getNumberSlots() { - return get_number_slots(); -} - -Return BootControl::getCurrentSlot() { - return get_current_slot(); -} - -Return BootControl::markBootSuccessful(markBootSuccessful_cb _hidl_cb) { - int ret = mark_boot_successful(); - struct CommandResult cr; - cr.success = (ret == 0); - cr.errMsg = strerror(-ret); - _hidl_cb(cr); - return Void(); -} - -Return BootControl::setActiveBootSlot(uint32_t slot, setActiveBootSlot_cb _hidl_cb) { - int ret = set_active_boot_slot(slot); - struct CommandResult cr; - cr.success = (ret == 0); - cr.errMsg = strerror(-ret); - _hidl_cb(cr); - return Void(); -} - -Return BootControl::setSlotAsUnbootable(uint32_t slot, setSlotAsUnbootable_cb _hidl_cb) { - int ret = set_slot_as_unbootable(slot); - struct CommandResult cr; - cr.success = (ret == 0); - cr.errMsg = strerror(-ret); - _hidl_cb(cr); - return Void(); -} - -Return BootControl::isSlotBootable(uint32_t slot) { - int32_t ret = is_slot_bootable(slot); - if (ret < 0) { - return BoolResult::INVALID_SLOT; - } - return ret ? BoolResult::TRUE : BoolResult::FALSE; -} - -Return BootControl::isSlotMarkedSuccessful(uint32_t slot) { - int32_t ret = is_slot_marked_successful(slot); - if (ret < 0) { - return BoolResult::INVALID_SLOT; - } - return ret ? BoolResult::TRUE : BoolResult::FALSE; -} - -Return BootControl::getSuffix(uint32_t slot, getSuffix_cb _hidl_cb) { - hidl_string ans; - const char* suffix = get_suffix(slot); - if (suffix) { - ans = suffix; - } - _hidl_cb(ans); - return Void(); -} - -Return BootControl::setSnapshotMergeStatus(MergeStatus status) { - return set_snapshot_merge_status(status); -} - -Return BootControl::getSnapshotMergeStatus() { - return get_snapshot_merge_status(); -} - -IBootControl* HIDL_FETCH_IBootControl(const char* /* hal */) { - auto module = std::make_unique(); - if (!module->Init()) { - ALOGE("Could not initialize BootControl module"); - return nullptr; - } - return module.release(); -} - -} // namespace implementation -} // namespace V1_1 -} // namespace boot -} // namespace hardware -} // namespace android diff --git a/bootctrl/1.1/impl/BootControl.h b/bootctrl/1.1/impl/BootControl.h deleted file mode 100644 index d33ec0c..0000000 --- a/bootctrl/1.1/impl/BootControl.h +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Copyright (c) 2020, The Linux Foundation. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials provided - * with the distribution. - * * Neither the name of The Linux Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR - * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE - * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN - * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#pragma once - -#include -#include -#include -#include - -namespace android { -namespace hardware { -namespace boot { -namespace V1_1 { -namespace implementation { - -using ::android::hardware::Return; -using ::android::hardware::Void; -using ::android::hardware::boot::V1_0::BoolResult; -using ::android::hardware::boot::V1_1::IBootControl; -using ::android::hardware::boot::V1_1::MergeStatus; - -class BootControl : public IBootControl { - public: - bool Init(); - - // Methods from ::android::hardware::boot::V1_0::IBootControl follow. - Return getNumberSlots() override; - Return getCurrentSlot() override; - Return markBootSuccessful(markBootSuccessful_cb _hidl_cb) override; - Return setActiveBootSlot(uint32_t slot, setActiveBootSlot_cb _hidl_cb) override; - Return setSlotAsUnbootable(uint32_t slot, setSlotAsUnbootable_cb _hidl_cb) override; - Return isSlotBootable(uint32_t slot) override; - Return isSlotMarkedSuccessful(uint32_t slot) override; - Return getSuffix(uint32_t slot, getSuffix_cb _hidl_cb) override; - - // Methods from ::android::hardware::boot::V1_1::IBootControl follow. - Return setSnapshotMergeStatus(MergeStatus status) override; - Return getSnapshotMergeStatus() override; - -}; - -extern "C" IBootControl* HIDL_FETCH_IBootControl(const char* name); - -} // namespace implementation -} // namespace V1_1 -} // namespace boot -} // namespace hardware -} // namespace android diff --git a/bootctrl/Android.bp b/bootctrl/Android.bp index dc5c7cb..33bb3ae 100644 --- a/bootctrl/Android.bp +++ b/bootctrl/Android.bp @@ -37,8 +37,8 @@ cc_library { } cc_library_shared { - name: "android.hardware.boot@1.1-impl-qti", - stem: "android.hardware.boot@1.0-impl-1.1-qti", - defaults: ["android.hardware.boot@1.1-impl-qti_defaults"], + name: "android.hardware.boot@1.2-impl-qti", + stem: "android.hardware.boot@1.0-impl-1.2-qti", + defaults: ["android.hardware.boot@1.2-impl-qti_defaults"], static_libs: ["libgptutils.moto_lahaina"], } diff --git a/common.mk b/common.mk index 3175c8f..fa943b7 100644 --- a/common.mk +++ b/common.mk @@ -65,9 +65,9 @@ PRODUCT_COPY_FILES += \ # Boot control PRODUCT_PACKAGES += \ - android.hardware.boot@1.1-impl-qti \ - android.hardware.boot@1.1-impl-qti.recovery \ - android.hardware.boot@1.1-service \ + android.hardware.boot@1.2-impl-qti \ + android.hardware.boot@1.2-impl-qti.recovery \ + android.hardware.boot@1.2-service \ bootctrl.lahaina \ bootctrl.lahaina.recovery