From 2a921ce6b5e72659786d9459f61fab2a2c836847 Mon Sep 17 00:00:00 2001 From: Gaurav Singhal Date: Thu, 2 Aug 2018 10:27:49 +0530 Subject: NFC: Remove HIDL implementation code This project will be used only for HIDL interface and different project is there for HIDL implementation. Removing vendor related code. Change-Id: I503978d71645a4baab8325b59aaded41b533b9d4 --- 1.0/default/Android.bp | 16 --- 1.0/default/Android.mk | 26 ----- 1.0/default/NqNfc.cpp | 108 ------------------ 1.0/default/NqNfc.h | 79 -------------- 1.0/default/include/device.h | 42 ------- 1.0/default/include/utils.h | 121 --------------------- 1.0/default/service.cpp | 53 --------- 1.0/default/vendor.nxp.hardware.nfc@1.0-service.rc | 33 ------ 8 files changed, 478 deletions(-) delete mode 100644 1.0/default/Android.bp delete mode 100644 1.0/default/Android.mk delete mode 100644 1.0/default/NqNfc.cpp delete mode 100644 1.0/default/NqNfc.h delete mode 100644 1.0/default/include/device.h delete mode 100644 1.0/default/include/utils.h delete mode 100644 1.0/default/service.cpp delete mode 100644 1.0/default/vendor.nxp.hardware.nfc@1.0-service.rc (limited to '1.0') diff --git a/1.0/default/Android.bp b/1.0/default/Android.bp deleted file mode 100644 index 083dc08..0000000 --- a/1.0/default/Android.bp +++ /dev/null @@ -1,16 +0,0 @@ -cc_library_shared { - name: "vendor.nxp.hardware.nfc@1.0-impl", - relative_install_path: "hw", - vendor: true, - srcs: [ - "NqNfc.cpp", - ], - shared_libs: [ - "liblog", - "libhardware", - "libhidlbase", - "libhidltransport", - "libutils", - "vendor.nxp.hardware.nfc@1.0", - ], -} diff --git a/1.0/default/Android.mk b/1.0/default/Android.mk deleted file mode 100644 index 6220ea9..0000000 --- a/1.0/default/Android.mk +++ /dev/null @@ -1,26 +0,0 @@ -LOCAL_PATH:= $(call my-dir) - -include $(CLEAR_VARS) -LOCAL_MODULE_RELATIVE_PATH := hw -LOCAL_VENDOR_MODULE := true -LOCAL_MODULE := vendor.nxp.hardware.nfc@1.0-service -LOCAL_INIT_RC := vendor.nxp.hardware.nfc@1.0-service.rc -LOCAL_SRC_FILES := \ - service.cpp \ - -LOCAL_SHARED_LIBRARIES := \ - liblog \ - libcutils \ - libdl \ - libbase \ - libutils \ - libhardware_legacy \ - libhardware \ - -LOCAL_SHARED_LIBRARIES += \ - libhidlbase \ - libhidltransport \ - android.hardware.nfc@1.0 \ - vendor.nxp.hardware.nfc@1.0 \ - -include $(BUILD_EXECUTABLE) diff --git a/1.0/default/NqNfc.cpp b/1.0/default/NqNfc.cpp deleted file mode 100644 index 15a57bf..0000000 --- a/1.0/default/NqNfc.cpp +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Copyright (c) 2017, 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. - */ - -#include -#include -#include "NqNfc.h" - -namespace vendor { -namespace nxp { -namespace hardware { -namespace nfc { -namespace V1_0 { -namespace implementation { - -NqNfc::NqNfc(pn547_dev_t* device) : mDevice(device) { -} - -// Methods from ::vendor::nxp::hardware::nfc::V1_0::INqNfc follow. -Return NqNfc::ioctl(uint64_t ioctlType, const hidl_vec& inputData, ioctl_cb _hidl_cb) { - uint32_t status; - nfc_nci_IoctlInOutData_t inpOutData; - NfcData outputData; - - nfc_nci_IoctlInOutData_t *pInOutData = (nfc_nci_IoctlInOutData_t*)&inputData[0]; - - /* - * data from proxy->stub is copied to local data which can be updated by - * underlying HAL implementation since its an inout argument - */ - memcpy(&inpOutData, pInOutData, sizeof(nfc_nci_IoctlInOutData_t)); - status = mDevice->ioctl(&mDevice->nci_device, ioctlType, &inpOutData); - - /* - * copy data and additional fields indicating status of ioctl operation - * and context of the caller. Then invoke the corresponding proxy callback - */ - inpOutData.out.ioctlType = ioctlType; - inpOutData.out.context = pInOutData->inp.context; - inpOutData.out.result = status; - outputData.setToExternal((uint8_t*)&inpOutData.out, sizeof(nfc_nci_ExtnOutputData_t)); - _hidl_cb(outputData); - return Void(); -} - - -// Methods from ::android::hidl::base::V1_0::IBase follow. - -INqNfc* HIDL_FETCH_INqNfc(const char* /* name */) { - nfc_nci_device_t* nci_device; - const hw_module_t* hw_module = NULL; - pn547_dev_t* nfc_device = NULL; - int ret = 0; - - nci_device = &nfc_device->nci_device; - - ret = hw_get_module (NFC_NCI_HARDWARE_MODULE_ID, &hw_module); - if (ret == 0) - { - ret = nfc_nci_open (hw_module, &nci_device); - if (ret != 0) { - ALOGE ("nfc_nci_open failed: %d", ret); - } - } - else - ALOGE ("hw_get_module %s failed: %d", NFC_NCI_HARDWARE_MODULE_ID, ret); - - if (ret == 0) { - ALOGD ("vendor NXP NFC HAL module loaded properly"); - nfc_device = (pn547_dev_t*)nci_device; - return new NqNfc(nfc_device); - } else { - ALOGE("Passthrough failed to load legacy HAL."); - return nullptr; - } -} - -} // namespace implementation -} // namespace V1_0 -} // namespace nfc -} // namespace hardware -} // namespace nxp -} // namespace vendor diff --git a/1.0/default/NqNfc.h b/1.0/default/NqNfc.h deleted file mode 100644 index d3e22d8..0000000 --- a/1.0/default/NqNfc.h +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Copyright (c) 2017, 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. - */ - -#ifndef VENDOR_NXP_HARDWARE_NFC_V1_0_NQNFC_H -#define VENDOR_NXP_HARDWARE_NFC_V1_0_NQNFC_H - -#include -#include -#include -#include -#include "include/device.h" -#include "include/utils.h" - -namespace vendor { -namespace nxp { -namespace hardware { -namespace nfc { -namespace V1_0 { -namespace implementation { - -using ::android::hidl::base::V1_0::DebugInfo; -using ::android::hidl::base::V1_0::IBase; -using ::vendor::nxp::hardware::nfc::V1_0::INqNfc; -using ::android::hardware::hidl_array; -using ::android::hardware::hidl_memory; -using ::android::hardware::hidl_string; -using ::android::hardware::hidl_vec; -using ::android::hardware::Return; -using ::android::hardware::Void; -using ::android::sp; - -struct NqNfc : public INqNfc { - NqNfc(pn547_dev_t* device); - // Methods from ::vendor::nxp::hardware::nfc::V1_0::INqNfc follow. - Return ioctl(uint64_t ioctlType, const hidl_vec& inputData, ioctl_cb _hidl_cb) override; - - private: - const pn547_dev_t* mDevice; - - // Methods from ::android::hidl::base::V1_0::IBase follow. - -}; - -extern "C" INqNfc* HIDL_FETCH_INqNfc(const char* name); - -} // namespace implementation -} // namespace V1_0 -} // namespace nfc -} // namespace hardware -} // namespace nxp -} // namespace vendor - -#endif // VENDOR_NXP_HARDWARE_NFC_V1_0_NQNFC_H diff --git a/1.0/default/include/device.h b/1.0/default/include/device.h deleted file mode 100644 index 79f2e88..0000000 --- a/1.0/default/include/device.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright (c) 2017, 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. - */ - -#ifndef VENDOR_NXP_NQNFC_V1_0_DEVICE_H -#define VENDOR_NXP_NQNFC_V1_0_DEVICE_H - -typedef struct { - struct nfc_nci_device nci_device; - - /* Local definitions */ - int(*ioctl)(const struct nfc_nci_device *p_dev, long arg, void *p_data); - int(*check_fw_dwnld_flag)(const struct nfc_nci_device *p_dev, uint8_t* param1); - -} pn547_dev_t; - -#endif // VENDOR_NXP_NQNFC_V1_0_DEVICE_H diff --git a/1.0/default/include/utils.h b/1.0/default/include/utils.h deleted file mode 100644 index ba2bf7c..0000000 --- a/1.0/default/include/utils.h +++ /dev/null @@ -1,121 +0,0 @@ -/* - * Copyright (c) 2017, 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. - */ - -#ifndef VENDOR_NXP_NQNFC_V1_0_UTILS_H -#define VENDOR_NXP_NQNFC_V1_0_UTILS_H - -#define MAX_IOCTL_TRANSCEIVE_CMD_LEN 256 -#define MAX_IOCTL_TRANSCEIVE_RESP_LEN 256 -#define MAX_ATR_INFO_LEN 128 - -/* - * Data structures provided below are used of Hal Ioctl calls - */ - -/* - * nfc_nci_ExtnCmd_t shall contain data for commands used for transceive command in ioctl - */ -typedef struct -{ - uint16_t cmd_len; - uint8_t p_cmd[MAX_IOCTL_TRANSCEIVE_CMD_LEN]; -} nfc_nci_ExtnCmd_t; - -/* - * nfc_nci_ExtnRsp_t shall contain response for command sent in transceive command - */ -typedef struct -{ - uint16_t rsp_len; - uint8_t p_rsp[MAX_IOCTL_TRANSCEIVE_RESP_LEN]; -} nfc_nci_ExtnRsp_t; - -/* - * InputData_t :ioctl has multiple subcommands - * Each command has corresponding input data which needs to be populated in this - */ -typedef union { - uint16_t bootMode; - uint8_t halType; - nfc_nci_ExtnCmd_t nciCmd; - uint32_t timeoutMilliSec; -}InputData_t; - -/* - * nfc_nci_ExtnInputData_t :Apart from InputData_t, there are context data - * which is required during callback from stub to proxy. - * To avoid additional copy of data while propagating from libnfc to Adaptation - * and Nfcstub to ncihal, common structure is used. As a sideeffect, context data - * is exposed to libnfc (Not encapsulated). - */ -typedef struct { - void* context; - InputData_t data; -}nfc_nci_ExtnInputData_t; - -/* - * outputData_t :ioctl has multiple commands/responses - * This contains the output types for each ioctl. - */ -typedef union{ - uint32_t status; - nfc_nci_ExtnRsp_t nciRsp; - uint8_t nxpNciAtrInfo[MAX_ATR_INFO_LEN]; - uint32_t p61CurrentState; - uint16_t fwUpdateInf; - uint16_t fwDwnldStatus; - uint16_t fwMwVerStatus; -}outputData_t; - -/* - * nfc_nci_ExtnOutputData_t :Apart from outputData_t, there are other information - * which is required during callback from stub to proxy. - * For ex (context, result of the operation , type of ioctl which was completed). - * To avoid additional copy of data while propagating from libnfc to Adaptation - * and Nfcstub to ncihal, common structure is used. As a sideeffect, these data - * is exposed(Not encapsulated). - */ -typedef struct { - uint64_t ioctlType; - uint32_t result; - void* context; - outputData_t data; -}nfc_nci_ExtnOutputData_t; - -/* - * nfc_nci_IoctlInOutData_t :data structure for input & output - * to be sent for ioctl command. input is populated by client/proxy side - * output is provided from server/stub to client/proxy - */ -typedef struct { - nfc_nci_ExtnInputData_t inp; - nfc_nci_ExtnOutputData_t out; -}nfc_nci_IoctlInOutData_t; - -#endif //VENDOR_NXP_NQNFC_V1_0_UTILS_H diff --git a/1.0/default/service.cpp b/1.0/default/service.cpp deleted file mode 100644 index 795b368..0000000 --- a/1.0/default/service.cpp +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright (c) 2017, 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 "vendor.nxp.hardware.nfc@1.0-service" - -#include -#include - -#include - -using android::hardware::configureRpcThreadpool; -using android::hardware::joinRpcThreadpool; -using android::hardware::nfc::V1_0::INfc; -using vendor::nxp::hardware::nfc::V1_0::INqNfc; -using android::hardware::registerPassthroughServiceImplementation; -using android::OK; - -int main() { - configureRpcThreadpool(10, true /*callerWillJoin*/); - android::status_t status; - status = registerPassthroughServiceImplementation(); - LOG_ALWAYS_FATAL_IF(status != OK, "Error while registering nfc AOSP service: %d", status); - status = registerPassthroughServiceImplementation(); - LOG_ALWAYS_FATAL_IF(status != OK, "Error while registering nqnfc vendor service: %d", status); - joinRpcThreadpool(); - return status; -} diff --git a/1.0/default/vendor.nxp.hardware.nfc@1.0-service.rc b/1.0/default/vendor.nxp.hardware.nfc@1.0-service.rc deleted file mode 100644 index afa6209..0000000 --- a/1.0/default/vendor.nxp.hardware.nfc@1.0-service.rc +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright (c) 2017, 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. - */ - -service nqnfc_hal_service /vendor/bin/hw/vendor.nxp.hardware.nfc@1.0-service - class hal - user nfc - group nfc -- cgit v1.2.3