diff --git a/AnimationDemo/LICENSE b/Data/Database/LICENSE similarity index 100% rename from AnimationDemo/LICENSE rename to Data/Database/LICENSE diff --git a/Database/README.md b/Data/Database/README.md similarity index 100% rename from Database/README.md rename to Data/Database/README.md diff --git a/AnimationDemo/build.gradle b/Data/Database/build.gradle similarity index 100% rename from AnimationDemo/build.gradle rename to Data/Database/build.gradle diff --git a/AnimationDemo/entry/.gitignore b/Data/Database/entry/.gitignore similarity index 100% rename from AnimationDemo/entry/.gitignore rename to Data/Database/entry/.gitignore diff --git a/Database/entry/build.gradle b/Data/Database/entry/build.gradle similarity index 100% rename from Database/entry/build.gradle rename to Data/Database/entry/build.gradle diff --git a/AnimationDemo/entry/package.json b/Data/Database/entry/package.json similarity index 100% rename from AnimationDemo/entry/package.json rename to Data/Database/entry/package.json diff --git a/AnimationDemo/entry/proguard-rules.pro b/Data/Database/entry/proguard-rules.pro similarity index 100% rename from AnimationDemo/entry/proguard-rules.pro rename to Data/Database/entry/proguard-rules.pro diff --git a/Database/entry/src/main/config.json b/Data/Database/entry/src/main/config.json similarity index 100% rename from Database/entry/src/main/config.json rename to Data/Database/entry/src/main/config.json diff --git a/Database/entry/src/main/js/default/app.js b/Data/Database/entry/src/main/js/default/app.js similarity index 100% rename from Database/entry/src/main/js/default/app.js rename to Data/Database/entry/src/main/js/default/app.js diff --git a/Database/entry/src/main/js/default/common/css/style.css b/Data/Database/entry/src/main/js/default/common/css/style.css similarity index 100% rename from Database/entry/src/main/js/default/common/css/style.css rename to Data/Database/entry/src/main/js/default/common/css/style.css diff --git a/AnimationDemo/entry/src/main/js/default/i18n/en-US.json b/Data/Database/entry/src/main/js/default/i18n/en-US.json similarity index 100% rename from AnimationDemo/entry/src/main/js/default/i18n/en-US.json rename to Data/Database/entry/src/main/js/default/i18n/en-US.json diff --git a/AnimationDemo/entry/src/main/js/default/i18n/zh-CN.json b/Data/Database/entry/src/main/js/default/i18n/zh-CN.json similarity index 100% rename from AnimationDemo/entry/src/main/js/default/i18n/zh-CN.json rename to Data/Database/entry/src/main/js/default/i18n/zh-CN.json diff --git a/Database/entry/src/main/js/default/pages/index/index.css b/Data/Database/entry/src/main/js/default/pages/index/index.css similarity index 100% rename from Database/entry/src/main/js/default/pages/index/index.css rename to Data/Database/entry/src/main/js/default/pages/index/index.css diff --git a/Database/entry/src/main/js/default/pages/index/index.hml b/Data/Database/entry/src/main/js/default/pages/index/index.hml similarity index 100% rename from Database/entry/src/main/js/default/pages/index/index.hml rename to Data/Database/entry/src/main/js/default/pages/index/index.hml diff --git a/Database/entry/src/main/js/default/pages/index/index.js b/Data/Database/entry/src/main/js/default/pages/index/index.js similarity index 100% rename from Database/entry/src/main/js/default/pages/index/index.js rename to Data/Database/entry/src/main/js/default/pages/index/index.js diff --git a/AnimationDemo/entry/src/main/resources/base/element/string.json b/Data/Database/entry/src/main/resources/base/element/string.json similarity index 100% rename from AnimationDemo/entry/src/main/resources/base/element/string.json rename to Data/Database/entry/src/main/resources/base/element/string.json diff --git a/AnimationDemo/entry/src/main/resources/base/media/icon.png b/Data/Database/entry/src/main/resources/base/media/icon.png similarity index 100% rename from AnimationDemo/entry/src/main/resources/base/media/icon.png rename to Data/Database/entry/src/main/resources/base/media/icon.png diff --git a/AnimationDemo/gradle/wrapper/gradle-wrapper.jar b/Data/Database/gradle/wrapper/gradle-wrapper.jar similarity index 100% rename from AnimationDemo/gradle/wrapper/gradle-wrapper.jar rename to Data/Database/gradle/wrapper/gradle-wrapper.jar diff --git a/AnimationDemo/gradle/wrapper/gradle-wrapper.properties b/Data/Database/gradle/wrapper/gradle-wrapper.properties similarity index 100% rename from AnimationDemo/gradle/wrapper/gradle-wrapper.properties rename to Data/Database/gradle/wrapper/gradle-wrapper.properties diff --git a/AnimationDemo/settings.gradle b/Data/Database/settings.gradle similarity index 100% rename from AnimationDemo/settings.gradle rename to Data/Database/settings.gradle diff --git a/ImageEditorTemplate/LICENSE b/Data/JSRelationshipData/LICENSE similarity index 100% rename from ImageEditorTemplate/LICENSE rename to Data/JSRelationshipData/LICENSE diff --git a/JSRelationshipData/README.md b/Data/JSRelationshipData/README.md similarity index 100% rename from JSRelationshipData/README.md rename to Data/JSRelationshipData/README.md diff --git a/Database/build.gradle b/Data/JSRelationshipData/build.gradle similarity index 100% rename from Database/build.gradle rename to Data/JSRelationshipData/build.gradle diff --git a/AnimationDemo/entry/build.gradle b/Data/JSRelationshipData/entry/build.gradle similarity index 100% rename from AnimationDemo/entry/build.gradle rename to Data/JSRelationshipData/entry/build.gradle diff --git a/ClickableJsDemo/entry/package.json b/Data/JSRelationshipData/entry/package.json similarity index 100% rename from ClickableJsDemo/entry/package.json rename to Data/JSRelationshipData/entry/package.json diff --git a/ClickableJsDemo/entry/proguard-rules.pro b/Data/JSRelationshipData/entry/proguard-rules.pro similarity index 100% rename from ClickableJsDemo/entry/proguard-rules.pro rename to Data/JSRelationshipData/entry/proguard-rules.pro diff --git a/JSRelationshipData/entry/src/main/config.json b/Data/JSRelationshipData/entry/src/main/config.json similarity index 100% rename from JSRelationshipData/entry/src/main/config.json rename to Data/JSRelationshipData/entry/src/main/config.json diff --git a/DialogDemo/entry/src/main/js/default/app.js b/Data/JSRelationshipData/entry/src/main/js/MainAbility/app.js similarity index 100% rename from DialogDemo/entry/src/main/js/default/app.js rename to Data/JSRelationshipData/entry/src/main/js/MainAbility/app.js diff --git a/ClickableJsDemo/entry/src/main/js/default/i18n/en-US.json b/Data/JSRelationshipData/entry/src/main/js/MainAbility/i18n/en-US.json similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/i18n/en-US.json rename to Data/JSRelationshipData/entry/src/main/js/MainAbility/i18n/en-US.json diff --git a/ClickableJsDemo/entry/src/main/js/default/i18n/zh-CN.json b/Data/JSRelationshipData/entry/src/main/js/MainAbility/i18n/zh-CN.json similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/i18n/zh-CN.json rename to Data/JSRelationshipData/entry/src/main/js/MainAbility/i18n/zh-CN.json diff --git a/JSRelationshipData/entry/src/main/js/MainAbility/pages/index/index.css b/Data/JSRelationshipData/entry/src/main/js/MainAbility/pages/index/index.css similarity index 100% rename from JSRelationshipData/entry/src/main/js/MainAbility/pages/index/index.css rename to Data/JSRelationshipData/entry/src/main/js/MainAbility/pages/index/index.css diff --git a/JSRelationshipData/entry/src/main/js/MainAbility/pages/index/index.hml b/Data/JSRelationshipData/entry/src/main/js/MainAbility/pages/index/index.hml similarity index 100% rename from JSRelationshipData/entry/src/main/js/MainAbility/pages/index/index.hml rename to Data/JSRelationshipData/entry/src/main/js/MainAbility/pages/index/index.hml diff --git a/JSRelationshipData/entry/src/main/js/MainAbility/pages/index/index.js b/Data/JSRelationshipData/entry/src/main/js/MainAbility/pages/index/index.js similarity index 100% rename from JSRelationshipData/entry/src/main/js/MainAbility/pages/index/index.js rename to Data/JSRelationshipData/entry/src/main/js/MainAbility/pages/index/index.js diff --git a/JSRelationshipData/entry/src/main/js/model/KvStoreModel.js b/Data/JSRelationshipData/entry/src/main/js/model/KvStoreModel.js similarity index 100% rename from JSRelationshipData/entry/src/main/js/model/KvStoreModel.js rename to Data/JSRelationshipData/entry/src/main/js/model/KvStoreModel.js diff --git a/ClickableJsDemo/entry/src/main/resources/base/element/string.json b/Data/JSRelationshipData/entry/src/main/resources/base/element/string.json similarity index 100% rename from ClickableJsDemo/entry/src/main/resources/base/element/string.json rename to Data/JSRelationshipData/entry/src/main/resources/base/element/string.json diff --git a/ClickableJsDemo/entry/src/main/resources/base/media/icon.png b/Data/JSRelationshipData/entry/src/main/resources/base/media/icon.png similarity index 100% rename from ClickableJsDemo/entry/src/main/resources/base/media/icon.png rename to Data/JSRelationshipData/entry/src/main/resources/base/media/icon.png diff --git a/ClickableJsDemo/gradle/wrapper/gradle-wrapper.jar b/Data/JSRelationshipData/gradle/wrapper/gradle-wrapper.jar similarity index 100% rename from ClickableJsDemo/gradle/wrapper/gradle-wrapper.jar rename to Data/JSRelationshipData/gradle/wrapper/gradle-wrapper.jar diff --git a/ClickableJsDemo/gradle/wrapper/gradle-wrapper.properties b/Data/JSRelationshipData/gradle/wrapper/gradle-wrapper.properties similarity index 100% rename from ClickableJsDemo/gradle/wrapper/gradle-wrapper.properties rename to Data/JSRelationshipData/gradle/wrapper/gradle-wrapper.properties diff --git a/ClickableJsDemo/settings.gradle b/Data/JSRelationshipData/settings.gradle similarity index 100% rename from ClickableJsDemo/settings.gradle rename to Data/JSRelationshipData/settings.gradle diff --git a/JSCanvasComponet/LICENSE b/Data/JsDistributedData/LICENSE similarity index 100% rename from JSCanvasComponet/LICENSE rename to Data/JsDistributedData/LICENSE diff --git a/JsDistributedData/README.md b/Data/JsDistributedData/README.md similarity index 100% rename from JsDistributedData/README.md rename to Data/JsDistributedData/README.md diff --git a/JsDistributedData/build.gradle b/Data/JsDistributedData/build.gradle similarity index 100% rename from JsDistributedData/build.gradle rename to Data/JsDistributedData/build.gradle diff --git a/JsDistributedData/entry/build.gradle b/Data/JsDistributedData/entry/build.gradle similarity index 100% rename from JsDistributedData/entry/build.gradle rename to Data/JsDistributedData/entry/build.gradle diff --git a/Database/entry/package.json b/Data/JsDistributedData/entry/package.json similarity index 100% rename from Database/entry/package.json rename to Data/JsDistributedData/entry/package.json diff --git a/CustomDialogEts/entry/proguard-rules.pro b/Data/JsDistributedData/entry/proguard-rules.pro similarity index 100% rename from CustomDialogEts/entry/proguard-rules.pro rename to Data/JsDistributedData/entry/proguard-rules.pro diff --git a/JsDistributedData/entry/src/main/config.json b/Data/JsDistributedData/entry/src/main/config.json similarity index 100% rename from JsDistributedData/entry/src/main/config.json rename to Data/JsDistributedData/entry/src/main/config.json diff --git a/JsDistributedData/entry/src/main/js/default/app.js b/Data/JsDistributedData/entry/src/main/js/default/app.js similarity index 100% rename from JsDistributedData/entry/src/main/js/default/app.js rename to Data/JsDistributedData/entry/src/main/js/default/app.js diff --git a/Database/entry/src/main/js/default/i18n/en-US.json b/Data/JsDistributedData/entry/src/main/js/default/i18n/en-US.json similarity index 100% rename from Database/entry/src/main/js/default/i18n/en-US.json rename to Data/JsDistributedData/entry/src/main/js/default/i18n/en-US.json diff --git a/Database/entry/src/main/js/default/i18n/zh-CN.json b/Data/JsDistributedData/entry/src/main/js/default/i18n/zh-CN.json similarity index 100% rename from Database/entry/src/main/js/default/i18n/zh-CN.json rename to Data/JsDistributedData/entry/src/main/js/default/i18n/zh-CN.json diff --git a/JsDistributedData/entry/src/main/js/default/pages/index/index.css b/Data/JsDistributedData/entry/src/main/js/default/pages/index/index.css similarity index 100% rename from JsDistributedData/entry/src/main/js/default/pages/index/index.css rename to Data/JsDistributedData/entry/src/main/js/default/pages/index/index.css diff --git a/JsDistributedData/entry/src/main/js/default/pages/index/index.hml b/Data/JsDistributedData/entry/src/main/js/default/pages/index/index.hml similarity index 100% rename from JsDistributedData/entry/src/main/js/default/pages/index/index.hml rename to Data/JsDistributedData/entry/src/main/js/default/pages/index/index.hml diff --git a/JsDistributedData/entry/src/main/js/default/pages/index/index.js b/Data/JsDistributedData/entry/src/main/js/default/pages/index/index.js similarity index 100% rename from JsDistributedData/entry/src/main/js/default/pages/index/index.js rename to Data/JsDistributedData/entry/src/main/js/default/pages/index/index.js diff --git a/JsDistributedData/entry/src/main/js/model/KvStoreModel.js b/Data/JsDistributedData/entry/src/main/js/model/KvStoreModel.js similarity index 100% rename from JsDistributedData/entry/src/main/js/model/KvStoreModel.js rename to Data/JsDistributedData/entry/src/main/js/model/KvStoreModel.js diff --git a/Database/entry/src/main/resources/base/element/string.json b/Data/JsDistributedData/entry/src/main/resources/base/element/string.json similarity index 100% rename from Database/entry/src/main/resources/base/element/string.json rename to Data/JsDistributedData/entry/src/main/resources/base/element/string.json diff --git a/CustomDialogEts/entry/src/main/resources/base/media/icon.png b/Data/JsDistributedData/entry/src/main/resources/base/media/icon.png similarity index 100% rename from CustomDialogEts/entry/src/main/resources/base/media/icon.png rename to Data/JsDistributedData/entry/src/main/resources/base/media/icon.png diff --git a/CustomDialogEts/gradle/wrapper/gradle-wrapper.jar b/Data/JsDistributedData/gradle/wrapper/gradle-wrapper.jar similarity index 100% rename from CustomDialogEts/gradle/wrapper/gradle-wrapper.jar rename to Data/JsDistributedData/gradle/wrapper/gradle-wrapper.jar diff --git a/CustomDialogEts/gradle/wrapper/gradle-wrapper.properties b/Data/JsDistributedData/gradle/wrapper/gradle-wrapper.properties similarity index 100% rename from CustomDialogEts/gradle/wrapper/gradle-wrapper.properties rename to Data/JsDistributedData/gradle/wrapper/gradle-wrapper.properties diff --git a/CustomDialogEts/settings.gradle b/Data/JsDistributedData/settings.gradle similarity index 100% rename from CustomDialogEts/settings.gradle rename to Data/JsDistributedData/settings.gradle diff --git a/PortingOpenHarmony/device_rockchip_rk3568/init.rk3568.usb.cfg b/Device/PortingOpenHarmony/device_rockchip_rk3568/init.rk3568.usb.cfg similarity index 100% rename from PortingOpenHarmony/device_rockchip_rk3568/init.rk3568.usb.cfg rename to Device/PortingOpenHarmony/device_rockchip_rk3568/init.rk3568.usb.cfg diff --git a/PortingOpenHarmony/productdefine_common_device/rk3568.json b/Device/PortingOpenHarmony/productdefine_common_device/rk3568.json similarity index 100% rename from PortingOpenHarmony/productdefine_common_device/rk3568.json rename to Device/PortingOpenHarmony/productdefine_common_device/rk3568.json diff --git a/PortingOpenHarmony/productdefine_common_products/rk3568.json b/Device/PortingOpenHarmony/productdefine_common_products/rk3568.json similarity index 100% rename from PortingOpenHarmony/productdefine_common_products/rk3568.json rename to Device/PortingOpenHarmony/productdefine_common_products/rk3568.json diff --git a/WifiDemo/README.md b/Device/WifiDemo/README.md similarity index 95% rename from WifiDemo/README.md rename to Device/WifiDemo/README.md index 8b24beae22d9b49941590999e4a9a7ed27f705d8..8fa443cf7d222fd53a3947e2956cea95ff37a55e 100644 --- a/WifiDemo/README.md +++ b/Device/WifiDemo/README.md @@ -1,47 +1,47 @@ -# WiFi Codelabs - -## 一、获取源代码 - -``` -make codelabs -cd codelabs -repo init -u https://gitee.com/openharmony/manifest.git -b master --no-repo-verify --depth=1 -``` -待下载完成后,下载二进制 - -``` -repo forall -c 'git lfs pull' -``` -下载编译工具链相关文件 - -``` -build/prebuilts_download.sh -``` - -## 二、下载WiFi的相关仓并替换 -1、下载codelabs仓 -``` -git clone https://gitee.com/openharmony/codelabs.git -``` -2、将WifiDemo/device_hisilicon_drivers目录下的wifi拷贝至codelabs/device/hisilicon/drivers下,替换原有的wifi文件夹 -3、将WifiDemo/vendor_hisilicon目录下的wifi拷贝至vendor/hisilicon/Hi3516DV300/hdf_config/khdf下,替换原有的wifi文件夹 -4、加入测试文件的拷贝编译 - -``` -#打开 drivers/adapter/uhdf2/ohos.build文件,插入如下 -{ - "subsystem": "hdf", - "parts": { - "hdf": { - "module_list": [ - ...... - "//device/hisilicon/drivers/wifi/wifitest:wifi_test", - ...... - ], - "test_list": [ - ...... - ] - } - } -} -``` +# WiFi Codelabs + +## 一、获取源代码 + +``` +make codelabs +cd codelabs +repo init -u https://gitee.com/openharmony/manifest.git -b master --no-repo-verify --depth=1 +``` +待下载完成后,下载二进制 + +``` +repo forall -c 'git lfs pull' +``` +下载编译工具链相关文件 + +``` +build/prebuilts_download.sh +``` + +## 二、下载WiFi的相关仓并替换 +1、下载codelabs仓 +``` +git clone https://gitee.com/openharmony/codelabs.git +``` +2、将WifiDemo/device_hisilicon_drivers目录下的wifi拷贝至codelabs/device/hisilicon/drivers下,替换原有的wifi文件夹 +3、将WifiDemo/vendor_hisilicon目录下的wifi拷贝至vendor/hisilicon/Hi3516DV300/hdf_config/khdf下,替换原有的wifi文件夹 +4、加入测试文件的拷贝编译 + +``` +#打开 drivers/adapter/uhdf2/ohos.build文件,插入如下 +{ + "subsystem": "hdf", + "parts": { + "hdf": { + "module_list": [ + ...... + "//device/hisilicon/drivers/wifi/wifitest:wifi_test", + ...... + ], + "test_list": [ + ...... + ] + } + } +} +``` diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/BUILD.gn b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/BUILD.gn similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/BUILD.gn rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/BUILD.gn diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/Kconfig b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/Kconfig similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/Kconfig rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/Kconfig diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/Makefile b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/Makefile similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/Makefile rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/Makefile diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/core/hdf_wlan_sdio_adapt.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/core/hdf_wlan_sdio_adapt.c similarity index 97% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/core/hdf_wlan_sdio_adapt.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/core/hdf_wlan_sdio_adapt.c index 74a7bd59da3338baf52666fc57d88f68aed79499..60ad674f193e82f8a956c568424dc26b440a1c32 100644 --- a/WifiDemo/device_hisilicon_drivers/wifi/driver/core/hdf_wlan_sdio_adapt.c +++ b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/core/hdf_wlan_sdio_adapt.c @@ -1,160 +1,160 @@ -/* - * Copyright (C) 2021 HiSilicon (Shanghai) Technologies CO., LIMITED. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ - -#include "hdf_wlan_sdio.h" -#include "hdf_wlan_config.h" -#ifdef __KERNEL__ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#else -#include -#include -#include -#include -#include -#include -#include -#include -#endif -#include "hdf_base.h" -#include "hdf_log.h" -#include "hdf_wlan_chipdriver_manager.h" - - -#ifdef __KERNEL__ -#define REG_WRITE(ADDR, VALUE) \ - do { \ - void __iomem *reg = ioremap(ADDR, sizeof(uint32_t)); \ - if (reg == NULL) { \ - HDF_LOGE("%s:ioremap failed!addr=0x%08x", __func__, ADDR); \ - break; \ - } \ - HDF_LOGW("%s: Change register[0x%08x] %04x to %04x", __func__, ADDR, readl(reg), (VALUE)); \ - writel(VALUE, reg); \ - iounmap(reg); \ - } while (0) - -#define REG_SET_BITS(ADDR, VALUE) \ - do { \ - void __iomem *reg = ioremap(ADDR, sizeof(uint32_t)); \ - if (reg == NULL) { \ - HDF_LOGE("%s: ioremap failed!addr=0x%08x", __func__, ADDR); \ - break; \ - } \ - HDF_LOGW("%s: Change register[0x%08x] %04x to %04x", __func__, ADDR, readl(reg), readl(reg) | (VALUE)); \ - writel(readl(reg) | (VALUE), reg); \ - iounmap(reg); \ - } while (0) -#else -#define REG_WRITE(ADDR, VALUE) \ - do { \ - int reg = IO_DEVICE_ADDR(ADDR); \ - HDF_LOGW("%s: Change register[0x%08x] %04x to %04x", __func__, ADDR, readl(reg), (VALUE)); \ - writel(VALUE, reg); \ - } while (0) - -#define REG_SET_BITS(ADDR, VALUE) \ - do { \ - int reg = IO_DEVICE_ADDR(ADDR); \ - HDF_LOGW("%s: Change register[0x%08x] %04x to %04x", __func__, ADDR, readl(reg), readl(reg) | (VALUE)); \ - writel(readl(reg) | (VALUE), reg); \ - } while (0) -#endif - - -static int32_t ConfigHi3516DV300SDIO(uint8_t busId) -{ - if (busId == 2) { - HDF_LOGE("%s: Config Hi3516DV300 SDIO bus %d", __func__, busId); - const uint32_t PMC_REG_ADDR_REG0 = 0x12090000; - const uint32_t PIN_REG_ADDR_CLK = 0x112F0008; - const uint32_t PIN_REG_ADDR_CMD = 0x112F000C; - const uint32_t PIN_REG_ADDR_DATA0 = 0x112F0010; - const uint32_t PIN_REG_ADDR_DATA1 = 0x112F0014; - const uint32_t PIN_REG_ADDR_DATA2 = 0x112F0018; - const uint32_t PIN_REG_ADDR_DATA3 = 0x112F001C; - - REG_SET_BITS(PMC_REG_ADDR_REG0, 0x0080); - REG_WRITE(PIN_REG_ADDR_CLK, 0x601); - REG_WRITE(PIN_REG_ADDR_CMD, 0x501); - REG_WRITE(PIN_REG_ADDR_DATA0, 0x501); - REG_WRITE(PIN_REG_ADDR_DATA1, 0x501); - REG_WRITE(PIN_REG_ADDR_DATA2, 0x501); - REG_WRITE(PIN_REG_ADDR_DATA3, 0x501); - return HDF_SUCCESS; - } - - HDF_LOGE("%s: SDIO bus ID %d not supportted!", __func__, busId); - return HDF_FAILURE; -} - -static int32_t ConfigHi3518EV300SDIO(uint8_t busId) -{ - if (busId == 1) { - HDF_LOGE("%s: Config Hi3518EV300 SDIO bus %d", __func__, busId); - const uint32_t PIN_REG_ADDR_CLK = 0x112c0048; - const uint32_t PIN_REG_ADDR_CMD = 0x112C004C; - const uint32_t PIN_REG_ADDR_DATA0 = 0x112C0064; - const uint32_t PIN_REG_ADDR_DATA1 = 0x112c0060; - const uint32_t PIN_REG_ADDR_DATA2 = 0x112c005c; - const uint32_t PIN_REG_ADDR_DATA3 = 0x112c0058; - - REG_WRITE(PIN_REG_ADDR_CLK, 0x1a04); - REG_WRITE(PIN_REG_ADDR_CMD, 0x1004); - REG_WRITE(PIN_REG_ADDR_DATA0, 0x1004); - REG_WRITE(PIN_REG_ADDR_DATA1, 0x1004); - REG_WRITE(PIN_REG_ADDR_DATA2, 0x1004); - REG_WRITE(PIN_REG_ADDR_DATA3, 0x1004); - return HDF_SUCCESS; - } - HDF_LOGE("%s: SDIO bus ID %d not supportted!", __func__, busId); - return HDF_FAILURE; -} - -int32_t HdfWlanConfigSDIO(uint8_t busId) -{ - struct HdfConfigWlanRoot *config = HdfWlanGetModuleConfigRoot(); - if (config == NULL || config->wlanConfig.hostChipName == NULL) { - HDF_LOGE("%s: No config or chip name is NULL!", __func__); - return HDF_FAILURE; - } - if (strcmp("hi3516dv300", config->wlanConfig.hostChipName) == 0) { - return ConfigHi3516DV300SDIO(busId); - } - if (strcmp("hi3518ev300", config->wlanConfig.hostChipName) == 0) { - return ConfigHi3518EV300SDIO(busId); - } - HDF_LOGE("%s: platform chip not supported!", __func__); - return HDF_FAILURE; -} +/* + * Copyright (C) 2021 HiSilicon (Shanghai) Technologies CO., LIMITED. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "hdf_wlan_sdio.h" +#include "hdf_wlan_config.h" +#ifdef __KERNEL__ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#else +#include +#include +#include +#include +#include +#include +#include +#include +#endif +#include "hdf_base.h" +#include "hdf_log.h" +#include "hdf_wlan_chipdriver_manager.h" + + +#ifdef __KERNEL__ +#define REG_WRITE(ADDR, VALUE) \ + do { \ + void __iomem *reg = ioremap(ADDR, sizeof(uint32_t)); \ + if (reg == NULL) { \ + HDF_LOGE("%s:ioremap failed!addr=0x%08x", __func__, ADDR); \ + break; \ + } \ + HDF_LOGW("%s: Change register[0x%08x] %04x to %04x", __func__, ADDR, readl(reg), (VALUE)); \ + writel(VALUE, reg); \ + iounmap(reg); \ + } while (0) + +#define REG_SET_BITS(ADDR, VALUE) \ + do { \ + void __iomem *reg = ioremap(ADDR, sizeof(uint32_t)); \ + if (reg == NULL) { \ + HDF_LOGE("%s: ioremap failed!addr=0x%08x", __func__, ADDR); \ + break; \ + } \ + HDF_LOGW("%s: Change register[0x%08x] %04x to %04x", __func__, ADDR, readl(reg), readl(reg) | (VALUE)); \ + writel(readl(reg) | (VALUE), reg); \ + iounmap(reg); \ + } while (0) +#else +#define REG_WRITE(ADDR, VALUE) \ + do { \ + int reg = IO_DEVICE_ADDR(ADDR); \ + HDF_LOGW("%s: Change register[0x%08x] %04x to %04x", __func__, ADDR, readl(reg), (VALUE)); \ + writel(VALUE, reg); \ + } while (0) + +#define REG_SET_BITS(ADDR, VALUE) \ + do { \ + int reg = IO_DEVICE_ADDR(ADDR); \ + HDF_LOGW("%s: Change register[0x%08x] %04x to %04x", __func__, ADDR, readl(reg), readl(reg) | (VALUE)); \ + writel(readl(reg) | (VALUE), reg); \ + } while (0) +#endif + + +static int32_t ConfigHi3516DV300SDIO(uint8_t busId) +{ + if (busId == 2) { + HDF_LOGE("%s: Config Hi3516DV300 SDIO bus %d", __func__, busId); + const uint32_t PMC_REG_ADDR_REG0 = 0x12090000; + const uint32_t PIN_REG_ADDR_CLK = 0x112F0008; + const uint32_t PIN_REG_ADDR_CMD = 0x112F000C; + const uint32_t PIN_REG_ADDR_DATA0 = 0x112F0010; + const uint32_t PIN_REG_ADDR_DATA1 = 0x112F0014; + const uint32_t PIN_REG_ADDR_DATA2 = 0x112F0018; + const uint32_t PIN_REG_ADDR_DATA3 = 0x112F001C; + + REG_SET_BITS(PMC_REG_ADDR_REG0, 0x0080); + REG_WRITE(PIN_REG_ADDR_CLK, 0x601); + REG_WRITE(PIN_REG_ADDR_CMD, 0x501); + REG_WRITE(PIN_REG_ADDR_DATA0, 0x501); + REG_WRITE(PIN_REG_ADDR_DATA1, 0x501); + REG_WRITE(PIN_REG_ADDR_DATA2, 0x501); + REG_WRITE(PIN_REG_ADDR_DATA3, 0x501); + return HDF_SUCCESS; + } + + HDF_LOGE("%s: SDIO bus ID %d not supportted!", __func__, busId); + return HDF_FAILURE; +} + +static int32_t ConfigHi3518EV300SDIO(uint8_t busId) +{ + if (busId == 1) { + HDF_LOGE("%s: Config Hi3518EV300 SDIO bus %d", __func__, busId); + const uint32_t PIN_REG_ADDR_CLK = 0x112c0048; + const uint32_t PIN_REG_ADDR_CMD = 0x112C004C; + const uint32_t PIN_REG_ADDR_DATA0 = 0x112C0064; + const uint32_t PIN_REG_ADDR_DATA1 = 0x112c0060; + const uint32_t PIN_REG_ADDR_DATA2 = 0x112c005c; + const uint32_t PIN_REG_ADDR_DATA3 = 0x112c0058; + + REG_WRITE(PIN_REG_ADDR_CLK, 0x1a04); + REG_WRITE(PIN_REG_ADDR_CMD, 0x1004); + REG_WRITE(PIN_REG_ADDR_DATA0, 0x1004); + REG_WRITE(PIN_REG_ADDR_DATA1, 0x1004); + REG_WRITE(PIN_REG_ADDR_DATA2, 0x1004); + REG_WRITE(PIN_REG_ADDR_DATA3, 0x1004); + return HDF_SUCCESS; + } + HDF_LOGE("%s: SDIO bus ID %d not supportted!", __func__, busId); + return HDF_FAILURE; +} + +int32_t HdfWlanConfigSDIO(uint8_t busId) +{ + struct HdfConfigWlanRoot *config = HdfWlanGetModuleConfigRoot(); + if (config == NULL || config->wlanConfig.hostChipName == NULL) { + HDF_LOGE("%s: No config or chip name is NULL!", __func__); + return HDF_FAILURE; + } + if (strcmp("hi3516dv300", config->wlanConfig.hostChipName) == 0) { + return ConfigHi3516DV300SDIO(busId); + } + if (strcmp("hi3518ev300", config->wlanConfig.hostChipName) == 0) { + return ConfigHi3518EV300SDIO(busId); + } + HDF_LOGE("%s: platform chip not supported!", __func__); + return HDF_FAILURE; +} diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/BUILD.gn b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/BUILD.gn similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/BUILD.gn rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/BUILD.gn diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/Makefile b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/Makefile similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/Makefile rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/Makefile diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/current_module.rules b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/current_module.rules similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/current_module.rules rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/current_module.rules diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/env_config.mk b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/env_config.mk similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/env_config.mk rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/env_config.mk diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/frw/frw_event.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/frw/frw_event.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/frw/frw_event.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/frw/frw_event.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/frw/frw_event.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/frw/frw_event.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/frw/frw_event.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/frw/frw_event.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/frw/frw_event_sched.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/frw/frw_event_sched.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/frw/frw_event_sched.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/frw/frw_event_sched.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/frw/frw_event_sched.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/frw/frw_event_sched.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/frw/frw_event_sched.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/frw/frw_event_sched.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/frw/frw_main.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/frw/frw_main.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/frw/frw_main.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/frw/frw_main.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/frw/frw_main.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/frw/frw_main.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/frw/frw_main.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/frw/frw_main.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/frw/frw_task.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/frw/frw_task.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/frw/frw_task.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/frw/frw_task.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/frw/frw_task.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/frw/frw_task.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/frw/frw_task.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/frw/frw_task.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/frw/frw_timer.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/frw/frw_timer.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/frw/frw_timer.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/frw/frw_timer.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/frw/frw_timer.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/frw/frw_timer.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/frw/frw_timer.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/frw/frw_timer.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hcc/hcc_comm.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hcc/hcc_comm.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hcc/hcc_comm.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hcc/hcc_comm.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hcc/hcc_comm.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hcc/hcc_comm.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hcc/hcc_comm.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hcc/hcc_comm.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hcc/hcc_hmac.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hcc/hcc_hmac.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hcc/hcc_hmac.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hcc/hcc_hmac.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hcc/hcc_hmac_if.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hcc/hcc_hmac_if.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hcc/hcc_hmac_if.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hcc/hcc_hmac_if.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hcc/hcc_host.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hcc/hcc_host.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hcc/hcc_host.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hcc/hcc_host.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hcc/hcc_host.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hcc/hcc_host.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hcc/hcc_host.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hcc/hcc_host.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hcc/hcc_slave.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hcc/hcc_slave.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hcc/hcc_slave.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hcc/hcc_slave.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hcc/hcc_slave.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hcc/hcc_slave.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hcc/hcc_slave.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hcc/hcc_slave.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hcc/hcc_task.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hcc/hcc_task.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hcc/hcc_task.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hcc/hcc_task.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hcc/hcc_task.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hcc/hcc_task.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hcc/hcc_task.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hcc/hcc_task.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hcc/hmac_hcc_adapt.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hcc/hmac_hcc_adapt.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hcc/hmac_hcc_adapt.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hcc/hmac_hcc_adapt.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hcc/hmac_hcc_adapt.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hcc/hmac_hcc_adapt.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hcc/hmac_hcc_adapt.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hcc/hmac_hcc_adapt.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hdfadapt/hdf_driver_register.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hdfadapt/hdf_driver_register.c similarity index 96% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hdfadapt/hdf_driver_register.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hdfadapt/hdf_driver_register.c index e33f189ea0f90900fd137d6ae69bc8ca2f248110..ec7d4c2e0f62befed152e855213cd665f7f3b6eb 100644 --- a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hdfadapt/hdf_driver_register.c +++ b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hdfadapt/hdf_driver_register.c @@ -1,140 +1,140 @@ -/* - * Copyright (C) 2021 HiSilicon (Shanghai) Technologies CO., LIMITED. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -#include "hdf_device_desc.h" -#include "hdf_wifi_product.h" -#include "hdf_log.h" -#include "osal_mem.h" -#include "hdf_wlan_chipdriver_manager.h" -#include "securec.h" -#include "wifi_module.h" -#include "hi_wifi_api.h" -#include "hi_types_base.h" - -#define HDF_LOG_TAG Hi3881Driver - -int32_t InitHi3881Chip(struct HdfWlanDevice *device); -int32_t DeinitHi3881Chip(struct HdfWlanDevice *device); -int32_t Hi3881Deinit(struct HdfChipDriver *chipDriver, struct NetDevice *netDevice); -int32_t Hi3881Init(struct HdfChipDriver *chipDriver, struct NetDevice *netDevice); - -hi_void HiMac80211Init(struct HdfChipDriver *chipDriver); - -static const char * const HI3881_DRIVER_NAME = "hisi"; - -static struct HdfChipDriver *BuildHi3881Driver(struct HdfWlanDevice *device, uint8_t ifIndex) -{ - struct HdfChipDriver *specificDriver = NULL; - if (device == NULL) { - HDF_LOGE("%s fail : channel is NULL", __func__); - return NULL; - } - (void)device; - (void)ifIndex; - specificDriver = (struct HdfChipDriver *)OsalMemCalloc(sizeof(struct HdfChipDriver)); - if (specificDriver == NULL) { - HDF_LOGE("%s fail: OsalMemCalloc fail!", __func__); - return NULL; - } - if (memset_s(specificDriver, sizeof(struct HdfChipDriver), 0, sizeof(struct HdfChipDriver)) != EOK) { - HDF_LOGE("%s fail: memset_s fail!", __func__); - OsalMemFree(specificDriver); - return NULL; - } - - if (strcpy_s(specificDriver->name, MAX_WIFI_COMPONENT_NAME_LEN, HI3881_DRIVER_NAME) != EOK) { - HDF_LOGE("%s fail : strcpy_s fail", __func__); - OsalMemFree(specificDriver); - return NULL; - } - specificDriver->init = Hi3881Init; - specificDriver->deinit = Hi3881Deinit; - - HiMac80211Init(specificDriver); - - return specificDriver; -} - -static void ReleaseHi3881Driver(struct HdfChipDriver *chipDriver) -{ - if (chipDriver == NULL) { - return; - } - if (strcmp(chipDriver->name, HI3881_DRIVER_NAME) != 0) { - HDF_LOGE("%s:Not my driver!", __func__); - return; - } - OsalMemFree(chipDriver); -} - -static uint8_t GetHi3881GetMaxIFCount(struct HdfChipDriverFactory *factory) -{ - (void)factory; - return 1; -} - -/* hi3881's register */ -static int32_t HDFWlanRegHisiDriverFactory(void) -{ - static struct HdfChipDriverFactory tmpFactory = { 0 }; - struct HdfChipDriverManager *driverMgr = NULL; - driverMgr = HdfWlanGetChipDriverMgr(); - if (driverMgr == NULL) { - HDF_LOGE("%s fail: driverMgr is NULL!", __func__); - return HDF_FAILURE; - } - tmpFactory.driverName = HI3881_DRIVER_NAME; - tmpFactory.GetMaxIFCount = GetHi3881GetMaxIFCount; - tmpFactory.InitChip = InitHi3881Chip; - tmpFactory.DeinitChip = DeinitHi3881Chip; - tmpFactory.Build = BuildHi3881Driver; - tmpFactory.Release = ReleaseHi3881Driver; - tmpFactory.ReleaseFactory = NULL; - if (driverMgr->RegChipDriver(&tmpFactory) != HDF_SUCCESS) { - HDF_LOGE("%s fail: driverMgr is NULL!", __func__); - return HDF_FAILURE; - } - - return HDF_SUCCESS; -} - -static int32_t HdfWlanHisiChipDriverInit(struct HdfDeviceObject *device) -{ - (void)device; - return HDFWlanRegHisiDriverFactory(); -} - -static int HdfWlanHisiDriverBind(struct HdfDeviceObject *dev) -{ - (void)dev; - return HDF_SUCCESS; -} - -static void HdfWlanHisiChipRelease(struct HdfDeviceObject *object) -{ - (void)object; -} - -struct HdfDriverEntry g_hdfHisiChipEntry = { - .moduleVersion = 1, - .Bind = - .Init = - .Release = - .moduleName = "HDF_WLAN_CHIPS" -}; - -HDF_INIT(g_hdfHisiChipEntry); +/* + * Copyright (C) 2021 HiSilicon (Shanghai) Technologies CO., LIMITED. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ +#include "hdf_device_desc.h" +#include "hdf_wifi_product.h" +#include "hdf_log.h" +#include "osal_mem.h" +#include "hdf_wlan_chipdriver_manager.h" +#include "securec.h" +#include "wifi_module.h" +#include "hi_wifi_api.h" +#include "hi_types_base.h" + +#define HDF_LOG_TAG Hi3881Driver + +int32_t InitHi3881Chip(struct HdfWlanDevice *device); +int32_t DeinitHi3881Chip(struct HdfWlanDevice *device); +int32_t Hi3881Deinit(struct HdfChipDriver *chipDriver, struct NetDevice *netDevice); +int32_t Hi3881Init(struct HdfChipDriver *chipDriver, struct NetDevice *netDevice); + +hi_void HiMac80211Init(struct HdfChipDriver *chipDriver); + +static const char * const HI3881_DRIVER_NAME = "hisi"; + +static struct HdfChipDriver *BuildHi3881Driver(struct HdfWlanDevice *device, uint8_t ifIndex) +{ + struct HdfChipDriver *specificDriver = NULL; + if (device == NULL) { + HDF_LOGE("%s fail : channel is NULL", __func__); + return NULL; + } + (void)device; + (void)ifIndex; + specificDriver = (struct HdfChipDriver *)OsalMemCalloc(sizeof(struct HdfChipDriver)); + if (specificDriver == NULL) { + HDF_LOGE("%s fail: OsalMemCalloc fail!", __func__); + return NULL; + } + if (memset_s(specificDriver, sizeof(struct HdfChipDriver), 0, sizeof(struct HdfChipDriver)) != EOK) { + HDF_LOGE("%s fail: memset_s fail!", __func__); + OsalMemFree(specificDriver); + return NULL; + } + + if (strcpy_s(specificDriver->name, MAX_WIFI_COMPONENT_NAME_LEN, HI3881_DRIVER_NAME) != EOK) { + HDF_LOGE("%s fail : strcpy_s fail", __func__); + OsalMemFree(specificDriver); + return NULL; + } + specificDriver->init = Hi3881Init; + specificDriver->deinit = Hi3881Deinit; + + HiMac80211Init(specificDriver); + + return specificDriver; +} + +static void ReleaseHi3881Driver(struct HdfChipDriver *chipDriver) +{ + if (chipDriver == NULL) { + return; + } + if (strcmp(chipDriver->name, HI3881_DRIVER_NAME) != 0) { + HDF_LOGE("%s:Not my driver!", __func__); + return; + } + OsalMemFree(chipDriver); +} + +static uint8_t GetHi3881GetMaxIFCount(struct HdfChipDriverFactory *factory) +{ + (void)factory; + return 1; +} + +/* hi3881's register */ +static int32_t HDFWlanRegHisiDriverFactory(void) +{ + static struct HdfChipDriverFactory tmpFactory = { 0 }; + struct HdfChipDriverManager *driverMgr = NULL; + driverMgr = HdfWlanGetChipDriverMgr(); + if (driverMgr == NULL) { + HDF_LOGE("%s fail: driverMgr is NULL!", __func__); + return HDF_FAILURE; + } + tmpFactory.driverName = HI3881_DRIVER_NAME; + tmpFactory.GetMaxIFCount = GetHi3881GetMaxIFCount; + tmpFactory.InitChip = InitHi3881Chip; + tmpFactory.DeinitChip = DeinitHi3881Chip; + tmpFactory.Build = BuildHi3881Driver; + tmpFactory.Release = ReleaseHi3881Driver; + tmpFactory.ReleaseFactory = NULL; + if (driverMgr->RegChipDriver(&tmpFactory) != HDF_SUCCESS) { + HDF_LOGE("%s fail: driverMgr is NULL!", __func__); + return HDF_FAILURE; + } + + return HDF_SUCCESS; +} + +static int32_t HdfWlanHisiChipDriverInit(struct HdfDeviceObject *device) +{ + (void)device; + return HDFWlanRegHisiDriverFactory(); +} + +static int HdfWlanHisiDriverBind(struct HdfDeviceObject *dev) +{ + (void)dev; + return HDF_SUCCESS; +} + +static void HdfWlanHisiChipRelease(struct HdfDeviceObject *object) +{ + (void)object; +} + +struct HdfDriverEntry g_hdfHisiChipEntry = { + .moduleVersion = 1, + .Bind = + .Init = + .Release = + .moduleName = "HDF_WLAN_CHIPS" +}; + +HDF_INIT(g_hdfHisiChipEntry); diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hdfadapt/hdfinit_3881.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hdfadapt/hdfinit_3881.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hdfadapt/hdfinit_3881.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hdfadapt/hdfinit_3881.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hdfadapt/net_adpater.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hdfadapt/net_adpater.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hdfadapt/net_adpater.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hdfadapt/net_adpater.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hdfadapt/net_adpater.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hdfadapt/net_adpater.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hdfadapt/net_adpater.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/hdfadapt/net_adpater.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_atomic.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_atomic.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_atomic.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_atomic.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_config.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_config.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_config.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_config.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_errno.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_errno.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_errno.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_errno.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_event.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_event.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_event.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_event.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_isr.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_isr.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_isr.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_isr.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_list.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_list.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_list.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_list.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_stdlib.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_stdlib.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_stdlib.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_stdlib.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_task.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_task.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_task.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_task.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_time.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_time.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_time.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_time.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_types.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_types.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_types.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_types.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_types_base.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_types_base.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_types_base.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_types_base.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_wifi_api.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_wifi_api.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_wifi_api.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_wifi_api.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_wifi_csi_api.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_wifi_csi_api.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_wifi_csi_api.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_wifi_csi_api.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_wifi_mfg_test_if.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_wifi_mfg_test_if.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_wifi_mfg_test_if.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/include/hi_wifi_mfg_test_if.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/linuxkpi/include/linux/device.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/linuxkpi/include/linux/device.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/linuxkpi/include/linux/device.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/linuxkpi/include/linux/device.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/linuxkpi/include/linux/platform_device.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/linuxkpi/include/linux/platform_device.h similarity index 97% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/linuxkpi/include/linux/platform_device.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/linuxkpi/include/linux/platform_device.h index 1759f68a2103c394ebe9b5e13d89e41f067d75b7..24986229589c52a2482c02d74974d6d1140aaca5 100644 --- a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/linuxkpi/include/linux/platform_device.h +++ b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/linuxkpi/include/linux/platform_device.h @@ -1,209 +1,209 @@ -/* - * Copyright (C) 2021 HiSilicon (Shanghai) Technologies CO., LIMITED. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ - -#ifndef __LINUX_PLATFORM_DEVICE_H__ -#define __LINUX_PLATFORM_DEVICE_H__ - -#include "linux/device.h" - -#ifdef __cplusplus -#if __cplusplus -extern "C" { -#endif /* __cplusplus */ -#endif /* __cplusplus */ - -#define IORESOURCE_IO 0x00000100 /* PCI/ISA I/O ports */ -#define IORESOURCE_MEM 0x00000200 -#define IORESOURCE_REG 0x00000300 /* Register offsets */ -#define IORESOURCE_IRQ 0x00000400 -#define IORESOURCE_DMA 0x00000800 -#define IORESOURCE_BUS 0x00001000 - -typedef uintptr_t resource_size_t; - -struct resource { - resource_size_t start; - resource_size_t end; - const char *name; - unsigned long flags; - unsigned long desc; - struct resource *parent, *sibling, *child; -}; - -/* * - * @ingroup los_drivers - * Define the structure of the parameters used for platform device creation. - */ -struct platform_device { - const char *name; - struct device dev; - int id; - UINT32 num_resources; - struct resource *resource; -}; - -struct pm_message_t { - int event; -}; - -/* * - * @ingroup los_drivers - * Define the structure of the parameters used for platform driver creation. - */ -struct platform_driver { - int (*probe)(struct platform_device *); - int (*remove)(struct platform_device *); - void (*shutdown)(struct platform_device *); - int (*suspend)(struct platform_device *); - int (*resume)(struct platform_device *); - struct device_driver driver; -}; - -/* * - * @ingroup los_drivers - * @brief register a platform_driver to platform bus. - * - * @par Description: - *
    - *
  • This API is used to register a platform_driver to platform bus.
  • - *
- * @attention - *
    - *
  • The platform bus system is a soft bus that is used to deal the host device and driver.
  • - *
  • The same bus node can not be registered twice.
  • - *
- * - * @param drv [IN]A point to platform_driver. - * - * @retval #LOS_ERRNO_DRIVER_INPUT_INVALID Invalid input.drv and drv.driver->name can not be NULL. - * @retval #LOS_ERRNO_DRIVER_DRIVER_REGISTERED Driver register twice. - * @retval #LOS_ERRNO_DRIVER_BUS_MUX_FAIL Mux create failed. - * @retval #LOS_ERRNO_DRIVER_BUS_INVALID Bus is not in system. - * @retval #LOS_ERRNO_DRIVER_BUS_MATCH_FAIL Do match failed. - * @retval #LOS_ERRNO_DRIVER_BUS_PROBE_FAIL Do probe failed. - * @retval #LOS_OK The platform_driver register success. - * @par Dependency: - *
  • platform_device.h: the header file that contains the API declaration.
- */ -extern UINT32 platform_driver_register(struct platform_driver *drv); - -/* * - * @ingroup los_drivers - * @brief unregister a platform_driver from the platform bus. - * - * @par Description: - *
    - *
  • This API is used to unregister a platform_driver from the platform bus.
  • - *
- * - * @param drv [IN]A point to platform_driver. drv/drv->name/drv->bus can not be NULL. - * - * @retval #LOS_ERRNO_DRIVER_INPUT_INVALID Invalid input.drv and drv.driver->name can not be NULL. - * @retval #LOS_ERRNO_DRIVER_DRIVER_NOTFOUND Driver not found. - * @retval #LOS_ERRNO_DRIVER_BUS_INVALID Bus is not in system. - * @retval #LOS_ERRNO_DRIVER_DEVICE_BUSY Device busy. - * @retval #LOS_OK The platform_driver unregister success. - * @par Dependency: - *
  • platform_device.h: the header file that contains the API declaration.
- */ -extern UINT32 platform_driver_unregister(struct platform_driver *drv); - -/* * - * @ingroup los_drivers - * @brief register a platform_device to platform bus. - * - * @par Description: - *
    - *
  • This API is used to register a platform_device to platform bus.
  • - *
- * @attention - *
    - *
  • The same platform_device node can not be registered twice.
  • - *
- * - * @param dev [IN] A point to platform_device. num_resources can not bigger than the count of resource_array. - * - * @retval #LOS_ERRNO_DRIVER_INPUT_INVALID Invalid input.pdev and pdev->name can not be NULL. - * @retval #LOS_ERRNO_DRIVER_DEVICE_REGISTERED Device register twice. - * @retval #LOS_ERRNO_DRIVER_DEVICE_INITIALFAIL Mux create failed. - * @retval #LOS_ERRNO_DRIVER_DEVICE_BOUNDED Do attach failed.device has bounded. - * @retval #LOS_ERRNO_DRIVER_BUS_MATCH_FAIL Do match failed. - * @retval #LOS_ERRNO_DRIVER_BUS_PROBE_FAIL Do probe failed. - * @retval #LOS_OK The platform_device register success. - * @par Dependency: - *
  • platform_device.h: the header file that contains the API declaration.
- */ -extern UINT32 platform_device_register(struct platform_device *dev); - -/* * - * @ingroup los_drivers - * @brief unregister a platform_device from the platform bus. - * - * @par Description: - *
    - *
  • This API is used to unregister a platform_device from the platform bus.
  • - *
- * - * @param dev [IN]A point to platform_device.If dev is NULL,this function will do nothing. - * - * @par Dependency: - *
  • platform_device.h: the header file that contains the API declaration.
- */ -extern VOID platform_device_unregister(struct platform_device *dev); - -extern UINT32 platform_device_add(struct platform_device *dev); - -extern struct resource *platform_get_resource(struct platform_device *, unsigned int, unsigned int); -extern struct resource *platform_get_resource_byname(struct platform_device *, unsigned int, const char *); -extern long platform_get_irq(struct platform_device *, unsigned int); - -extern VOID *platform_ioremap_resource(struct resource *res); - -#define to_platform_driver(drv) (container_of((drv), struct platform_driver, driver)) -#define to_platform_device(x) container_of((x), struct platform_device, dev) - -STATIC INLINE resource_size_t resource_size(const struct resource *res) -{ - return res->end - res->start + 1; -} - -STATIC INLINE VOID *platform_get_drvdata(const struct platform_device *dev) -{ - if (dev == NULL) { - PRINT_WARN("platform_get_drvdata :the input dev is NULL!\n"); - return NULL; - } - return dev_get_drvdata(&dev->dev); -} - -STATIC INLINE VOID platform_set_drvdata(struct platform_device *dev, VOID *data) -{ - if (dev == NULL) { - PRINT_WARN("platform_set_drvdata :the input dev is NULL!\n"); - return; - } - dev_set_drvdata(&dev->dev, data); -} - -#ifdef __cplusplus -#if __cplusplus -} -#endif /* __cplusplus */ -#endif /* __cplusplus */ - -#endif +/* + * Copyright (C) 2021 HiSilicon (Shanghai) Technologies CO., LIMITED. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __LINUX_PLATFORM_DEVICE_H__ +#define __LINUX_PLATFORM_DEVICE_H__ + +#include "linux/device.h" + +#ifdef __cplusplus +#if __cplusplus +extern "C" { +#endif /* __cplusplus */ +#endif /* __cplusplus */ + +#define IORESOURCE_IO 0x00000100 /* PCI/ISA I/O ports */ +#define IORESOURCE_MEM 0x00000200 +#define IORESOURCE_REG 0x00000300 /* Register offsets */ +#define IORESOURCE_IRQ 0x00000400 +#define IORESOURCE_DMA 0x00000800 +#define IORESOURCE_BUS 0x00001000 + +typedef uintptr_t resource_size_t; + +struct resource { + resource_size_t start; + resource_size_t end; + const char *name; + unsigned long flags; + unsigned long desc; + struct resource *parent, *sibling, *child; +}; + +/* * + * @ingroup los_drivers + * Define the structure of the parameters used for platform device creation. + */ +struct platform_device { + const char *name; + struct device dev; + int id; + UINT32 num_resources; + struct resource *resource; +}; + +struct pm_message_t { + int event; +}; + +/* * + * @ingroup los_drivers + * Define the structure of the parameters used for platform driver creation. + */ +struct platform_driver { + int (*probe)(struct platform_device *); + int (*remove)(struct platform_device *); + void (*shutdown)(struct platform_device *); + int (*suspend)(struct platform_device *); + int (*resume)(struct platform_device *); + struct device_driver driver; +}; + +/* * + * @ingroup los_drivers + * @brief register a platform_driver to platform bus. + * + * @par Description: + *
    + *
  • This API is used to register a platform_driver to platform bus.
  • + *
+ * @attention + *
    + *
  • The platform bus system is a soft bus that is used to deal the host device and driver.
  • + *
  • The same bus node can not be registered twice.
  • + *
+ * + * @param drv [IN]A point to platform_driver. + * + * @retval #LOS_ERRNO_DRIVER_INPUT_INVALID Invalid input.drv and drv.driver->name can not be NULL. + * @retval #LOS_ERRNO_DRIVER_DRIVER_REGISTERED Driver register twice. + * @retval #LOS_ERRNO_DRIVER_BUS_MUX_FAIL Mux create failed. + * @retval #LOS_ERRNO_DRIVER_BUS_INVALID Bus is not in system. + * @retval #LOS_ERRNO_DRIVER_BUS_MATCH_FAIL Do match failed. + * @retval #LOS_ERRNO_DRIVER_BUS_PROBE_FAIL Do probe failed. + * @retval #LOS_OK The platform_driver register success. + * @par Dependency: + *
  • platform_device.h: the header file that contains the API declaration.
+ */ +extern UINT32 platform_driver_register(struct platform_driver *drv); + +/* * + * @ingroup los_drivers + * @brief unregister a platform_driver from the platform bus. + * + * @par Description: + *
    + *
  • This API is used to unregister a platform_driver from the platform bus.
  • + *
+ * + * @param drv [IN]A point to platform_driver. drv/drv->name/drv->bus can not be NULL. + * + * @retval #LOS_ERRNO_DRIVER_INPUT_INVALID Invalid input.drv and drv.driver->name can not be NULL. + * @retval #LOS_ERRNO_DRIVER_DRIVER_NOTFOUND Driver not found. + * @retval #LOS_ERRNO_DRIVER_BUS_INVALID Bus is not in system. + * @retval #LOS_ERRNO_DRIVER_DEVICE_BUSY Device busy. + * @retval #LOS_OK The platform_driver unregister success. + * @par Dependency: + *
  • platform_device.h: the header file that contains the API declaration.
+ */ +extern UINT32 platform_driver_unregister(struct platform_driver *drv); + +/* * + * @ingroup los_drivers + * @brief register a platform_device to platform bus. + * + * @par Description: + *
    + *
  • This API is used to register a platform_device to platform bus.
  • + *
+ * @attention + *
    + *
  • The same platform_device node can not be registered twice.
  • + *
+ * + * @param dev [IN] A point to platform_device. num_resources can not bigger than the count of resource_array. + * + * @retval #LOS_ERRNO_DRIVER_INPUT_INVALID Invalid input.pdev and pdev->name can not be NULL. + * @retval #LOS_ERRNO_DRIVER_DEVICE_REGISTERED Device register twice. + * @retval #LOS_ERRNO_DRIVER_DEVICE_INITIALFAIL Mux create failed. + * @retval #LOS_ERRNO_DRIVER_DEVICE_BOUNDED Do attach failed.device has bounded. + * @retval #LOS_ERRNO_DRIVER_BUS_MATCH_FAIL Do match failed. + * @retval #LOS_ERRNO_DRIVER_BUS_PROBE_FAIL Do probe failed. + * @retval #LOS_OK The platform_device register success. + * @par Dependency: + *
  • platform_device.h: the header file that contains the API declaration.
+ */ +extern UINT32 platform_device_register(struct platform_device *dev); + +/* * + * @ingroup los_drivers + * @brief unregister a platform_device from the platform bus. + * + * @par Description: + *
    + *
  • This API is used to unregister a platform_device from the platform bus.
  • + *
+ * + * @param dev [IN]A point to platform_device.If dev is NULL,this function will do nothing. + * + * @par Dependency: + *
  • platform_device.h: the header file that contains the API declaration.
+ */ +extern VOID platform_device_unregister(struct platform_device *dev); + +extern UINT32 platform_device_add(struct platform_device *dev); + +extern struct resource *platform_get_resource(struct platform_device *, unsigned int, unsigned int); +extern struct resource *platform_get_resource_byname(struct platform_device *, unsigned int, const char *); +extern long platform_get_irq(struct platform_device *, unsigned int); + +extern VOID *platform_ioremap_resource(struct resource *res); + +#define to_platform_driver(drv) (container_of((drv), struct platform_driver, driver)) +#define to_platform_device(x) container_of((x), struct platform_device, dev) + +STATIC INLINE resource_size_t resource_size(const struct resource *res) +{ + return res->end - res->start + 1; +} + +STATIC INLINE VOID *platform_get_drvdata(const struct platform_device *dev) +{ + if (dev == NULL) { + PRINT_WARN("platform_get_drvdata :the input dev is NULL!\n"); + return NULL; + } + return dev_get_drvdata(&dev->dev); +} + +STATIC INLINE VOID platform_set_drvdata(struct platform_device *dev, VOID *data) +{ + if (dev == NULL) { + PRINT_WARN("platform_set_drvdata :the input dev is NULL!\n"); + return; + } + dev_set_drvdata(&dev->dev, data); +} + +#ifdef __cplusplus +#if __cplusplus +} +#endif /* __cplusplus */ +#endif /* __cplusplus */ + +#endif diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/linuxkpi/include/linux/pm.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/linuxkpi/include/linux/pm.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/linuxkpi/include/linux/pm.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/linuxkpi/include/linux/pm.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_cfg.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_cfg.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_cfg.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_cfg.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_data.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_data.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_data.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_data.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_data.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_data.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_data.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_data.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_device.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_device.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_device.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_device.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_device.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_device.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_device.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_device.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_frame.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_frame.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_frame.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_frame.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_frame.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_frame.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_frame.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_frame.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_ie.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_ie.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_ie.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_ie.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_ie.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_ie.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_ie.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_ie.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_mib.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_mib.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_mib.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_mib.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_mib.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_mib.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_mib.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_mib.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_pm_driver.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_pm_driver.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_pm_driver.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_pm_driver.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_pm_driver.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_pm_driver.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_pm_driver.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_pm_driver.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_regdomain.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_regdomain.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_regdomain.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_regdomain.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_regdomain.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_regdomain.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_regdomain.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_regdomain.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_resource.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_resource.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_resource.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_resource.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_resource.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_resource.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_resource.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_resource.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_user.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_user.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_user.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_user.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_user.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_user.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_user.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_user.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_vap.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_vap.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_vap.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_vap.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_vap.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_vap.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_vap.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/common/mac_vap.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/dmac_ext_if.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/dmac_ext_if.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/dmac_ext_if.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/dmac_ext_if.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_11i.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_11i.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_11i.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_11i.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_11i.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_11i.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_11i.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_11i.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_blockack.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_blockack.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_blockack.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_blockack.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_blockack.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_blockack.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_blockack.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_blockack.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_cali_dpd.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_cali_dpd.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_cali_dpd.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_cali_dpd.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_cali_dpd.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_cali_dpd.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_cali_dpd.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_cali_dpd.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_chan_mgmt.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_chan_mgmt.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_chan_mgmt.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_chan_mgmt.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_chan_mgmt.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_chan_mgmt.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_chan_mgmt.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_chan_mgmt.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_config.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_config.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_config.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_config.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_config.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_config.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_config.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_config.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_crypto_tkip.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_crypto_tkip.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_crypto_tkip.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_crypto_tkip.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_crypto_tkip.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_crypto_tkip.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_crypto_tkip.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_crypto_tkip.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_device.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_device.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_device.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_device.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_device.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_device.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_device.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_device.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_edca_opt.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_edca_opt.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_edca_opt.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_edca_opt.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_edca_opt.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_edca_opt.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_edca_opt.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_edca_opt.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_encap_frame.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_encap_frame.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_encap_frame.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_encap_frame.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_encap_frame.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_encap_frame.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_encap_frame.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_encap_frame.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_encap_frame_ap.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_encap_frame_ap.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_encap_frame_ap.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_encap_frame_ap.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_encap_frame_ap.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_encap_frame_ap.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_encap_frame_ap.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_encap_frame_ap.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_encap_frame_sta.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_encap_frame_sta.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_encap_frame_sta.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_encap_frame_sta.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_encap_frame_sta.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_encap_frame_sta.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_encap_frame_sta.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_encap_frame_sta.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_event.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_event.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_event.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_event.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_event.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_event.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_event.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_event.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_ext_if.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_ext_if.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_ext_if.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_ext_if.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_frag.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_frag.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_frag.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_frag.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_frag.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_frag.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_frag.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_frag.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_fsm.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_fsm.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_fsm.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_fsm.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_fsm.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_fsm.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_fsm.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_fsm.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_main.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_main.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_main.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_main.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_main.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_main.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_main.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_main.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_mgmt_ap.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_mgmt_ap.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_mgmt_ap.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_mgmt_ap.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_mgmt_ap.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_mgmt_ap.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_mgmt_ap.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_mgmt_ap.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_mgmt_bss_comm.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_mgmt_bss_comm.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_mgmt_bss_comm.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_mgmt_bss_comm.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_mgmt_bss_comm.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_mgmt_bss_comm.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_mgmt_bss_comm.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_mgmt_bss_comm.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_mgmt_classifier.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_mgmt_classifier.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_mgmt_classifier.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_mgmt_classifier.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_mgmt_classifier.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_mgmt_classifier.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_mgmt_classifier.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_mgmt_classifier.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_mgmt_sta.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_mgmt_sta.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_mgmt_sta.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_mgmt_sta.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_mgmt_sta.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_mgmt_sta.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_mgmt_sta.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_mgmt_sta.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_p2p.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_p2p.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_p2p.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_p2p.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_p2p.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_p2p.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_p2p.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_p2p.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_protection.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_protection.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_protection.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_protection.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_protection.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_protection.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_protection.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_protection.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_rx_data.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_rx_data.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_rx_data.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_rx_data.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_rx_data.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_rx_data.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_rx_data.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_rx_data.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_rx_filter.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_rx_filter.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_rx_filter.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_rx_filter.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_rx_filter.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_rx_filter.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_rx_filter.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_rx_filter.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_scan.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_scan.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_scan.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_scan.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_scan.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_scan.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_scan.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_scan.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_sme_sta.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_sme_sta.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_sme_sta.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_sme_sta.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_sme_sta.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_sme_sta.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_sme_sta.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_sme_sta.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_traffic_classify.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_traffic_classify.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_traffic_classify.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_traffic_classify.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_traffic_classify.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_traffic_classify.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_traffic_classify.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_traffic_classify.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_tx_data.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_tx_data.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_tx_data.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_tx_data.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_tx_data.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_tx_data.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_tx_data.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_tx_data.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_uapsd.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_uapsd.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_uapsd.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_uapsd.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_uapsd.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_uapsd.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_uapsd.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_uapsd.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_user.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_user.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_user.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_user.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_user.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_user.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_user.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_user.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_vap.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_vap.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_vap.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_vap.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_vap.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_vap.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_vap.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_vap.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_wapi.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_wapi.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_wapi.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_wapi.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_wapi.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_wapi.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_wapi.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_wapi.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_wapi_sms4.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_wapi_sms4.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_wapi_sms4.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_wapi_sms4.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_wapi_sms4.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_wapi_sms4.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_wapi_sms4.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_wapi_sms4.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_wapi_wpi.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_wapi_wpi.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_wapi_wpi.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_wapi_wpi.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_wapi_wpi.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_wapi_wpi.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_wapi_wpi.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_wapi_wpi.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_wow.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_wow.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_wow.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_wow.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_wow.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_wow.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_wow.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/mac/hmac/hmac_wow.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/exception_rst.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/exception_rst.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/exception_rst.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/exception_rst.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/exception_rst.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/exception_rst.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/exception_rst.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/exception_rst.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/hi_event.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/hi_event.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/hi_event.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/hi_event.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/hi_isr.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/hi_isr.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/hi_isr.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/hi_isr.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/hi_task.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/hi_task.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/hi_task.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/hi_task.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/hi_time.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/hi_time.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/hi_time.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/hi_time.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_atomic.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_atomic.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_atomic.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_atomic.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_cfg80211.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_cfg80211.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_cfg80211.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_cfg80211.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_cfg80211.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_cfg80211.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_cfg80211.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_cfg80211.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_channel_host_if.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_channel_host_if.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_channel_host_if.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_channel_host_if.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_chr.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_chr.c similarity index 96% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_chr.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_chr.c index 3a157363e96f4e844846a4c6345f42ac28bbd65f..875b3ce214ab0fb6d841e1b8eb96c0a096196709 100644 --- a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_chr.c +++ b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_chr.c @@ -1,164 +1,164 @@ -/* - * Copyright (C) 2021 HiSilicon (Shanghai) Technologies CO., LIMITED. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -#include "oal_chr.h" -#include "oam_ext_if.h" -#if (_PRE_OS_VERSION_LINUX == _PRE_OS_VERSION) -#include "linux/miscdevice.h" -#include "oal_wait.h" -#include "oal_mutex.h" -#endif - - -#ifdef __cplusplus -#if __cplusplus -extern "C" { -#endif -#endif - -#if (_PRE_OS_VERSION_LINUX == _PRE_OS_VERSION) -hi_wifi_driver_event g_driver_event = UNKNOWN; -static atomic_t g_hisi_chardev_available = ATOMIC_INIT(1); -#define DEVNAME "hisi_wifi" -static hi_u8 g_driver_exit = HI_FALSE; -oal_wait_queue_head_stru g_read_wait_queue; -#define DEV_EXIT 0 - -hi_u32 hisi_sched_event(hi_wifi_driver_event event) -{ - if (atomic_read(&g_hisi_chardev_available) != 0) { - oam_warning_log0(0, OAM_SF_ANY, "device is not open!\n"); - return HI_FAIL; - } - g_driver_event = event; - hi_wait_queue_wake_up_interrupt(&g_read_wait_queue); - return HI_SUCCESS; -} - -static ssize_t hisi_read(struct file *file, char __user *buffer, size_t length, loff_t *offset) -{ - ssize_t copied = 0; - if (length < sizeof(hi_wifi_driver_event)) { - oam_warning_log0(0, OAM_SF_ANY, "hisi_read parameter error\n"); - return -EINVAL; - } - - hi_wait_event_interruptible(g_read_wait_queue, (g_driver_event != UNKNOWN || g_driver_exit == HI_TRUE)); - - if (g_driver_exit) { - return -EINVAL; - } - - copied = sizeof(hi_wifi_driver_event); - copied -= copy_to_user(buffer, (hi_u8 *)&g_driver_event, copied); - g_driver_event = UNKNOWN; - return copied; -} - -static int hisi_release(struct inode *inode, struct file *file) -{ - printk("hisi_release\n"); - atomic_inc(&g_hisi_chardev_available); - return 0; -} - -static long hisi_ioctl(struct file *filp, unsigned int command, unsigned long arg) -{ - int ret = 0; - switch (command) { - case DEV_EXIT: { - g_driver_exit = HI_TRUE; - hi_wait_queue_wake_up_interrupt(&g_read_wait_queue); - break; - } - default: - ret = -EINVAL; - break; - } - return ret; -} - -static int hisi_open(struct inode *inode, struct file *file) -{ - int err = 0; - if (!atomic_dec_and_test(&g_hisi_chardev_available)) { - err = -EBUSY; - } - - if (err) { - atomic_inc(&g_hisi_chardev_available); - } - hi_wait_queue_init_head(&g_read_wait_queue); - g_driver_exit = HI_FALSE; - return err; -} - -static struct file_operations hisi_fops = { - .owner = THIS_MODULE, - .read = hisi_read, - .open = hisi_open, - .unlocked_ioctl = hisi_ioctl, - .release = hisi_release, -}; - -static struct miscdevice hisi_device = { - .minor = MISC_DYNAMIC_MINOR, - .name = DEVNAME, - .fops = &hisi_fops, - .nodename = DEVNAME -}; - -hi_u32 oal_register_ioctl(hi_void) -{ - if (misc_register(&hisi_device)) { - return HI_FAIL; - } - return HI_SUCCESS; -} - -#else -static hi_wifi_driver_event_cb g_fuc_callback = HI_NULL; - -hi_u32 hisi_sched_event(hi_wifi_driver_event event) -{ - if (g_fuc_callback == HI_NULL) { - return HI_FAIL; - } - return g_fuc_callback(event); -} - -hi_u32 oal_register_ioctl(hi_wifi_driver_event_cb event_cb) -{ - g_fuc_callback = event_cb; - return HI_SUCCESS; -} -#endif - -hi_void oal_unregister_ioctl(hi_void) -{ -#if (_PRE_OS_VERSION_LINUX == _PRE_OS_VERSION) - misc_deregister(&hisi_device); -#else - g_fuc_callback = HI_NULL; -#endif -} - -#ifdef __cplusplus -#if __cplusplus -} -#endif -#endif +/* + * Copyright (C) 2021 HiSilicon (Shanghai) Technologies CO., LIMITED. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ +#include "oal_chr.h" +#include "oam_ext_if.h" +#if (_PRE_OS_VERSION_LINUX == _PRE_OS_VERSION) +#include "linux/miscdevice.h" +#include "oal_wait.h" +#include "oal_mutex.h" +#endif + + +#ifdef __cplusplus +#if __cplusplus +extern "C" { +#endif +#endif + +#if (_PRE_OS_VERSION_LINUX == _PRE_OS_VERSION) +hi_wifi_driver_event g_driver_event = UNKNOWN; +static atomic_t g_hisi_chardev_available = ATOMIC_INIT(1); +#define DEVNAME "hisi_wifi" +static hi_u8 g_driver_exit = HI_FALSE; +oal_wait_queue_head_stru g_read_wait_queue; +#define DEV_EXIT 0 + +hi_u32 hisi_sched_event(hi_wifi_driver_event event) +{ + if (atomic_read(&g_hisi_chardev_available) != 0) { + oam_warning_log0(0, OAM_SF_ANY, "device is not open!\n"); + return HI_FAIL; + } + g_driver_event = event; + hi_wait_queue_wake_up_interrupt(&g_read_wait_queue); + return HI_SUCCESS; +} + +static ssize_t hisi_read(struct file *file, char __user *buffer, size_t length, loff_t *offset) +{ + ssize_t copied = 0; + if (length < sizeof(hi_wifi_driver_event)) { + oam_warning_log0(0, OAM_SF_ANY, "hisi_read parameter error\n"); + return -EINVAL; + } + + hi_wait_event_interruptible(g_read_wait_queue, (g_driver_event != UNKNOWN || g_driver_exit == HI_TRUE)); + + if (g_driver_exit) { + return -EINVAL; + } + + copied = sizeof(hi_wifi_driver_event); + copied -= copy_to_user(buffer, (hi_u8 *)&g_driver_event, copied); + g_driver_event = UNKNOWN; + return copied; +} + +static int hisi_release(struct inode *inode, struct file *file) +{ + printk("hisi_release\n"); + atomic_inc(&g_hisi_chardev_available); + return 0; +} + +static long hisi_ioctl(struct file *filp, unsigned int command, unsigned long arg) +{ + int ret = 0; + switch (command) { + case DEV_EXIT: { + g_driver_exit = HI_TRUE; + hi_wait_queue_wake_up_interrupt(&g_read_wait_queue); + break; + } + default: + ret = -EINVAL; + break; + } + return ret; +} + +static int hisi_open(struct inode *inode, struct file *file) +{ + int err = 0; + if (!atomic_dec_and_test(&g_hisi_chardev_available)) { + err = -EBUSY; + } + + if (err) { + atomic_inc(&g_hisi_chardev_available); + } + hi_wait_queue_init_head(&g_read_wait_queue); + g_driver_exit = HI_FALSE; + return err; +} + +static struct file_operations hisi_fops = { + .owner = THIS_MODULE, + .read = hisi_read, + .open = hisi_open, + .unlocked_ioctl = hisi_ioctl, + .release = hisi_release, +}; + +static struct miscdevice hisi_device = { + .minor = MISC_DYNAMIC_MINOR, + .name = DEVNAME, + .fops = &hisi_fops, + .nodename = DEVNAME +}; + +hi_u32 oal_register_ioctl(hi_void) +{ + if (misc_register(&hisi_device)) { + return HI_FAIL; + } + return HI_SUCCESS; +} + +#else +static hi_wifi_driver_event_cb g_fuc_callback = HI_NULL; + +hi_u32 hisi_sched_event(hi_wifi_driver_event event) +{ + if (g_fuc_callback == HI_NULL) { + return HI_FAIL; + } + return g_fuc_callback(event); +} + +hi_u32 oal_register_ioctl(hi_wifi_driver_event_cb event_cb) +{ + g_fuc_callback = event_cb; + return HI_SUCCESS; +} +#endif + +hi_void oal_unregister_ioctl(hi_void) +{ +#if (_PRE_OS_VERSION_LINUX == _PRE_OS_VERSION) + misc_deregister(&hisi_device); +#else + g_fuc_callback = HI_NULL; +#endif +} + +#ifdef __cplusplus +#if __cplusplus +} +#endif +#endif diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_chr.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_chr.h similarity index 98% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_chr.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_chr.h index 657c2e0b8089aab6aaf60e6e71966079fb404104..2cfe0165ccba9f0581c7716e4c679f30ff31327f 100644 --- a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_chr.h +++ b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_chr.h @@ -1,7 +1,7 @@ -/* +/* * Copyright (C) 2021 HiSilicon (Shanghai) Technologies CO., LIMITED. * - * This program is free software; you can redistribute it and/or + * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. @@ -12,23 +12,23 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software + * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -#ifndef _OAL_CHR_H -#define _OAL_CHR_H -#include "oal_util.h" -#include "exception_rst.h" -#include "oal_err_wifi.h" -#include "hi_wifi_api.h" - -#if (_PRE_OS_VERSION_LINUX == _PRE_OS_VERSION) - -hi_u32 oal_register_ioctl(hi_void); - -#else -hi_u32 oal_register_ioctl(hi_wifi_driver_event_cb event_cb); -#endif -hi_void oal_unregister_ioctl(hi_void); -hi_u32 hisi_sched_event(hi_wifi_driver_event event); -#endif + */ +#ifndef _OAL_CHR_H +#define _OAL_CHR_H +#include "oal_util.h" +#include "exception_rst.h" +#include "oal_err_wifi.h" +#include "hi_wifi_api.h" + +#if (_PRE_OS_VERSION_LINUX == _PRE_OS_VERSION) + +hi_u32 oal_register_ioctl(hi_void); + +#else +hi_u32 oal_register_ioctl(hi_wifi_driver_event_cb event_cb); +#endif +hi_void oal_unregister_ioctl(hi_void); +hi_u32 hisi_sched_event(hi_wifi_driver_event event); +#endif diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_completion.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_completion.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_completion.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_completion.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_data_collect.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_data_collect.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_data_collect.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_data_collect.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_err_wifi.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_err_wifi.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_err_wifi.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_err_wifi.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_ext_if.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_ext_if.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_ext_if.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_ext_if.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_file.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_file.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_file.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_file.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_interrupt.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_interrupt.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_interrupt.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_interrupt.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_kernel_file.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_kernel_file.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_kernel_file.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_kernel_file.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_kernel_file.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_kernel_file.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_kernel_file.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_kernel_file.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_main.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_main.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_main.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_main.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_main.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_main.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_main.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_main.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_mem.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_mem.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_mem.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_mem.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_mem.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_mem.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_mem.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_mem.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_mm.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_mm.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_mm.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_mm.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_mutex.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_mutex.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_mutex.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_mutex.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_net.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_net.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_net.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_net.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_net.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_net.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_net.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_net.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_netbuf.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_netbuf.h similarity index 97% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_netbuf.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_netbuf.h index 75117ae8ccb5d57946460f1f1d02feb2ebef7332..23ffa4678ba1df3200c1d46427f81ebaa1c6aecb 100644 --- a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_netbuf.h +++ b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_netbuf.h @@ -1,306 +1,306 @@ -/* - * Copyright (C) 2021 HiSilicon (Shanghai) Technologies CO., LIMITED. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ - -#ifndef __OAL_LITEOS_NETBUFF_H__ -#define __OAL_LITEOS_NETBUFF_H__ - -#ifndef __KERNEL__ -#include -#endif -#include "hdf_netbuf.h" -#include "oal_err_wifi.h" -#include "oal_util.h" - -#define oal_init_netbuf_stru() -#define oal_malloc_netbuf_stru(size) -#define oal_free_netbuf_stru(p) - -#define oal_host2net_short(_x) htons(_x) -#define oal_net2host_short(_x) ntohs(_x) -#define oal_host2net_long(_x) htonl(_x) -#define oal_net2host_long(_x) ntohl(_x) -#define oal_high_half_byte(a) (((a) & 0xF0) >> 4) -#define oal_low_half_byte(a) ((a) & 0x0F) - -typedef uint32_t oal_gfp_enum_uint8; -typedef NetBuf oal_netbuf_stru; -typedef NetBufQueue oal_netbuf_head_stru; - -typedef struct oal_netbuf_stru_tag { - struct oal_netbuf_stru_tag *next; - uint8_t mem_state_flag; /* 内存块状态 */ - uint8_t subpool_id : 4; /* 记录所属子池id */ - uint8_t is_high_priority : 1; - uint8_t bit_resv : 3; - uint16_t us_index; -} oal_dev_netbuf_stru; - -typedef struct oal_ip_header { -#if (_PRE_LITTLE_CPU_ENDIAN == _PRE_CPU_ENDIAN) /* LITTLE_ENDIAN */ - uint8_t us_ihl: 4, - version_ihl: 4; -#else - uint8_t version_ihl: 4, - us_ihl: 4; -#endif - uint8_t tos; - uint16_t us_tot_len; - uint16_t us_id; - uint16_t us_frag_off; - uint8_t ttl; - uint8_t protocol; - uint16_t us_check; - uint32_t saddr; - uint32_t daddr; - /* The options start here */ -} oal_ip_header_stru; - -typedef struct oal_tcp_header { - uint16_t us_sport; - uint16_t us_dport; - uint32_t seqnum; - uint32_t acknum; - uint8_t offset; - uint8_t flags; - uint16_t us_window; - uint16_t us_check; - uint16_t us_urgent; -} oal_tcp_header_stru; - -#ifdef _PRE_WLAN_FEATURE_FLOWCTL -hi_void oal_netbuf_get_txtid(oal_netbuf_stru *netbuf, uint8_t *puc_tos); -#endif -hi_u8 oal_netbuf_is_tcp_ack(oal_ip_header_stru *ip_hdr); -hi_u8 oal_netbuf_is_icmp(const oal_ip_header_stru *ip_hdr); - - -#define oal_netbuf_list_num(q) NetBufQueueSize(q) -#define oal_netbuf_list_len(q) NetBufQueueSize(q) -#define oal_netbuf_list_empty(q) NetBufQueueIsEmpty(q) -#define oal_free_netbuf_list(q) NetBufQueueClear(q) - -#define oal_netbuf_queue_num(q) NetBufQueueSize(q) -#define OAL_NETBUF_QUEUE_TAIL(q, nb) NetBufQueueEnqueue(q, nb) -#define OAL_NETBUF_QUEUE_HEAD_INIT(q) NetBufQueueInit(q) -#define OAL_NETBUF_DEQUEUE(q) NetBufQueueDequeue(q) -#define oal_netbuf_head_init(q) NetBufQueueInit(q) -#define oal_netbuf_peek(q) NetBufQueueAtHead(q) -#define oal_netbuf_tail(q) NetBufQueueAtTail(q) -#define oal_netbuf_get_buf_num(q) NetBufQueueSize(q) - -#define oal_dev_alloc_skb(size) NetBufAlloc(size) -#define oal_netbuf_free(nb) NetBufFree(nb) -#define oal_netbuf_expand_head(nb, head, tail, mask) NetBufResizeRoom(nb, head, tail) -#define oal_netbuf_realloc_tailroom(nb, tail) (NetBufResizeRoom(nb, 0, tail) == 0 ? nb : NULL) -#define oal_netbuf_concat(nb, cnb) NetBufConcat(nb, cnb) - -#define oal_netbuf_list_head_init(q) NetBufQueueInit(q) -#define oal_netbuf_add_to_list_tail(nb, q) NetBufQueueEnqueue(q, nb) -#define oal_netbuf_addlist(q, nb) NetBufQueueEnqueueHead(q, nb) -#define oal_netbuf_delist(q) NetBufQueueDequeue(q) -#define oal_netbuf_delist_tail(q) NetBufQueueDequeueTail(q) -#define oal_netbuf_list_tail(q, nb) NetBufQueueEnqueue(q, nb) -#define oal_netbuf_list_purge(q) NetBufQueueClear(q) - - -#if (_PRE_OS_VERSION_LITEOS == _PRE_OS_VERSION) - -#ifdef _PRE_LWIP_ZERO_COPY -#define PBUF_ZERO_COPY_RESERVE 36 -oal_netbuf_stru *oal_pbuf_netbuf_alloc(uint32_t len); -#endif - -#define ETH_P_CONTROL 0x0016 /* Card specific control frames */ - -#define L1_CACHE_BYTES (1 << 5) -#define SKB_DATA_ALIGN(X) (((X) + (L1_CACHE_BYTES - 1)) & ~(L1_CACHE_BYTES - 1)) - -#ifndef NET_SKB_PAD -#define NET_SKB_PAD 64 // max(32, L1_CACHE_BYTES) -#endif - -#define oal_netbuf_next(nb) (nb->dlist.next == NULL ? NULL : CONTAINER_OF(nb->dlist.next, NetBuf, dlist)) -#define oal_netbuf_prev(nb) (nb->dlist.prev == NULL ? NULL : CONTAINER_OF(nb->dlist.prev, NetBuf, dlist)) -static inline void set_oal_netbuf_next(NetBuf *nb, NetBuf *new) -{ - (nb)->dlist.next = (new == NULL ? NULL : &new->dlist); -} - -static inline void set_oal_netbuf_prev(NetBuf *nb, NetBuf *new) -{ - (nb)->dlist.prev = (new == NULL ? NULL : &new->dlist); -} - -#define oal_netbuf_head_next(q) ((q)->dlist.next) -#define oal_netbuf_head_prev(q) ((q)->dlist.prev) - -#define oal_netbuf_set_protocol(nb, p) // ((nb)->protocol) -#define oal_netbuf_priority(nb) 0 // ((nb)->rsv[oal_netbuf_cb_size()-1]) -#define oal_netbuf_data(nb) NetBufGetAddress(nb, E_DATA_BUF) -#define oal_netbuf_header(nb) NetBufGetAddress(nb, E_DATA_BUF) -#define oal_netbuf_payload(nb) NetBufGetAddress(nb, E_DATA_BUF) -#define oal_netbuf_cb(nb) ((nb)->rsv) -#define oal_netbuf_cb_size() (sizeof(((NetBuf*)0)->rsv)) -#define oal_netbuf_len(nb) NetBufGetDataLen(nb) -#define OAL_NETBUF_TAIL(nb) NetBufGetAddress(nb, E_TAIL_BUF) - -#define oal_netbuf_put(nb, len) NetBufPush(nb, E_DATA_BUF, len) -#define oal_netbuf_push(nb, len) NetBufPop(nb, E_HEAD_BUF, len) -#define oal_netbuf_pull(nb, len) NetBufPush(nb, E_HEAD_BUF, len) -#define oal_netbuf_reserve(nb, l) do { \ - NetBufPop(nb, E_TAIL_BUF, l); \ - NetBufPop(nb, E_DATA_BUF, l); \ - } while(0) -#define oal_netbuf_get(nb) (nb) -#define oal_netbuf_unshare(nb) (nb) -#define oal_netbuf_headroom(nb) NetBufGetRoom(nb, E_HEAD_BUF) -#define oal_netbuf_tailroom(nb) NetBufGetRoom(nb, E_TAIL_BUF) - -#define oal_netbuf_trim(nb, l) if (nb->dataLen > l && nb->bufs[E_DATA_BUF].len > l) { \ - NetBufPush(nb, E_TAIL_BUF, l); \ - } -#define oal_netbuf_set_len(nb,l) if (nb->dataLen > l) { \ - NetBufPush(nb, E_TAIL_BUF, nb->dataLen - l); \ - } else { \ - NetBufPush(nb, E_DATA_BUF, (l - nb->dataLen)); \ - } - -#define oal_netbuf_list_next(nb) oal_netbuf_next(nb) -#define oal_netbuf_init(nb, len) oal_netbuf_set_len(nb, len) - -#define oal_netbuf_splice_init(add, q) NetBufQueueConcat(q, add) -#define oal_netbuf_copy_queue_mapping(to, from) -#define oal_skb_set_queue_mapping(nb, mapping) nb->qmap = mapping - -#define oal_skb_queue_walk_safe(q, nb, tmp) DLIST_FOR_EACH_ENTRY_SAFE(nb, tmp, &q->dlist, NetBuf, dlist) -#define oal_netbuf_append(q, nb, prev) do { \ - DListInsertHead(&nb->dlist, &prev->dlist); \ - (q)->size++; \ - } while(0) - -typedef struct pbuf oal_lwip_buf; - -#elif (_PRE_OS_VERSION_LINUX == _PRE_OS_VERSION) - -#define ETH_P_CONTROL 0x0016 /* Card specific control frames */ - -#define oal_netbuf_next(nb) ((nb)->next) -#define oal_netbuf_prev(nb) ((nb)->prev) -#define set_oal_netbuf_next(nb, new) ((nb)->next = new) -#define set_oal_netbuf_prev(nb, new) ((nb)->prev = new) - -#define oal_netbuf_head_next(q) ((q)->next) -#define oal_netbuf_head_prev(q) ((q)->prev) - -#define oal_netbuf_set_protocol(nb, p) ((nb)->protocol = p) -#define oal_netbuf_priority(nb) ((nb)->priority) -#define oal_netbuf_data(nb) ((nb)->data) -#define oal_netbuf_header(nb) ((nb)->data) -#define oal_netbuf_payload(nb) ((nb)->data) -#define oal_netbuf_cb(nb) (((nb)->cb)) -#define oal_netbuf_cb_size() (sizeof(((NetBuf*)0)->cb)) -#define oal_netbuf_len(nb) ((nb)->len) -#define OAL_NETBUF_TAIL(nb) skb_tail_pointer(nb) - - -#define oal_netbuf_put(nb, len) skb_put(nb, len) -#define oal_netbuf_push(nb, len) skb_push(nb, len) -#define oal_netbuf_pull(nb, len) skb_pull(nb, len) -#define oal_netbuf_reserve(nb, l) skb_reserve(nb,l) -#define oal_netbuf_get(nb) skb_get(nb) -#define oal_netbuf_unshare(nb, pri) skb_unshare(nb, pri) -#define oal_netbuf_headroom(nb) skb_headroom(nb) -#define oal_netbuf_tailroom(nb) skb_tailroom(nb) -#define oal_netbuf_trim(nb, l) skb_trim(nb, (nb->len - l)) -#define oal_netbuf_set_len(nb, l) if (nb->len > l) { \ - skb_trim(nb, l); \ - } else { \ - skb_put(nb, (l - nb->len)); \ - } - -#define oal_netbuf_list_next(nb) oal_netbuf_next(nb) -#define oal_netbuf_init(nb, len) oal_netbuf_set_len(nb,len) \ - nb->protocol = ETH_P_CONTROL; - -#define oal_netbuf_splice_init(from, to) skb_queue_splice_init(from, to) -#define oal_netbuf_copy_queue_mapping(to, from) skb_copy_queue_mapping(to, from) -#define oal_skb_set_queue_mapping(nb, mapping) skb_set_queue_mapping(nb, mapping) -#define oal_skb_queue_walk_safe(q, nb, tmp) skb_queue_walk_safe(q, nb, tmp) -#define oal_netbuf_append(q, nb, prev) __skb_queue_after(q, prev, nb) - -#endif - -static inline uint32_t oal_netbuf_get_appointed_netbuf(NetBuf *nb, uint8_t num, NetBuf **expect_netbuf) -{ - hi_u8 buf_num; - - if (oal_unlikely((nb == HI_NULL) || (expect_netbuf == HI_NULL))) { - return HI_ERR_CODE_PTR_NULL; - } - - *expect_netbuf = HI_NULL; - - for (buf_num = 0; buf_num < num; buf_num++) { - *expect_netbuf = oal_netbuf_next(nb); - - if (*expect_netbuf == HI_NULL) { - break; - } - - nb = *expect_netbuf; - } - - return HI_SUCCESS; -} - -static inline hi_u32 oal_netbuf_copydata(const oal_netbuf_stru *netbuf, hi_u32 offset, hi_void *dst, hi_u32 dst_len, - hi_u32 len) -{ - if (memcpy_s(dst, dst_len, oal_netbuf_data(netbuf) + offset, len) != EOK) { - return HI_FAIL; - } - - return HI_SUCCESS; -} - -static inline NetBuf *oal_netbuf_alloc(uint32_t size, uint32_t reserve, uint32_t align) -{ - NetBuf *nb = NULL; - - (void)align; - nb = NetBufAlloc(size + reserve + NET_SKB_PAD); - if (nb != NULL) { - oal_netbuf_reserve(nb, reserve + NET_SKB_PAD); - } - - return nb; -} - -static inline void oal_netbuf_splice_sync(oal_netbuf_head_stru *to, oal_netbuf_head_stru *from) -{ - NetBuf *nb = NULL; - - while (1) { - nb = NetBufQueueDequeueTail(from); - if (nb == NULL) - break; - NetBufQueueEnqueueHead(to, nb); - } -} - -#endif +/* + * Copyright (C) 2021 HiSilicon (Shanghai) Technologies CO., LIMITED. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __OAL_LITEOS_NETBUFF_H__ +#define __OAL_LITEOS_NETBUFF_H__ + +#ifndef __KERNEL__ +#include +#endif +#include "hdf_netbuf.h" +#include "oal_err_wifi.h" +#include "oal_util.h" + +#define oal_init_netbuf_stru() +#define oal_malloc_netbuf_stru(size) +#define oal_free_netbuf_stru(p) + +#define oal_host2net_short(_x) htons(_x) +#define oal_net2host_short(_x) ntohs(_x) +#define oal_host2net_long(_x) htonl(_x) +#define oal_net2host_long(_x) ntohl(_x) +#define oal_high_half_byte(a) (((a) & 0xF0) >> 4) +#define oal_low_half_byte(a) ((a) & 0x0F) + +typedef uint32_t oal_gfp_enum_uint8; +typedef NetBuf oal_netbuf_stru; +typedef NetBufQueue oal_netbuf_head_stru; + +typedef struct oal_netbuf_stru_tag { + struct oal_netbuf_stru_tag *next; + uint8_t mem_state_flag; /* 内存块状态 */ + uint8_t subpool_id : 4; /* 记录所属子池id */ + uint8_t is_high_priority : 1; + uint8_t bit_resv : 3; + uint16_t us_index; +} oal_dev_netbuf_stru; + +typedef struct oal_ip_header { +#if (_PRE_LITTLE_CPU_ENDIAN == _PRE_CPU_ENDIAN) /* LITTLE_ENDIAN */ + uint8_t us_ihl: 4, + version_ihl: 4; +#else + uint8_t version_ihl: 4, + us_ihl: 4; +#endif + uint8_t tos; + uint16_t us_tot_len; + uint16_t us_id; + uint16_t us_frag_off; + uint8_t ttl; + uint8_t protocol; + uint16_t us_check; + uint32_t saddr; + uint32_t daddr; + /* The options start here */ +} oal_ip_header_stru; + +typedef struct oal_tcp_header { + uint16_t us_sport; + uint16_t us_dport; + uint32_t seqnum; + uint32_t acknum; + uint8_t offset; + uint8_t flags; + uint16_t us_window; + uint16_t us_check; + uint16_t us_urgent; +} oal_tcp_header_stru; + +#ifdef _PRE_WLAN_FEATURE_FLOWCTL +hi_void oal_netbuf_get_txtid(oal_netbuf_stru *netbuf, uint8_t *puc_tos); +#endif +hi_u8 oal_netbuf_is_tcp_ack(oal_ip_header_stru *ip_hdr); +hi_u8 oal_netbuf_is_icmp(const oal_ip_header_stru *ip_hdr); + + +#define oal_netbuf_list_num(q) NetBufQueueSize(q) +#define oal_netbuf_list_len(q) NetBufQueueSize(q) +#define oal_netbuf_list_empty(q) NetBufQueueIsEmpty(q) +#define oal_free_netbuf_list(q) NetBufQueueClear(q) + +#define oal_netbuf_queue_num(q) NetBufQueueSize(q) +#define OAL_NETBUF_QUEUE_TAIL(q, nb) NetBufQueueEnqueue(q, nb) +#define OAL_NETBUF_QUEUE_HEAD_INIT(q) NetBufQueueInit(q) +#define OAL_NETBUF_DEQUEUE(q) NetBufQueueDequeue(q) +#define oal_netbuf_head_init(q) NetBufQueueInit(q) +#define oal_netbuf_peek(q) NetBufQueueAtHead(q) +#define oal_netbuf_tail(q) NetBufQueueAtTail(q) +#define oal_netbuf_get_buf_num(q) NetBufQueueSize(q) + +#define oal_dev_alloc_skb(size) NetBufAlloc(size) +#define oal_netbuf_free(nb) NetBufFree(nb) +#define oal_netbuf_expand_head(nb, head, tail, mask) NetBufResizeRoom(nb, head, tail) +#define oal_netbuf_realloc_tailroom(nb, tail) (NetBufResizeRoom(nb, 0, tail) == 0 ? nb : NULL) +#define oal_netbuf_concat(nb, cnb) NetBufConcat(nb, cnb) + +#define oal_netbuf_list_head_init(q) NetBufQueueInit(q) +#define oal_netbuf_add_to_list_tail(nb, q) NetBufQueueEnqueue(q, nb) +#define oal_netbuf_addlist(q, nb) NetBufQueueEnqueueHead(q, nb) +#define oal_netbuf_delist(q) NetBufQueueDequeue(q) +#define oal_netbuf_delist_tail(q) NetBufQueueDequeueTail(q) +#define oal_netbuf_list_tail(q, nb) NetBufQueueEnqueue(q, nb) +#define oal_netbuf_list_purge(q) NetBufQueueClear(q) + + +#if (_PRE_OS_VERSION_LITEOS == _PRE_OS_VERSION) + +#ifdef _PRE_LWIP_ZERO_COPY +#define PBUF_ZERO_COPY_RESERVE 36 +oal_netbuf_stru *oal_pbuf_netbuf_alloc(uint32_t len); +#endif + +#define ETH_P_CONTROL 0x0016 /* Card specific control frames */ + +#define L1_CACHE_BYTES (1 << 5) +#define SKB_DATA_ALIGN(X) (((X) + (L1_CACHE_BYTES - 1)) & ~(L1_CACHE_BYTES - 1)) + +#ifndef NET_SKB_PAD +#define NET_SKB_PAD 64 // max(32, L1_CACHE_BYTES) +#endif + +#define oal_netbuf_next(nb) (nb->dlist.next == NULL ? NULL : CONTAINER_OF(nb->dlist.next, NetBuf, dlist)) +#define oal_netbuf_prev(nb) (nb->dlist.prev == NULL ? NULL : CONTAINER_OF(nb->dlist.prev, NetBuf, dlist)) +static inline void set_oal_netbuf_next(NetBuf *nb, NetBuf *new) +{ + (nb)->dlist.next = (new == NULL ? NULL : &new->dlist); +} + +static inline void set_oal_netbuf_prev(NetBuf *nb, NetBuf *new) +{ + (nb)->dlist.prev = (new == NULL ? NULL : &new->dlist); +} + +#define oal_netbuf_head_next(q) ((q)->dlist.next) +#define oal_netbuf_head_prev(q) ((q)->dlist.prev) + +#define oal_netbuf_set_protocol(nb, p) // ((nb)->protocol) +#define oal_netbuf_priority(nb) 0 // ((nb)->rsv[oal_netbuf_cb_size()-1]) +#define oal_netbuf_data(nb) NetBufGetAddress(nb, E_DATA_BUF) +#define oal_netbuf_header(nb) NetBufGetAddress(nb, E_DATA_BUF) +#define oal_netbuf_payload(nb) NetBufGetAddress(nb, E_DATA_BUF) +#define oal_netbuf_cb(nb) ((nb)->rsv) +#define oal_netbuf_cb_size() (sizeof(((NetBuf*)0)->rsv)) +#define oal_netbuf_len(nb) NetBufGetDataLen(nb) +#define OAL_NETBUF_TAIL(nb) NetBufGetAddress(nb, E_TAIL_BUF) + +#define oal_netbuf_put(nb, len) NetBufPush(nb, E_DATA_BUF, len) +#define oal_netbuf_push(nb, len) NetBufPop(nb, E_HEAD_BUF, len) +#define oal_netbuf_pull(nb, len) NetBufPush(nb, E_HEAD_BUF, len) +#define oal_netbuf_reserve(nb, l) do { \ + NetBufPop(nb, E_TAIL_BUF, l); \ + NetBufPop(nb, E_DATA_BUF, l); \ + } while(0) +#define oal_netbuf_get(nb) (nb) +#define oal_netbuf_unshare(nb) (nb) +#define oal_netbuf_headroom(nb) NetBufGetRoom(nb, E_HEAD_BUF) +#define oal_netbuf_tailroom(nb) NetBufGetRoom(nb, E_TAIL_BUF) + +#define oal_netbuf_trim(nb, l) if (nb->dataLen > l && nb->bufs[E_DATA_BUF].len > l) { \ + NetBufPush(nb, E_TAIL_BUF, l); \ + } +#define oal_netbuf_set_len(nb,l) if (nb->dataLen > l) { \ + NetBufPush(nb, E_TAIL_BUF, nb->dataLen - l); \ + } else { \ + NetBufPush(nb, E_DATA_BUF, (l - nb->dataLen)); \ + } + +#define oal_netbuf_list_next(nb) oal_netbuf_next(nb) +#define oal_netbuf_init(nb, len) oal_netbuf_set_len(nb, len) + +#define oal_netbuf_splice_init(add, q) NetBufQueueConcat(q, add) +#define oal_netbuf_copy_queue_mapping(to, from) +#define oal_skb_set_queue_mapping(nb, mapping) nb->qmap = mapping + +#define oal_skb_queue_walk_safe(q, nb, tmp) DLIST_FOR_EACH_ENTRY_SAFE(nb, tmp, &q->dlist, NetBuf, dlist) +#define oal_netbuf_append(q, nb, prev) do { \ + DListInsertHead(&nb->dlist, &prev->dlist); \ + (q)->size++; \ + } while(0) + +typedef struct pbuf oal_lwip_buf; + +#elif (_PRE_OS_VERSION_LINUX == _PRE_OS_VERSION) + +#define ETH_P_CONTROL 0x0016 /* Card specific control frames */ + +#define oal_netbuf_next(nb) ((nb)->next) +#define oal_netbuf_prev(nb) ((nb)->prev) +#define set_oal_netbuf_next(nb, new) ((nb)->next = new) +#define set_oal_netbuf_prev(nb, new) ((nb)->prev = new) + +#define oal_netbuf_head_next(q) ((q)->next) +#define oal_netbuf_head_prev(q) ((q)->prev) + +#define oal_netbuf_set_protocol(nb, p) ((nb)->protocol = p) +#define oal_netbuf_priority(nb) ((nb)->priority) +#define oal_netbuf_data(nb) ((nb)->data) +#define oal_netbuf_header(nb) ((nb)->data) +#define oal_netbuf_payload(nb) ((nb)->data) +#define oal_netbuf_cb(nb) (((nb)->cb)) +#define oal_netbuf_cb_size() (sizeof(((NetBuf*)0)->cb)) +#define oal_netbuf_len(nb) ((nb)->len) +#define OAL_NETBUF_TAIL(nb) skb_tail_pointer(nb) + + +#define oal_netbuf_put(nb, len) skb_put(nb, len) +#define oal_netbuf_push(nb, len) skb_push(nb, len) +#define oal_netbuf_pull(nb, len) skb_pull(nb, len) +#define oal_netbuf_reserve(nb, l) skb_reserve(nb,l) +#define oal_netbuf_get(nb) skb_get(nb) +#define oal_netbuf_unshare(nb, pri) skb_unshare(nb, pri) +#define oal_netbuf_headroom(nb) skb_headroom(nb) +#define oal_netbuf_tailroom(nb) skb_tailroom(nb) +#define oal_netbuf_trim(nb, l) skb_trim(nb, (nb->len - l)) +#define oal_netbuf_set_len(nb, l) if (nb->len > l) { \ + skb_trim(nb, l); \ + } else { \ + skb_put(nb, (l - nb->len)); \ + } + +#define oal_netbuf_list_next(nb) oal_netbuf_next(nb) +#define oal_netbuf_init(nb, len) oal_netbuf_set_len(nb,len) \ + nb->protocol = ETH_P_CONTROL; + +#define oal_netbuf_splice_init(from, to) skb_queue_splice_init(from, to) +#define oal_netbuf_copy_queue_mapping(to, from) skb_copy_queue_mapping(to, from) +#define oal_skb_set_queue_mapping(nb, mapping) skb_set_queue_mapping(nb, mapping) +#define oal_skb_queue_walk_safe(q, nb, tmp) skb_queue_walk_safe(q, nb, tmp) +#define oal_netbuf_append(q, nb, prev) __skb_queue_after(q, prev, nb) + +#endif + +static inline uint32_t oal_netbuf_get_appointed_netbuf(NetBuf *nb, uint8_t num, NetBuf **expect_netbuf) +{ + hi_u8 buf_num; + + if (oal_unlikely((nb == HI_NULL) || (expect_netbuf == HI_NULL))) { + return HI_ERR_CODE_PTR_NULL; + } + + *expect_netbuf = HI_NULL; + + for (buf_num = 0; buf_num < num; buf_num++) { + *expect_netbuf = oal_netbuf_next(nb); + + if (*expect_netbuf == HI_NULL) { + break; + } + + nb = *expect_netbuf; + } + + return HI_SUCCESS; +} + +static inline hi_u32 oal_netbuf_copydata(const oal_netbuf_stru *netbuf, hi_u32 offset, hi_void *dst, hi_u32 dst_len, + hi_u32 len) +{ + if (memcpy_s(dst, dst_len, oal_netbuf_data(netbuf) + offset, len) != EOK) { + return HI_FAIL; + } + + return HI_SUCCESS; +} + +static inline NetBuf *oal_netbuf_alloc(uint32_t size, uint32_t reserve, uint32_t align) +{ + NetBuf *nb = NULL; + + (void)align; + nb = NetBufAlloc(size + reserve + NET_SKB_PAD); + if (nb != NULL) { + oal_netbuf_reserve(nb, reserve + NET_SKB_PAD); + } + + return nb; +} + +static inline void oal_netbuf_splice_sync(oal_netbuf_head_stru *to, oal_netbuf_head_stru *from) +{ + NetBuf *nb = NULL; + + while (1) { + nb = NetBufQueueDequeueTail(from); + if (nb == NULL) + break; + NetBufQueueEnqueueHead(to, nb); + } +} + +#endif diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_queue.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_queue.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_queue.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_queue.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_scatterlist.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_scatterlist.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_scatterlist.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_scatterlist.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_schedule.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_schedule.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_schedule.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_schedule.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_sdio.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_sdio.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_sdio.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_sdio.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_sdio_comm.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_sdio_comm.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_sdio_comm.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_sdio_comm.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_sdio_host.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_sdio_host.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_sdio_host.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_sdio_host.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_sdio_host_if.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_sdio_host_if.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_sdio_host_if.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_sdio_host_if.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_sdio_if.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_sdio_if.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_sdio_if.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_sdio_if.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_semaphore.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_semaphore.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_semaphore.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_semaphore.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_shellcmd.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_shellcmd.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_shellcmd.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_shellcmd.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_spinlock.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_spinlock.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_spinlock.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_spinlock.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_task.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_task.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_task.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_task.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_thread.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_thread.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_thread.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_thread.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_time.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_time.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_time.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_time.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_timer.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_timer.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_timer.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_timer.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_util.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_util.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_util.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_util.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_util.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_util.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_util.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_util.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_wait.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_wait.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_wait.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_wait.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_wakelock.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_wakelock.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_wakelock.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_wakelock.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_workqueue.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_workqueue.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_workqueue.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/oal_workqueue.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/os_sys.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/os_sys.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/os_sys.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/os_sys.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_board_adapt.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_board_adapt.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_board_adapt.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_board_adapt.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_board_common_sdio.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_board_common_sdio.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_board_common_sdio.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_board_common_sdio.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_firmware.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_firmware.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_firmware.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_firmware.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_firmware.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_firmware.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_firmware.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_firmware.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_pm.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_pm.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_pm.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_pm.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_pm.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_pm.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_pm.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_pm.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_pm_wlan.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_pm_wlan.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_pm_wlan.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_pm_wlan.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_pm_wlan.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_pm_wlan.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_pm_wlan.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_pm_wlan.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_rw.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_rw.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_rw.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_rw.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_rw_mfg.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_rw_mfg.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_rw_mfg.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_rw_mfg.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_sdio.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_sdio.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_sdio.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_sdio.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_sdio.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_sdio.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_sdio.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_sdio.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_wifi_cfg.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_wifi_cfg.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_wifi_cfg.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/plat_wifi_cfg.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/stack.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/stack.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/stack.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/stack.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/wlan_mib.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/wlan_mib.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/wlan_mib.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/wlan_mib.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/wlan_spec.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/wlan_spec.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/wlan_spec.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/wlan_spec.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/wlan_spec_1131h.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/wlan_spec_1131h.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/wlan_spec_1131h.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/wlan_spec_1131h.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/wlan_types.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/wlan_types.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/wlan_types.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oal/wlan_types.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oam/oam_ext_if.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oam/oam_ext_if.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oam/oam_ext_if.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oam/oam_ext_if.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oam/oam_log.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oam/oam_log.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oam/oam_log.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oam/oam_log.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oam/oam_log.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oam/oam_log.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oam/oam_log.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oam/oam_log.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oam/oam_main.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oam/oam_main.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oam/oam_main.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oam/oam_main.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oam/oam_main.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oam/oam_main.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oam/oam_main.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/oam/oam_main.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/hi_wifi_driver_api.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/hi_wifi_driver_api.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/hi_wifi_driver_api.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/hi_wifi_driver_api.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/hi_wifi_driver_wpa_if.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/hi_wifi_driver_wpa_if.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/hi_wifi_driver_wpa_if.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/hi_wifi_driver_wpa_if.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_11d.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_11d.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_11d.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_11d.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_11d.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_11d.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_11d.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_11d.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_cfg80211.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_cfg80211.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_cfg80211.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_cfg80211.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_cfg80211.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_cfg80211.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_cfg80211.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_cfg80211.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_cfg80211_apt.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_cfg80211_apt.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_cfg80211_apt.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_cfg80211_apt.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_cfg80211_apt.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_cfg80211_apt.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_cfg80211_apt.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_cfg80211_apt.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_customize.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_customize.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_customize.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_customize.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_customize.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_customize.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_customize.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_customize.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_event.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_event.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_event.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_event.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_event.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_event.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_event.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_event.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_event_msg.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_event_msg.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_event_msg.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_event_msg.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_event_msg.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_event_msg.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_event_msg.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_event_msg.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_hipriv.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_hipriv.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_hipriv.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_hipriv.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_hipriv.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_hipriv.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_hipriv.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_hipriv.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_ioctl.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_ioctl.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_ioctl.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_ioctl.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_ioctl.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_ioctl.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_ioctl.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_ioctl.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_linux_flowctl.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_linux_flowctl.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_linux_flowctl.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_linux_flowctl.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_linux_flowctl.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_linux_flowctl.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_linux_flowctl.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_linux_flowctl.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_mac80211.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_mac80211.c similarity index 97% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_mac80211.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_mac80211.c index 45e2cba74a812bb3bdecef8ae3cb08af805725e5..8d40aa01d11822b5dbc4c4077c4c55abf67801bb 100644 --- a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_mac80211.c +++ b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_mac80211.c @@ -1,1075 +1,1075 @@ -/* - * Copyright (C) 2021 HiSilicon (Shanghai) Technologies CO., LIMITED. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ - -#include "oal_ext_if.h" -#include "oam_ext_if.h" -#include "hi_list.h" -#include "hmac_ext_if.h" -#include "wal_11d.h" -#include "wal_main.h" -#include "wal_ioctl.h" -#include "wal_regdb.h" -#include "wifi_mac80211_ops.h" -#include "wal_cfg80211.h" -#include "wal_wpa_ioctl.h" -#include "net_adpater.h" -#include "hdf_wlan_utils.h" -#include "wifi_module.h" -#include "osal_mem.h" - -#define HDF_LOG_TAG Hi3881Driver - -static struct MacStorage g_macStorage = { 0 }; - -#define WIFI_SCAN_EXTRA_IE_LEN_MAX 512 - -int32_t WalDisconnect(NetDevice *netDev, uint16_t reasonCode) -{ - return wal_cfg80211_disconnect(NULL, netDev, reasonCode); -} - -hi_u32 wal_send_scan_abort_msg(oal_net_device_stru *netdev); - -static int32_t WifiScanSetSsid(const struct WlanScanRequest *params, oal_cfg80211_scan_request_stru *request) -{ - int32_t count = 0; - int32_t loop; - - if (params->ssidCount > WPAS_MAX_SCAN_SSIDS) { - oam_error_log(0, OAM_SF_ANY, "%s:unexpected numSsids!numSsids=%u", __func__, params->ssidCount); - return HDF_FAILURE; - } - - if (params->ssidCount == 0) { - oam_debug_log(0, OAM_SF_ANY, "%s:ssid number is 0!", __func__); - return HDF_SUCCESS; - } - - request->ssids = (oal_cfg80211_ssid_stru *)OsalMemCalloc(params->ssidCount * sizeof(oal_cfg80211_ssid_stru)); - if (request->ssids == NULL) { - oam_error_log(0, OAM_SF_ANY, "%s:oom", __func__); - return HDF_FAILURE; - } - - for (loop = 0; loop < params->ssidCount; loop++) { - if (count >= DRIVER_MAX_SCAN_SSIDS) { - break; - } - - if (params->ssids[loop].ssidLen > IEEE80211_MAX_SSID_LEN) { - continue; - } - - request->ssids[count].ssid_len = params->ssids[loop].ssidLen; - if (memcpy_s(request->ssids[count].ssid, OAL_IEEE80211_MAX_SSID_LEN, params->ssids[loop].ssid, - params->ssids[loop].ssidLen) != EOK) { - continue; - } - count++; - } - request->n_ssids = count; - - return HDF_SUCCESS; -} - -static int32_t WifiScanSetUserIe(const struct WlanScanRequest *params, oal_cfg80211_scan_request_stru *request) -{ - if (params->extraIEsLen > WIFI_SCAN_EXTRA_IE_LEN_MAX) { - oam_error_log(0, OAM_SF_ANY, "%s:unexpected extra len!extraIesLen=%d", __func__, params->extraIEsLen); - return HDF_FAILURE; - } - if ((params->extraIEs != NULL) && (params->extraIEsLen != 0)) { - request->ie = (uint8_t *)OsalMemCalloc(params->extraIEsLen); - if (request->ie == NULL) { - oam_error_log(0, OAM_SF_ANY, "%s:oom", __func__); - goto fail; - } - (void)memcpy_s(request->ie, params->extraIEsLen, params->extraIEs, params->extraIEsLen); - request->ie_len = params->extraIEsLen; - } - - return HDF_SUCCESS; - -fail: - if (request->ie != NULL) { - OsalMemFree(request->ie); - request->ie = NULL; - } - - return HDF_FAILURE; -} - -static oal_ieee80211_channel *GetChannelByFreq(const oal_wiphy_stru *wiphy, uint16_t center_freq) -{ - enum Ieee80211Band band; - oal_ieee80211_supported_band *currentBand = NULL; - int32_t loop; - for (band = (enum Ieee80211Band)0; band < IEEE80211_NUM_BANDS; band++) { - currentBand = wiphy->bands[band]; - if (currentBand == NULL) { - continue; - } - for (loop = 0; loop < currentBand->n_channels; loop++) { - if (currentBand->channels[loop].center_freq == center_freq) { - return ¤tBand->channels[loop]; - } - } - } - return NULL; -} - -static int32_t WifiScanSetChannel(const oal_wiphy_stru *wiphy, const struct WlanScanRequest *params, - oal_cfg80211_scan_request_stru *request) -{ - int32_t loop; - int32_t count = 0; - enum Ieee80211Band band = IEEE80211_BAND_2GHZ; - oal_ieee80211_channel *chan = NULL; - - if ((params->freqs == NULL) || (params->freqsCount == 0)) { - if (wiphy->bands[band] == NULL) { - oam_error_log(0, OAM_SF_ANY, "%s:invalid band info", __func__); - return HDF_FAILURE; - } - - for (loop = 0; loop < (int32_t)wiphy->bands[band]->n_channels; loop++) { - chan = &wiphy->bands[band]->channels[loop]; - if ((chan->flags & WIFI_CHAN_DISABLED) != 0) { - continue; - } - request->channels[count++] = chan; - } - } else { - for (loop = 0; loop < params->freqsCount; loop++) { - chan = GetChannelByFreq(wiphy, (uint16_t)(params->freqs[loop])); - if (chan == NULL) { - oam_error_log(0, OAM_SF_ANY, "%s:freq not found!freq=%d", __func__, params->freqs[loop]); - continue; - } - - request->channels[count++] = chan; - } - } - - if (count == 0) { - oam_error_log(0, OAM_SF_ANY, "%s:invalid freq info", __func__); - return HDF_FAILURE; - } - request->n_channels = count; - - return HDF_SUCCESS; -} - -static int32_t WifiScanSetRequest(struct NetDevice *netdev, const struct WlanScanRequest *params, - oal_cfg80211_scan_request_stru *request) -{ - if (netdev == NULL || netdev->ieee80211Ptr == NULL) { - return HDF_FAILURE; - } - request->wiphy = GET_NET_DEV_CFG80211_WIRELESS(netdev)->wiphy; - request->dev = netdev; - request->wdev = GET_NET_DEV_CFG80211_WIRELESS(netdev); - request->n_ssids = params->ssidCount; - request->prefix_ssid_scan_flag = 0; - if (WifiScanSetChannel(GET_NET_DEV_CFG80211_WIRELESS(netdev)->wiphy, params, request)) { - oam_error_log(0, OAM_SF_ANY, "%s:set channel failed!", __func__); - return HDF_FAILURE; - } - if (WifiScanSetSsid(params, request)) { - oam_error_log(0, OAM_SF_ANY, "%s:set ssid failed!", __func__); - return HDF_FAILURE; - } - if (WifiScanSetUserIe(params, request)) { - oam_error_log(0, OAM_SF_ANY, "%s:set user ie failed!", __func__); - return HDF_FAILURE; - } - return HDF_SUCCESS; -} - -static void WifiScanFree(oal_cfg80211_scan_request_stru **request) -{ - if (*request != NULL) { - if ((*request)->ie != NULL) { - OsalMemFree((*request)->ie); - (*request)->ie = NULL; - } - if ((*request)->ssids != NULL) { - OsalMemFree((*request)->ssids); - (*request)->ssids = NULL; - } - OsalMemFree(*request); - *request = NULL; - } -} - -static int32_t WalStartScan(NetDevice *netdev, struct WlanScanRequest *scanParam) -{ - oal_wiphy_stru *wiphy = oal_wiphy_get(); - - oal_cfg80211_scan_request_stru *request = - (oal_cfg80211_scan_request_stru *)OsalMemCalloc(sizeof(oal_cfg80211_scan_request_stru)); - if (request == NULL) { - oam_error_log0(0, OAM_SF_ANY, "{WalStartScan::oom!}"); - return HDF_FAILURE; - } - if (WifiScanSetRequest(netdev, scanParam, request) != HDF_SUCCESS) { - WifiScanFree(&request); - return HDF_FAILURE; - } - // scan request will be released after scan finish - hi_u32 ret = wal_cfg80211_scan(wiphy, request); - if (ret != HI_SUCCESS) { - WifiScanFree(&request); - } - return ret; -} - -static oal_ieee80211_channel_stru *WalGetChannel(oal_wiphy_stru *wiphy, int32_t freq) -{ - if (wiphy == NULL) { - HDF_LOGE("%s: capality is NULL!", __func__); - return NULL; - } - - enum Ieee80211Band band; - oal_ieee80211_supported_band *currentBand = NULL; - int32_t loop; - - for (band = (enum Ieee80211Band)0; band < IEEE80211_NUM_BANDS; band++) { - currentBand = wiphy->bands[band]; - if (currentBand == NULL) { - continue; - } - - for (loop = 0; loop < currentBand->n_channels; loop++) { - if (currentBand->channels[loop].center_freq == freq) { - return ¤tBand->channels[loop]; - } - } - } - - return NULL; -} - -static int32_t WalConnect(NetDevice *netDev, WlanConnectParams *param) -{ - if (netDev == NULL || param == NULL) { - HDF_LOGE("%s:NULL ptr!", __func__); - return HDF_FAILURE; - } - oal_wiphy_stru *wiphy = oal_wiphy_get(); - oal_cfg80211_connect_params_stru cfg80211_params = { 0 }; - if (param->centerFreq != WLAN_FREQ_NOT_SPECFIED) { - cfg80211_params.channel = WalGetChannel(wiphy, param->centerFreq); - if ((cfg80211_params.channel == NULL) || (cfg80211_params.channel->flags & WIFI_CHAN_DISABLED)) { - HDF_LOGE("%s:illegal channel.flags=%u", __func__, - (cfg80211_params.channel == NULL) ? 0 : cfg80211_params.channel->flags); - return HDF_FAILURE; - } - } - cfg80211_params.bssid = param->bssid; - cfg80211_params.ssid = param->ssid; - cfg80211_params.ie = param->ie; - cfg80211_params.ssid_len = param->ssidLen; - cfg80211_params.ie_len = param->ieLen; - int ret = memcpy_s(&cfg80211_params.crypto, sizeof(cfg80211_params.crypto), ¶m->crypto, sizeof(param->crypto)); - if (ret != EOK) { - HDF_LOGE("%s:Copy crypto info failed!ret=%d", __func__, ret); - return HDF_FAILURE; - } - cfg80211_params.key = param->key; - cfg80211_params.auth_type = (oal_nl80211_auth_type_enum_uint8)param->authType; - cfg80211_params.privacy = param->privacy; - cfg80211_params.key_len = param->keyLen; - cfg80211_params.key_idx = param->keyIdx; - cfg80211_params.mfp = (oal_nl80211_mfp_enum_uint8)param->mfp; - - return wal_cfg80211_connect(wiphy, netDev, &cfg80211_params); -} - -static int32_t SetupWireLessDev(struct NetDevice *netDev, struct WlanAPConf *apSettings) -{ - if (netDev->ieee80211Ptr == NULL) { - netDev->ieee80211Ptr = (struct wireless_dev *)OsalMemCalloc(sizeof(struct wireless_dev)); - if (netDev->ieee80211Ptr == NULL) { - return HDF_ERR_INVALID_PARAM; - } - } - - if (GET_NET_DEV_CFG80211_WIRELESS(netDev)->preset_chandef.chan == NULL) { - GET_NET_DEV_CFG80211_WIRELESS(netDev)->preset_chandef.chan = - (oal_ieee80211_channel *)OsalMemCalloc(sizeof(oal_ieee80211_channel)); - if (GET_NET_DEV_CFG80211_WIRELESS(netDev)->preset_chandef.chan == NULL) { - OsalMemFree(netDev->ieee80211Ptr); - netDev->ieee80211Ptr = NULL; - return HI_ERR_CODE_PTR_NULL; - } - } - - GET_NET_DEV_CFG80211_WIRELESS(netDev)->preset_chandef.width = (oal_nl80211_channel_type)apSettings->width; - GET_NET_DEV_CFG80211_WIRELESS(netDev)->preset_chandef.center_freq1 = apSettings->centerFreq1; - GET_NET_DEV_CFG80211_WIRELESS(netDev)->preset_chandef.chan->hw_value = apSettings->channel; - GET_NET_DEV_CFG80211_WIRELESS(netDev)->preset_chandef.chan->band = IEEE80211_BAND_2GHZ; - return HI_SUCCESS; -} - - -int32_t WalSetSsid(NetDevice *netDev, const uint8_t *ssid, uint32_t ssidLen) -{ - mac_cfg_ssid_param_stru ssid_param = { 0 }; - hi_u32 ret; - - ssid_param.ssid_len = ssidLen; - if (memcpy_s(ssid_param.ac_ssid, WLAN_SSID_MAX_LEN, (hi_s8 *)ssid, ssidLen) != EOK) { - oam_error_log0(0, 0, "{wal_cfg80211_set_ssid::mem safe function err!}"); - return HI_FAIL; - } - - ret = wal_cfg80211_start_req(netDev, &ssid_param, sizeof(mac_cfg_ssid_param_stru), WLAN_CFGID_SSID, HI_FALSE); - if (ret != HI_SUCCESS) { - oam_error_log1(0, OAM_SF_ANY, "{wal_cfg80211_set_ssid::return err code [%u]!}", ret); - return ret; - } - - return HI_SUCCESS; -} - -hi_u32 wal_cfg80211_set_channel_info(oal_net_device_stru *netdev); -int32_t WalSetChannel(NetDevice *netDev) -{ - return wal_cfg80211_set_channel_info(netDev); -} - -hi_u32 wal_cfg80211_fill_beacon_param(mac_vap_stru *mac_vap, oal_beacon_data_stru *beacon_info, - mac_beacon_param_stru *beacon_param); - -int32_t WalChangeBeacon(NetDevice *netDev, struct WlanBeaconConf *param) -{ - mac_beacon_param_stru beacon_param = { 0 }; - beacon_param.l_interval = param->interval; - beacon_param.l_dtim_period = param->DTIMPeriod; - beacon_param.hidden_ssid = param->hiddenSSID; - mac_vap_stru *mac_vap = oal_net_dev_priv(netDev); - - oam_info_log(0, OAM_SF_ANY, "%s: beacon info, head=%p, headLen=%d, tail=%p, tailLen=%d", __func__, param->headIEs, - param->headIEsLength, param->tailIEs, param->tailIEsLength); - - oal_beacon_data_stru beacon_data = { 0 }; - beacon_data.head = param->headIEs; - beacon_data.head_len = param->headIEsLength; - beacon_data.tail = param->tailIEs; - beacon_data.tail_len = param->tailIEsLength; - - hi_u32 ret = wal_cfg80211_fill_beacon_param(mac_vap, &beacon_data, &beacon_param); - if (ret != HI_SUCCESS) { - oam_warning_log1(0, OAM_SF_ANY, "{wal_cfg80211_fill_beacon_param failed!ret=%d}\r\n", ret); - return ret; - } - - beacon_param.operation_type = MAC_ADD_BEACON; - return wal_cfg80211_start_req((oal_net_device_stru *)netDev, &beacon_param, sizeof(mac_beacon_param_stru), - WLAN_CFGID_CFG80211_CONFIG_BEACON, HI_FALSE); -} - -int32_t WalSetMeshId(NetDevice *netDev, const char *meshId, uint32_t meshIdLen) -{ -#ifdef _PRE_WLAN_FEATURE_MESH - return wal_cfg80211_set_meshid((oal_net_device_stru *)netDev, meshId, meshIdLen); -#else - (void)netDev; - (void)meshId; - (void)meshIdLen; - return 0; -#endif -} - -hi_u32 wal_start_vap(oal_net_device_stru *netdev); - -int32_t WalStartAp(NetDevice *netDev) -{ - return wal_start_vap(netDev); -} - -int32_t WalStopAp(NetDevice *netDev) -{ - wal_msg_write_stru write_msg; - if (netDev == HI_NULL) { - oam_error_log0(0, OAM_SF_ANY, "{wal_cfg80211_stop_ap::pst_netdev is null!}"); - goto fail; - } - mac_vap_stru *mac_vap = oal_net_dev_priv(netDev); - if (mac_vap == HI_NULL) { - oam_error_log0(0, OAM_SF_ANY, "{wal_cfg80211_stop_ap::can't get mac vap from netdevice priv data!}"); - goto fail; - } - - if ((mac_vap->vap_mode != WLAN_VAP_MODE_BSS_AP) -#ifdef _PRE_WLAN_FEATURE_MESH - && (mac_vap->vap_mode != WLAN_VAP_MODE_MESH) -#endif - ) { - oam_error_log0(mac_vap->vap_id, OAM_SF_ANY, "{wal_cfg80211_stop_ap::vap is not in ap mode!}"); - goto fail; - } - - if ((oal_netdevice_flags(netDev) & OAL_IFF_RUNNING) == 0) { - oam_warning_log0(0, OAM_SF_ANY, "{wal_cfg80211_stop_ap::vap is already down!}\r\n"); - return HI_SUCCESS; - } - - wal_write_msg_hdr_init(&write_msg, WLAN_CFGID_DOWN_VAP, sizeof(mac_cfg_start_vap_param_stru)); - -#ifdef _PRE_WLAN_FEATURE_P2P - oal_wireless_dev *wdev = netDev->ieee80211Ptr; - wlan_p2p_mode_enum_uint8 p2p_mode = wal_wireless_iftype_to_mac_p2p_mode(wdev->iftype); - if (WLAN_P2P_BUTT == p2p_mode) { - oam_error_log0(0, OAM_SF_ANY, "{wal_cfg80211_stop_ap::wal_wireless_iftype_to_mac_p2p_mode return BUFF}\r\n"); - goto fail; - } - oam_warning_log1(0, OAM_SF_ANY, "{wal_cfg80211_stop_ap::en_p2p_mode=%u}\r\n", p2p_mode); - - ((mac_cfg_start_vap_param_stru *)write_msg.auc_value)->p2p_mode = p2p_mode; -#endif - - ((mac_cfg_start_vap_param_stru *)write_msg.auc_value)->net_dev = netDev; - - hi_u32 ret = wal_send_cfg_event(netDev, WAL_MSG_TYPE_WRITE, - WAL_MSG_WRITE_MSG_HDR_LENGTH + sizeof(mac_cfg_start_vap_param_stru), (hi_u8 *)&write_msg, HI_FALSE, HI_NULL); - if (oal_unlikely(ret != HI_SUCCESS)) { - oam_warning_log1(mac_vap->vap_id, OAM_SF_ANY, "{wal_cfg80211_stop_ap::failed to stop ap, error[%u]}", ret); - goto fail; - } - - return HI_SUCCESS; - -fail: -#if (_PRE_OS_VERSION_LITEOS == _PRE_OS_VERSION) - return HI_FAIL; -#elif (_PRE_OS_VERSION_LINUX == _PRE_OS_VERSION) - return -HI_FAIL; -#endif -} - -int32_t WalDelStation(NetDevice *netDev, const uint8_t *macAddr) -{ - oal_station_del_parameters_stru params = { 0 }; - params.mac = macAddr; - return wal_cfg80211_del_station(NULL, netDev, ¶ms); -} - -int32_t WalAddKey(struct NetDevice *netdev, uint8_t keyIndex, bool pairwise, const uint8_t *macAddr, - struct KeyParams *params) -{ - oal_key_params_stru keyParm = { 0 }; - keyParm.key = params->key; - keyParm.key_len = params->keyLen; - keyParm.seq_len = params->seqLen; - keyParm.seq = params->seq; - keyParm.cipher = params->cipher; - return wal_cfg80211_add_key(NULL, netdev, keyIndex, pairwise, macAddr, &keyParm); -} - -int32_t WalDelKey(struct NetDevice *netdev, uint8_t keyIndex, bool pairwise, const uint8_t *macAddr) -{ - return wal_cfg80211_remove_key(NULL, netdev, keyIndex, pairwise, macAddr); -} - -int32_t WalSetDefaultKey(struct NetDevice *netDev, uint8_t keyIndex, bool unicast, bool multicas) -{ - return wal_cfg80211_set_default_key(NULL, netDev, keyIndex, unicast, multicas); -} - -int32_t WalSetMacAddr(NetDevice *netDev, uint8_t *mac, uint8_t len) -{ - (void)netDev; - uint32_t ret; - - ret = wal_macaddr_check(mac); - if (ret != HI_SUCCESS) { - oam_error_log0(0, OAM_SF_ANY, "mac addr is unavailable!"); - return ret; - } - ret = memcpy_s(g_macStorage.mac, ETHER_ADDR_LEN, mac, len); - if (ret != HI_SUCCESS) { - oam_error_log0(0, OAM_SF_ANY, "memcpy_s failed!"); - return ret; - } - g_macStorage.isStorage = true; - return HI_SUCCESS; -} - -static int32_t PreSetMac(NetDevice *netDev, hi_u8 *mac, hi_u8 len) -{ - uint32_t ret; - Mac80211SetMacParam param; - wal_msg_write_stru write_msg; - mac_cfg_staion_id_param_stru *mac_param = HI_NULL; - - ret = NetIfSetMacAddr(netDev, mac, len); - if (ret != HDF_SUCCESS) { - oam_error_log0(0, OAM_SF_ANY, "NetIfSetMacAddr failed!"); - return ret; - } - if (memcpy_s(param.mac, ETHER_ADDR_LEN, mac, ETHER_ADDR_LEN) != EOK) { - oam_error_log0(0, OAM_SF_ANY, "WalSetMacAddr:: memcpy_s FAILED"); - return HI_FAIL; - } - param.p2pMode = false; - param.resv = 0; - wal_write_msg_hdr_init(&write_msg, WLAN_CFGID_STATION_ID, sizeof(mac_cfg_staion_id_param_stru)); - mac_param = (mac_cfg_staion_id_param_stru *)write_msg.auc_value; - if (memcpy_s(mac_param, sizeof(mac_cfg_staion_id_param_stru), ¶m, sizeof(mac_cfg_staion_id_param_stru)) != - EOK) { - oam_error_log0(0, OAM_SF_ANY, "WalSetMacParam:: memcpy_s FAILED"); - return HI_FAIL; - } - ret = wal_send_cfg_event(netDev, WAL_MSG_TYPE_WRITE, - WAL_MSG_WRITE_MSG_HDR_LENGTH + sizeof(mac_cfg_staion_id_param_stru), (hi_u8 *)&write_msg, HI_FALSE, HI_NULL); - if (ret != HI_SUCCESS) { - oam_error_log1(0, OAM_SF_ANY, "{wal_set_mac_to_mib::return err code [%u]!}\r\n", ret); - return ret; - } - - ret = memset_s(g_macStorage.mac, ETHER_ADDR_LEN, 0, len); - if (ret != HDF_SUCCESS) { - oam_error_log0(0, OAM_SF_ANY, "memset_s failed!"); - return ret; - } - g_macStorage.isStorage = false; - return HI_SUCCESS; -} - -int32_t WalSetMode(NetDevice *netDev, enum WlanWorkMode iftype) -{ - int32_t ret; - uint32_t flags = 0; - oal_vif_params_stru params = { - .use_4addr = 0, - .macaddr = NULL - }; - oam_error_log1(0, OAM_SF_ANY, "{WalSetMode enter iftype:%d!}", iftype); - if (iftype == WLAN_WORKMODE_STA || iftype == WLAN_WORKMODE_AP) { - wal_deinit_drv_wlan_netdev(netDev); - ret = RenewNetDevice(&netDev); - if (ret != HDF_SUCCESS) { - oam_error_log(0, OAM_SF_ANY, "%s:RenewNetDevice failed!ret=%d", __func__, ret); - return ret; - } - ret = wal_init_drv_wlan_netdev(iftype, WAL_PHY_MODE_11N, netDev); - if (ret != HISI_OK) { - oam_error_log0(0, OAM_SF_ANY, "wal_init_drv_wlan_netdev failed!"); - return ret; - } - } - if (g_macStorage.isStorage) { - ret = PreSetMac(netDev, g_macStorage.mac, ETHER_ADDR_LEN); - if (ret != HI_SUCCESS) { - oam_error_log0(0, OAM_SF_ANY, "PreSetMac failed!}"); - return HI_FAIL; - } - params.macaddr = (hi_u8 *)netDev->macAddr; - } - - if (iftype == WLAN_WORKMODE_STA) - return HI_SUCCESS; - return wal_cfg80211_change_virtual_intf(NULL, netDev, iftype, &flags, ¶ms); -} - - -int32_t WalAbortScan(NetDevice *netDev) -{ - return wal_force_scan_complete(netDev); -} - - -extern hi_u8 g_efuseMacExist; -int32_t WalGetDeviceMacAddr(NetDevice *netDev, int32_t type, uint8_t *mac, uint8_t len) -{ - (void)netDev; - if (mac == NULL || len != ETHER_ADDR_LEN) { - oam_error_log0(0, OAM_SF_ANY, "{WalGetDeviceMacAddr::input param error!}"); - return HI_FAIL; - } - if (!g_efuseMacExist) { - /* if there is no data in efuse */ - oam_warning_log0(0, OAM_SF_ANY, "wal_get_efuse_mac_addr:: no data in efuse!"); - return HDF_ERR_NOT_SUPPORT; - } - if (wal_get_dev_addr(mac, len, type) != HI_SUCCESS) { - oam_error_log0(0, OAM_SF_ANY, "{set_mac_addr_by_type::GetDeviceMacAddr failed!}"); - return HI_FAIL; - } - return HI_SUCCESS; -} - -int32_t WalGetValidFreqsWithBand(NetDevice *netDev, int32_t band, int32_t *freqs, uint32_t *num) -{ - (void)netDev; - uint32_t freqIndex = 0; - uint32_t channelNumber; - uint32_t freqTmp; - uint32_t minFreq; - uint32_t maxFreq; - const struct ieee80211_regdomain *regdom = NULL; - - regdom = wal_get_cfg_regdb(); - if (regdom == NULL) { - oam_error_log0(0, OAM_SF_ANY, "wal_get_cfg_regdb failed!"); - return HI_FAIL; - } - minFreq = regdom->reg_rules[0].freq_range.start_freq_khz / MHZ_TO_KHZ; - maxFreq = regdom->reg_rules[0].freq_range.end_freq_khz / MHZ_TO_KHZ; - switch (band) { - case WLAN_BAND_2G: - for (channelNumber = 1; channelNumber <= WIFI_24G_CHANNEL_NUMS; channelNumber++) { - if (channelNumber < WAL_MAX_CHANNEL_2G) { - freqTmp = WAL_MIN_FREQ_2G + (channelNumber - 1) * WAL_FREQ_2G_INTERVAL; - } else if (channelNumber == WAL_MAX_CHANNEL_2G) { - freqTmp = WAL_MAX_FREQ_2G; - } - if (freqTmp < minFreq || freqTmp > maxFreq) { - continue; - } - freqs[freqIndex] = freqTmp; - freqIndex++; - } - *num = freqIndex; - break; - default: - oam_error_log0(0, OAM_SF_ANY, "not support this band!"); - return HDF_ERR_NOT_SUPPORT; - } - return HI_SUCCESS; -} - -int32_t WalSetTxPower(NetDevice *netDev, int32_t power) -{ - int32_t ret; - wal_msg_write_stru write_msg; - wal_write_msg_hdr_init(&write_msg, WLAN_CFGID_TX_POWER, sizeof(hi_s32)); - *((hi_s32 *)(write_msg.auc_value)) = power; - - ret = wal_send_cfg_event(netDev, WAL_MSG_TYPE_WRITE, WAL_MSG_WRITE_MSG_HDR_LENGTH + sizeof(hi_s32), - (hi_u8 *)&write_msg, HI_FALSE, HI_NULL); - if (ret != HI_SUCCESS) { - oam_error_log1(0, 0, "{WalSetTxPower::return err code %u!}", ret); - return ret; - } - return HI_SUCCESS; -} - -int32_t WalGetAssociatedStasCount(NetDevice *netDev, uint32_t *num) -{ - mac_vap_stru *mac_vap = HI_NULL; - mac_vap = (mac_vap_stru *)oal_net_dev_priv(netDev); - if (mac_vap == NULL) { - oam_error_log0(0, OAM_SF_ANY, "WalGetUserNum:: mac_vap is null"); - return HI_FAIL; - } - *num = mac_vap->user_nums; - return HI_SUCCESS; -} - -int32_t WalGetAssociatedStasInfo(NetDevice *netDev, WifiStaInfo *staInfo, uint32_t num) -{ - uint32_t number = 0; - mac_vap_stru *mac_vap = HI_NULL; - hi_list *entry = HI_NULL; - hi_list *user_list_head = HI_NULL; - mac_user_stru *user_tmp = HI_NULL; - - mac_vap = (mac_vap_stru *)oal_net_dev_priv(netDev); - if (mac_vap == NULL) { - oam_error_log0(0, OAM_SF_ANY, "WalGetAssociatedStas:: mac_vap is null"); - return HI_FAIL; - } - user_list_head = &(mac_vap->mac_user_list_head); - for (entry = user_list_head->next; entry != user_list_head && number < num; number++) { - user_tmp = hi_list_entry(entry, mac_user_stru, user_dlist); - if (user_tmp == HI_NULL) { - oam_error_log0(0, OAM_SF_ANY, "WalGetAssociatedStas:: mac_user is null"); - return HI_FAIL; - } - if (memcpy_s(staInfo + number, ETHER_ADDR_LEN, user_tmp->user_mac_addr, ETHER_ADDR_LEN)) { - oam_error_log0(0, OAM_SF_ANY, "WalGetAssociatedStas:: memcpy_s failed!"); - return HI_FAIL; - } - entry = entry->next; - } - return HI_SUCCESS; -} - -int32_t WalSetCountryCode(NetDevice *netDev, const char *code, uint32_t len) -{ - int32_t ret; - if (code == NULL || strlen(code) != len) { - oam_error_log0(0, OAM_SF_ANY, "{WalSetCountryCode::input param error!}"); - return HI_FAIL; - } - if (len > (MAC_CONTRY_CODE_LEN - 1)) { - oam_error_log0(0, OAM_SF_ANY, "{WalSetCountryCode::country code len error!}\r\n"); - return HI_FAIL; - } - ret = wal_regdomain_update(netDev, code, MAC_CONTRY_CODE_LEN); - if (ret != HI_SUCCESS) { - oam_error_log1(0, OAM_SF_ANY, "{WalSetCountryCode::regdomain_update return err code %u!}\r\n", ret); - return ret; - } - return HI_SUCCESS; -} - -int32_t WalSetScanningMacAddress(NetDevice *netDev, unsigned char *mac, uint32_t len) -{ - (void)netDev; - (void)mac; - (void)len; - return HDF_ERR_NOT_SUPPORT; -} - -int32_t WalConfigAp(NetDevice *netDev, struct WlanAPConf *apConf) -{ - int32_t ret = SetupWireLessDev(netDev, apConf); - if (ret != HI_SUCCESS) { - oam_error_log2(0, OAM_SF_ANY, "{%s::SetupWireLessDev failed!ret=%d!}\r\n", __func__, ret); - return ret; - } - ret = WalSetChannel(netDev); - if (ret != HI_SUCCESS) { - oam_error_log2(0, OAM_SF_ANY, "{%s::WalSetChannel failed!ret=%d!}\r\n", __func__, ret); - return ret; - } - ret = WalSetSsid(netDev, apConf->ssidConf.ssid, apConf->ssidConf.ssidLen); - if (ret != HI_SUCCESS) { - oam_error_log2(0, OAM_SF_ANY, "{%s::WalSetSsid failed!ret=%d!}\r\n", __func__, ret); - return ret; - } - return HI_SUCCESS; -} - -void WalReleaseHwCapability(struct WlanHwCapability *self) -{ - uint8_t i; - if (self == NULL) { - return; - } - for (i = 0; i < IEEE80211_NUM_BANDS; i++) { - if (self->bands[i] != NULL) { - OsalMemFree(self->bands[i]); - self->bands[i] = NULL; - } - } - if (self->supportedRates != NULL) { - OsalMemFree(self->supportedRates); - self->supportedRates = NULL; - } - OsalMemFree(self); -} - - -int32_t WalGetHwCapability(struct NetDevice *netDev, struct WlanHwCapability **capability) -{ - uint8_t loop; - (void)netDev; - if (netDev == NULL || GET_NET_DEV_CFG80211_WIRELESS(netDev) == NULL || - GET_NET_DEV_CFG80211_WIRELESS(netDev)->wiphy == NULL) { - return HI_FAIL; - } - if (capability == NULL) { - return HI_FAIL; - } - oal_ieee80211_supported_band *band = GET_NET_DEV_CFG80211_WIRELESS(netDev)->wiphy->bands[IEEE80211_BAND_2GHZ]; - struct WlanHwCapability *hwCapability = (struct WlanHwCapability *)OsalMemCalloc(sizeof(struct WlanHwCapability)); - if (hwCapability == NULL) { - oam_error_log1(0, OAM_SF_ANY, "{%s::oom!}\r\n", __func__); - return HI_FAIL; - } - hwCapability->Release = WalReleaseHwCapability; - if (hwCapability->bands[IEEE80211_BAND_2GHZ] == NULL) { - hwCapability->bands[IEEE80211_BAND_2GHZ] = - OsalMemCalloc(sizeof(struct WlanBand) + (sizeof(struct WlanChannel) * band->n_channels)); - if (hwCapability->bands[IEEE80211_BAND_2GHZ] == NULL) { - oam_error_log1(0, OAM_SF_ANY, "{%s::oom!}\r\n", __func__); - WalReleaseHwCapability(hwCapability); - return HI_FAIL; - } - } - hwCapability->htCapability = band->ht_cap.cap; - hwCapability->bands[IEEE80211_BAND_2GHZ]->channelCount = band->n_channels; - for (loop = 0; loop < band->n_channels; loop++) { - hwCapability->bands[IEEE80211_BAND_2GHZ]->channels[loop].centerFreq = band->channels[loop].center_freq; - hwCapability->bands[IEEE80211_BAND_2GHZ]->channels[loop].flags = band->channels[loop].flags; - hwCapability->bands[IEEE80211_BAND_2GHZ]->channels[loop].channelId = band->channels[loop].hw_value; - } - hwCapability->supportedRateCount = band->n_bitrates; - hwCapability->supportedRates = OsalMemCalloc(sizeof(uint16_t) * band->n_bitrates); - if (hwCapability->supportedRates == NULL) { - oam_error_log1(0, OAM_SF_ANY, "{%s::oom!}\r\n", __func__); - WalReleaseHwCapability(hwCapability); - return HI_FAIL; - } - for (loop = 0; loop < band->n_bitrates; loop++) { - hwCapability->supportedRates[loop] = band->bitrates[loop].bitrate; - } - *capability = hwCapability; - return HI_SUCCESS; -} - -int32_t WalRemainOnChannel(struct NetDevice *netDev, WifiOnChannel *onChannel) -{ - if (netDev == NULL || onChannel == NULL) { - HDF_LOGE("%s:NULL ptr!", __func__); - return HI_FAIL; - } - oal_wiphy_stru *wiphy = oal_wiphy_get(); - oal_wireless_dev *wdev = GET_NET_DEV_CFG80211_WIRELESS(netDev); - hi_u64 pullCookie = 0; - hi_u8 channelIdx; - oal_ieee80211_channel* wifi2ghzChannels = wal_get_g_wifi_2ghz_channels(); - - channelIdx = (hi_u8)oal_ieee80211_frequency_to_channel(onChannel->freq); - - return (hi_s32)wal_cfg80211_remain_on_channel(wiphy, wdev, &(wifi2ghzChannels[channelIdx - 1]), - (hi_u32)onChannel->duration, &pullCookie); -} - -int32_t WalCancelRemainOnChannel(struct NetDevice *netDev) -{ - if (netDev == NULL) { - HDF_LOGE("%s:NULL ptr!", __func__); - return HI_FAIL; - } - - oal_wireless_dev *wdev = GET_NET_DEV_CFG80211_WIRELESS(netDev); - return (hi_s32)wal_cfg80211_cancel_remain_on_channel(HI_NULL, wdev, (hi_u64)0); -} - -int32_t WalProbeReqReport(struct NetDevice *netDev, int32_t report) -{ - (void)report; - if (netDev == NULL) { - HDF_LOGE("%s:NULL ptr!", __func__); - return HI_FAIL; - } - return HI_SUCCESS; -} - -int32_t WalAddIf(struct NetDevice *netDev, WifiIfAdd *ifAdd) -{ - if (netDev == NULL || ifAdd == NULL) { - HDF_LOGE("%s:NULL ptr!", __func__); - return HI_FAIL; - } - - int32_t ret = InitNetdev(netDev, (nl80211_iftype_uint8)ifAdd->type); - if (ret != HI_SUCCESS) { - oam_error_log0(0, 0, "hwal_ioctl_add_if: wal_init_drv_wlan_netdev failed!"); - return -HI_FAIL; - } - return HI_SUCCESS; -} - -int32_t WalRemoveIf(struct NetDevice *netDev, WifiIfRemove *ifRemove) -{ - if (netDev == NULL || ifRemove == NULL) { - HDF_LOGE("%s:NULL ptr!", __func__); - return HI_FAIL; - } - - struct NetDevice *removeNetdev = NULL; - removeNetdev = NetDeviceGetInstByName((const char*)(ifRemove->ifname)); - if (removeNetdev == NULL) { - return -HI_FAIL; - } - int32_t ret = wal_deinit_drv_wlan_netdev(removeNetdev); - if (ret != HI_SUCCESS) { - oam_error_log0(0, 0, "hwal_ioctl_remove_if: wal_deinit_drv_wlan_netdev failed!"); - return -HI_FAIL; - } - NetDeviceDeInit(removeNetdev); - return HI_SUCCESS; -} - -int32_t WalSetApWpsP2pIe(struct NetDevice *netDev, WifiAppIe *appIe) -{ - if (netDev == NULL || appIe == NULL) { - HDF_LOGE("%s:NULL ptr!", __func__); - return HI_FAIL; - } - - if (appIe->ieLen > WLAN_WPS_IE_MAX_SIZE) { - oam_error_log0(0, 0, "app ie length is too large!"); - return -HI_FAIL; - } - - return (hi_s32)wal_ioctl_set_wps_p2p_ie(netDev, appIe->ie, appIe->ieLen, - appIe->appIeType); -} - -int32_t WalGetDriverFlag(struct NetDevice *netDev, WifiGetDrvFlags **params) -{ - if (netDev == NULL || params == NULL) { - HDF_LOGE("%s:NULL ptr!", __func__); - return HI_FAIL; - } - oal_wireless_dev *wdev = GET_NET_DEV_CFG80211_WIRELESS(netDev); - WifiGetDrvFlags *getDrvFlag = (WifiGetDrvFlags *)OsalMemCalloc(sizeof(WifiGetDrvFlags)); - switch (wdev->iftype) { - case NL80211_IFTYPE_P2P_CLIENT: - /* fall-through */ - case NL80211_IFTYPE_P2P_GO: - getDrvFlag->drvFlags = (hi_u64)(HISI_DRIVER_FLAGS_AP); - break; - case NL80211_IFTYPE_P2P_DEVICE: - getDrvFlag->drvFlags = (hi_u64)(HISI_DRIVER_FLAGS_P2P_DEDICATED_INTERFACE | - HISI_DRIVER_FLAGS_P2P_CONCURRENT | - HISI_DRIVER_FLAGS_P2P_CAPABLE); - break; - default: - getDrvFlag->drvFlags = 0; - } - *params = getDrvFlag; - return HI_SUCCESS; -} - -int32_t InitMsgHdr (wal_msg_write_stru *writeMsg, WifiActionData *actionData) -{ - hi_unref_param(writeMsg); - - if(actionData->data[0] == MAC_ACTION_CATEGORY_SELF_PROTECTED) { -#ifdef _PRE_WLAN_FEATURE_MESH - wal_write_msg_hdr_init(writeMsg, WLAN_CFGID_SEND_MESH_ACTION, sizeof(WifiActionData)); -#else - return HI_FAIL; -#endif - } else if (actionData->data[0] == MAC_ACTION_CATEGORY_PUBLIC) { -#ifdef _PRE_WLAN_FEATURE_P2P - wal_write_msg_hdr_init(writeMsg, WLAN_CFGID_SEND_P2P_ACTION, sizeof(WifiActionData)); -#endif - } else { - return HI_FAIL; - } - - return HI_SUCCESS; -} - -int32_t WalSendAction(struct NetDevice *netDev, WifiActionData *actionData) -{ - wal_msg_write_stru write_msg; - - if (netDev == NULL || actionData == NULL) { - HDF_LOGE("%s:NULL ptr!", __func__); - return HI_FAIL; - } - if (InitMsgHdr(&write_msg, actionData) == HI_FAIL) { - return HI_FAIL; - } - - mac_action_data_stru *actionParam = (mac_action_data_stru *)(write_msg.auc_value); - - if (memcpy_s(actionParam->dst, WLAN_MAC_ADDR_LEN, actionData->dst, WLAN_MAC_ADDR_LEN) || - memcpy_s(actionParam->src, WLAN_MAC_ADDR_LEN, actionData->src, WLAN_MAC_ADDR_LEN) || - memcpy_s(actionParam->bssid, WLAN_MAC_ADDR_LEN, actionData->bssid, WLAN_MAC_ADDR_LEN)) { - oam_error_log0(0, 0, "hwal_ioctol_send_action :oal_copy_from_user_new dst,src or bssid ailed "); - return HI_FAIL; - } - - actionParam->data = HI_NULL; - if (actionData->dataLen > 0 && actionData->dataLen <= MAX_ACTION_DATA_LEN) { - actionParam->data = (hi_u8 *)OsalMemCalloc(actionData->dataLen * sizeof(hi_u8)); - if (oal_unlikely(actionParam->data == HI_NULL)) { - oam_error_log0(0, OAM_SF_CFG, "{hwal_ioctol_send_action ::puc_data alloc mem return null ptr!}"); - return HI_FAIL; - } - if (memcpy_s(actionParam->data, actionData->dataLen, actionData->data, actionData->dataLen)) { - oam_error_log0(0, 0, "hwal_ioctl_send_action :oal_copy_from_user_new action_data failed. "); - return HI_FAIL; - } - } - actionParam->data_len = actionData->dataLen; - - oam_warning_log4(0, 0, "hwal_ioctl_send_action send action frame(mac addr = %02X:XX:%02X:XX:%02X:%02X)", - actionParam->dst[0], actionParam->dst[2], /* 0 2 */ - actionParam->dst[4], actionParam->dst[5]); /* 4 5 */ - - hi_s32 ret = wal_send_cfg_event(netDev, WAL_MSG_TYPE_WRITE, - WAL_MSG_WRITE_MSG_HDR_LENGTH + sizeof(mac_action_data_stru), (hi_u8 *)&write_msg, HI_FALSE, HI_NULL); - if (ret != HI_SUCCESS) { - oam_warning_log1(0,0, "{hwal_ioctl_send_action ::send action frame to driver failed[%d].}", ret); - OsalMemFree(actionParam->data); - return HI_FAIL; - } - - return HI_SUCCESS; -} - -int32_t WalGetIftype(struct NetDevice *netDev, uint8_t *iftype) -{ - iftype = &(GET_NET_DEV_CFG80211_WIRELESS(netDev)->iftype); - return HI_SUCCESS; -} - -static struct HdfMac80211BaseOps g_baseOps = { - .SetMode = WalSetMode, - .AddKey = WalAddKey, - .DelKey = WalDelKey, - .SetDefaultKey = WalSetDefaultKey, - .GetDeviceMacAddr = WalGetDeviceMacAddr, - .SetMacAddr = WalSetMacAddr, - .SetTxPower = WalSetTxPower, - .GetValidFreqsWithBand = WalGetValidFreqsWithBand, - .GetHwCapability = WalGetHwCapability, - .RemainOnChannel = WalRemainOnChannel, - .CancelRemainOnChannel = WalCancelRemainOnChannel, - .ProbeReqReport = WalProbeReqReport, - .AddIf = WalAddIf, - .RemoveIf = WalRemoveIf, - .SetApWpsP2pIe = WalSetApWpsP2pIe, - .GetDriverFlag = WalGetDriverFlag, - .SendAction = WalSendAction, - .GetIftype = WalGetIftype, -}; - -static struct HdfMac80211STAOps g_staOps = { - .Connect = - .Disconnect = - .StartScan = WalStartScan, - .AbortScan = WalAbortScan, - .SetScanningMacAddress = WalSetScanningMacAddress, -}; - -static struct HdfMac80211APOps g_apOps = { - .ConfigAp = WalConfigAp, - .StartAp = WalStartAp, - .StopAp = WalStopAp, - .ConfigBeacon = WalChangeBeacon, - .DelStation = WalDelStation, - .SetCountryCode = WalSetCountryCode, - .GetAssociatedStasCount = WalGetAssociatedStasCount, - .GetAssociatedStasInfo = WalGetAssociatedStasInfo -}; - -hi_void HiMac80211Init(struct HdfChipDriver *chipDriver) -{ - if (chipDriver == NULL) { - oam_error_log(0, OAM_SF_ANY, "%s:input is NULL!", __func__); - return; - } - chipDriver->ops = &g_baseOps; - chipDriver->staOps = &g_staOps; - chipDriver->apOps = &g_apOps; -} +/* + * Copyright (C) 2021 HiSilicon (Shanghai) Technologies CO., LIMITED. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "oal_ext_if.h" +#include "oam_ext_if.h" +#include "hi_list.h" +#include "hmac_ext_if.h" +#include "wal_11d.h" +#include "wal_main.h" +#include "wal_ioctl.h" +#include "wal_regdb.h" +#include "wifi_mac80211_ops.h" +#include "wal_cfg80211.h" +#include "wal_wpa_ioctl.h" +#include "net_adpater.h" +#include "hdf_wlan_utils.h" +#include "wifi_module.h" +#include "osal_mem.h" + +#define HDF_LOG_TAG Hi3881Driver + +static struct MacStorage g_macStorage = { 0 }; + +#define WIFI_SCAN_EXTRA_IE_LEN_MAX 512 + +int32_t WalDisconnect(NetDevice *netDev, uint16_t reasonCode) +{ + return wal_cfg80211_disconnect(NULL, netDev, reasonCode); +} + +hi_u32 wal_send_scan_abort_msg(oal_net_device_stru *netdev); + +static int32_t WifiScanSetSsid(const struct WlanScanRequest *params, oal_cfg80211_scan_request_stru *request) +{ + int32_t count = 0; + int32_t loop; + + if (params->ssidCount > WPAS_MAX_SCAN_SSIDS) { + oam_error_log(0, OAM_SF_ANY, "%s:unexpected numSsids!numSsids=%u", __func__, params->ssidCount); + return HDF_FAILURE; + } + + if (params->ssidCount == 0) { + oam_debug_log(0, OAM_SF_ANY, "%s:ssid number is 0!", __func__); + return HDF_SUCCESS; + } + + request->ssids = (oal_cfg80211_ssid_stru *)OsalMemCalloc(params->ssidCount * sizeof(oal_cfg80211_ssid_stru)); + if (request->ssids == NULL) { + oam_error_log(0, OAM_SF_ANY, "%s:oom", __func__); + return HDF_FAILURE; + } + + for (loop = 0; loop < params->ssidCount; loop++) { + if (count >= DRIVER_MAX_SCAN_SSIDS) { + break; + } + + if (params->ssids[loop].ssidLen > IEEE80211_MAX_SSID_LEN) { + continue; + } + + request->ssids[count].ssid_len = params->ssids[loop].ssidLen; + if (memcpy_s(request->ssids[count].ssid, OAL_IEEE80211_MAX_SSID_LEN, params->ssids[loop].ssid, + params->ssids[loop].ssidLen) != EOK) { + continue; + } + count++; + } + request->n_ssids = count; + + return HDF_SUCCESS; +} + +static int32_t WifiScanSetUserIe(const struct WlanScanRequest *params, oal_cfg80211_scan_request_stru *request) +{ + if (params->extraIEsLen > WIFI_SCAN_EXTRA_IE_LEN_MAX) { + oam_error_log(0, OAM_SF_ANY, "%s:unexpected extra len!extraIesLen=%d", __func__, params->extraIEsLen); + return HDF_FAILURE; + } + if ((params->extraIEs != NULL) && (params->extraIEsLen != 0)) { + request->ie = (uint8_t *)OsalMemCalloc(params->extraIEsLen); + if (request->ie == NULL) { + oam_error_log(0, OAM_SF_ANY, "%s:oom", __func__); + goto fail; + } + (void)memcpy_s(request->ie, params->extraIEsLen, params->extraIEs, params->extraIEsLen); + request->ie_len = params->extraIEsLen; + } + + return HDF_SUCCESS; + +fail: + if (request->ie != NULL) { + OsalMemFree(request->ie); + request->ie = NULL; + } + + return HDF_FAILURE; +} + +static oal_ieee80211_channel *GetChannelByFreq(const oal_wiphy_stru *wiphy, uint16_t center_freq) +{ + enum Ieee80211Band band; + oal_ieee80211_supported_band *currentBand = NULL; + int32_t loop; + for (band = (enum Ieee80211Band)0; band < IEEE80211_NUM_BANDS; band++) { + currentBand = wiphy->bands[band]; + if (currentBand == NULL) { + continue; + } + for (loop = 0; loop < currentBand->n_channels; loop++) { + if (currentBand->channels[loop].center_freq == center_freq) { + return ¤tBand->channels[loop]; + } + } + } + return NULL; +} + +static int32_t WifiScanSetChannel(const oal_wiphy_stru *wiphy, const struct WlanScanRequest *params, + oal_cfg80211_scan_request_stru *request) +{ + int32_t loop; + int32_t count = 0; + enum Ieee80211Band band = IEEE80211_BAND_2GHZ; + oal_ieee80211_channel *chan = NULL; + + if ((params->freqs == NULL) || (params->freqsCount == 0)) { + if (wiphy->bands[band] == NULL) { + oam_error_log(0, OAM_SF_ANY, "%s:invalid band info", __func__); + return HDF_FAILURE; + } + + for (loop = 0; loop < (int32_t)wiphy->bands[band]->n_channels; loop++) { + chan = &wiphy->bands[band]->channels[loop]; + if ((chan->flags & WIFI_CHAN_DISABLED) != 0) { + continue; + } + request->channels[count++] = chan; + } + } else { + for (loop = 0; loop < params->freqsCount; loop++) { + chan = GetChannelByFreq(wiphy, (uint16_t)(params->freqs[loop])); + if (chan == NULL) { + oam_error_log(0, OAM_SF_ANY, "%s:freq not found!freq=%d", __func__, params->freqs[loop]); + continue; + } + + request->channels[count++] = chan; + } + } + + if (count == 0) { + oam_error_log(0, OAM_SF_ANY, "%s:invalid freq info", __func__); + return HDF_FAILURE; + } + request->n_channels = count; + + return HDF_SUCCESS; +} + +static int32_t WifiScanSetRequest(struct NetDevice *netdev, const struct WlanScanRequest *params, + oal_cfg80211_scan_request_stru *request) +{ + if (netdev == NULL || netdev->ieee80211Ptr == NULL) { + return HDF_FAILURE; + } + request->wiphy = GET_NET_DEV_CFG80211_WIRELESS(netdev)->wiphy; + request->dev = netdev; + request->wdev = GET_NET_DEV_CFG80211_WIRELESS(netdev); + request->n_ssids = params->ssidCount; + request->prefix_ssid_scan_flag = 0; + if (WifiScanSetChannel(GET_NET_DEV_CFG80211_WIRELESS(netdev)->wiphy, params, request)) { + oam_error_log(0, OAM_SF_ANY, "%s:set channel failed!", __func__); + return HDF_FAILURE; + } + if (WifiScanSetSsid(params, request)) { + oam_error_log(0, OAM_SF_ANY, "%s:set ssid failed!", __func__); + return HDF_FAILURE; + } + if (WifiScanSetUserIe(params, request)) { + oam_error_log(0, OAM_SF_ANY, "%s:set user ie failed!", __func__); + return HDF_FAILURE; + } + return HDF_SUCCESS; +} + +static void WifiScanFree(oal_cfg80211_scan_request_stru **request) +{ + if (*request != NULL) { + if ((*request)->ie != NULL) { + OsalMemFree((*request)->ie); + (*request)->ie = NULL; + } + if ((*request)->ssids != NULL) { + OsalMemFree((*request)->ssids); + (*request)->ssids = NULL; + } + OsalMemFree(*request); + *request = NULL; + } +} + +static int32_t WalStartScan(NetDevice *netdev, struct WlanScanRequest *scanParam) +{ + oal_wiphy_stru *wiphy = oal_wiphy_get(); + + oal_cfg80211_scan_request_stru *request = + (oal_cfg80211_scan_request_stru *)OsalMemCalloc(sizeof(oal_cfg80211_scan_request_stru)); + if (request == NULL) { + oam_error_log0(0, OAM_SF_ANY, "{WalStartScan::oom!}"); + return HDF_FAILURE; + } + if (WifiScanSetRequest(netdev, scanParam, request) != HDF_SUCCESS) { + WifiScanFree(&request); + return HDF_FAILURE; + } + // scan request will be released after scan finish + hi_u32 ret = wal_cfg80211_scan(wiphy, request); + if (ret != HI_SUCCESS) { + WifiScanFree(&request); + } + return ret; +} + +static oal_ieee80211_channel_stru *WalGetChannel(oal_wiphy_stru *wiphy, int32_t freq) +{ + if (wiphy == NULL) { + HDF_LOGE("%s: capality is NULL!", __func__); + return NULL; + } + + enum Ieee80211Band band; + oal_ieee80211_supported_band *currentBand = NULL; + int32_t loop; + + for (band = (enum Ieee80211Band)0; band < IEEE80211_NUM_BANDS; band++) { + currentBand = wiphy->bands[band]; + if (currentBand == NULL) { + continue; + } + + for (loop = 0; loop < currentBand->n_channels; loop++) { + if (currentBand->channels[loop].center_freq == freq) { + return ¤tBand->channels[loop]; + } + } + } + + return NULL; +} + +static int32_t WalConnect(NetDevice *netDev, WlanConnectParams *param) +{ + if (netDev == NULL || param == NULL) { + HDF_LOGE("%s:NULL ptr!", __func__); + return HDF_FAILURE; + } + oal_wiphy_stru *wiphy = oal_wiphy_get(); + oal_cfg80211_connect_params_stru cfg80211_params = { 0 }; + if (param->centerFreq != WLAN_FREQ_NOT_SPECFIED) { + cfg80211_params.channel = WalGetChannel(wiphy, param->centerFreq); + if ((cfg80211_params.channel == NULL) || (cfg80211_params.channel->flags & WIFI_CHAN_DISABLED)) { + HDF_LOGE("%s:illegal channel.flags=%u", __func__, + (cfg80211_params.channel == NULL) ? 0 : cfg80211_params.channel->flags); + return HDF_FAILURE; + } + } + cfg80211_params.bssid = param->bssid; + cfg80211_params.ssid = param->ssid; + cfg80211_params.ie = param->ie; + cfg80211_params.ssid_len = param->ssidLen; + cfg80211_params.ie_len = param->ieLen; + int ret = memcpy_s(&cfg80211_params.crypto, sizeof(cfg80211_params.crypto), ¶m->crypto, sizeof(param->crypto)); + if (ret != EOK) { + HDF_LOGE("%s:Copy crypto info failed!ret=%d", __func__, ret); + return HDF_FAILURE; + } + cfg80211_params.key = param->key; + cfg80211_params.auth_type = (oal_nl80211_auth_type_enum_uint8)param->authType; + cfg80211_params.privacy = param->privacy; + cfg80211_params.key_len = param->keyLen; + cfg80211_params.key_idx = param->keyIdx; + cfg80211_params.mfp = (oal_nl80211_mfp_enum_uint8)param->mfp; + + return wal_cfg80211_connect(wiphy, netDev, &cfg80211_params); +} + +static int32_t SetupWireLessDev(struct NetDevice *netDev, struct WlanAPConf *apSettings) +{ + if (netDev->ieee80211Ptr == NULL) { + netDev->ieee80211Ptr = (struct wireless_dev *)OsalMemCalloc(sizeof(struct wireless_dev)); + if (netDev->ieee80211Ptr == NULL) { + return HDF_ERR_INVALID_PARAM; + } + } + + if (GET_NET_DEV_CFG80211_WIRELESS(netDev)->preset_chandef.chan == NULL) { + GET_NET_DEV_CFG80211_WIRELESS(netDev)->preset_chandef.chan = + (oal_ieee80211_channel *)OsalMemCalloc(sizeof(oal_ieee80211_channel)); + if (GET_NET_DEV_CFG80211_WIRELESS(netDev)->preset_chandef.chan == NULL) { + OsalMemFree(netDev->ieee80211Ptr); + netDev->ieee80211Ptr = NULL; + return HI_ERR_CODE_PTR_NULL; + } + } + + GET_NET_DEV_CFG80211_WIRELESS(netDev)->preset_chandef.width = (oal_nl80211_channel_type)apSettings->width; + GET_NET_DEV_CFG80211_WIRELESS(netDev)->preset_chandef.center_freq1 = apSettings->centerFreq1; + GET_NET_DEV_CFG80211_WIRELESS(netDev)->preset_chandef.chan->hw_value = apSettings->channel; + GET_NET_DEV_CFG80211_WIRELESS(netDev)->preset_chandef.chan->band = IEEE80211_BAND_2GHZ; + return HI_SUCCESS; +} + + +int32_t WalSetSsid(NetDevice *netDev, const uint8_t *ssid, uint32_t ssidLen) +{ + mac_cfg_ssid_param_stru ssid_param = { 0 }; + hi_u32 ret; + + ssid_param.ssid_len = ssidLen; + if (memcpy_s(ssid_param.ac_ssid, WLAN_SSID_MAX_LEN, (hi_s8 *)ssid, ssidLen) != EOK) { + oam_error_log0(0, 0, "{wal_cfg80211_set_ssid::mem safe function err!}"); + return HI_FAIL; + } + + ret = wal_cfg80211_start_req(netDev, &ssid_param, sizeof(mac_cfg_ssid_param_stru), WLAN_CFGID_SSID, HI_FALSE); + if (ret != HI_SUCCESS) { + oam_error_log1(0, OAM_SF_ANY, "{wal_cfg80211_set_ssid::return err code [%u]!}", ret); + return ret; + } + + return HI_SUCCESS; +} + +hi_u32 wal_cfg80211_set_channel_info(oal_net_device_stru *netdev); +int32_t WalSetChannel(NetDevice *netDev) +{ + return wal_cfg80211_set_channel_info(netDev); +} + +hi_u32 wal_cfg80211_fill_beacon_param(mac_vap_stru *mac_vap, oal_beacon_data_stru *beacon_info, + mac_beacon_param_stru *beacon_param); + +int32_t WalChangeBeacon(NetDevice *netDev, struct WlanBeaconConf *param) +{ + mac_beacon_param_stru beacon_param = { 0 }; + beacon_param.l_interval = param->interval; + beacon_param.l_dtim_period = param->DTIMPeriod; + beacon_param.hidden_ssid = param->hiddenSSID; + mac_vap_stru *mac_vap = oal_net_dev_priv(netDev); + + oam_info_log(0, OAM_SF_ANY, "%s: beacon info, head=%p, headLen=%d, tail=%p, tailLen=%d", __func__, param->headIEs, + param->headIEsLength, param->tailIEs, param->tailIEsLength); + + oal_beacon_data_stru beacon_data = { 0 }; + beacon_data.head = param->headIEs; + beacon_data.head_len = param->headIEsLength; + beacon_data.tail = param->tailIEs; + beacon_data.tail_len = param->tailIEsLength; + + hi_u32 ret = wal_cfg80211_fill_beacon_param(mac_vap, &beacon_data, &beacon_param); + if (ret != HI_SUCCESS) { + oam_warning_log1(0, OAM_SF_ANY, "{wal_cfg80211_fill_beacon_param failed!ret=%d}\r\n", ret); + return ret; + } + + beacon_param.operation_type = MAC_ADD_BEACON; + return wal_cfg80211_start_req((oal_net_device_stru *)netDev, &beacon_param, sizeof(mac_beacon_param_stru), + WLAN_CFGID_CFG80211_CONFIG_BEACON, HI_FALSE); +} + +int32_t WalSetMeshId(NetDevice *netDev, const char *meshId, uint32_t meshIdLen) +{ +#ifdef _PRE_WLAN_FEATURE_MESH + return wal_cfg80211_set_meshid((oal_net_device_stru *)netDev, meshId, meshIdLen); +#else + (void)netDev; + (void)meshId; + (void)meshIdLen; + return 0; +#endif +} + +hi_u32 wal_start_vap(oal_net_device_stru *netdev); + +int32_t WalStartAp(NetDevice *netDev) +{ + return wal_start_vap(netDev); +} + +int32_t WalStopAp(NetDevice *netDev) +{ + wal_msg_write_stru write_msg; + if (netDev == HI_NULL) { + oam_error_log0(0, OAM_SF_ANY, "{wal_cfg80211_stop_ap::pst_netdev is null!}"); + goto fail; + } + mac_vap_stru *mac_vap = oal_net_dev_priv(netDev); + if (mac_vap == HI_NULL) { + oam_error_log0(0, OAM_SF_ANY, "{wal_cfg80211_stop_ap::can't get mac vap from netdevice priv data!}"); + goto fail; + } + + if ((mac_vap->vap_mode != WLAN_VAP_MODE_BSS_AP) +#ifdef _PRE_WLAN_FEATURE_MESH + && (mac_vap->vap_mode != WLAN_VAP_MODE_MESH) +#endif + ) { + oam_error_log0(mac_vap->vap_id, OAM_SF_ANY, "{wal_cfg80211_stop_ap::vap is not in ap mode!}"); + goto fail; + } + + if ((oal_netdevice_flags(netDev) & OAL_IFF_RUNNING) == 0) { + oam_warning_log0(0, OAM_SF_ANY, "{wal_cfg80211_stop_ap::vap is already down!}\r\n"); + return HI_SUCCESS; + } + + wal_write_msg_hdr_init(&write_msg, WLAN_CFGID_DOWN_VAP, sizeof(mac_cfg_start_vap_param_stru)); + +#ifdef _PRE_WLAN_FEATURE_P2P + oal_wireless_dev *wdev = netDev->ieee80211Ptr; + wlan_p2p_mode_enum_uint8 p2p_mode = wal_wireless_iftype_to_mac_p2p_mode(wdev->iftype); + if (WLAN_P2P_BUTT == p2p_mode) { + oam_error_log0(0, OAM_SF_ANY, "{wal_cfg80211_stop_ap::wal_wireless_iftype_to_mac_p2p_mode return BUFF}\r\n"); + goto fail; + } + oam_warning_log1(0, OAM_SF_ANY, "{wal_cfg80211_stop_ap::en_p2p_mode=%u}\r\n", p2p_mode); + + ((mac_cfg_start_vap_param_stru *)write_msg.auc_value)->p2p_mode = p2p_mode; +#endif + + ((mac_cfg_start_vap_param_stru *)write_msg.auc_value)->net_dev = netDev; + + hi_u32 ret = wal_send_cfg_event(netDev, WAL_MSG_TYPE_WRITE, + WAL_MSG_WRITE_MSG_HDR_LENGTH + sizeof(mac_cfg_start_vap_param_stru), (hi_u8 *)&write_msg, HI_FALSE, HI_NULL); + if (oal_unlikely(ret != HI_SUCCESS)) { + oam_warning_log1(mac_vap->vap_id, OAM_SF_ANY, "{wal_cfg80211_stop_ap::failed to stop ap, error[%u]}", ret); + goto fail; + } + + return HI_SUCCESS; + +fail: +#if (_PRE_OS_VERSION_LITEOS == _PRE_OS_VERSION) + return HI_FAIL; +#elif (_PRE_OS_VERSION_LINUX == _PRE_OS_VERSION) + return -HI_FAIL; +#endif +} + +int32_t WalDelStation(NetDevice *netDev, const uint8_t *macAddr) +{ + oal_station_del_parameters_stru params = { 0 }; + params.mac = macAddr; + return wal_cfg80211_del_station(NULL, netDev, ¶ms); +} + +int32_t WalAddKey(struct NetDevice *netdev, uint8_t keyIndex, bool pairwise, const uint8_t *macAddr, + struct KeyParams *params) +{ + oal_key_params_stru keyParm = { 0 }; + keyParm.key = params->key; + keyParm.key_len = params->keyLen; + keyParm.seq_len = params->seqLen; + keyParm.seq = params->seq; + keyParm.cipher = params->cipher; + return wal_cfg80211_add_key(NULL, netdev, keyIndex, pairwise, macAddr, &keyParm); +} + +int32_t WalDelKey(struct NetDevice *netdev, uint8_t keyIndex, bool pairwise, const uint8_t *macAddr) +{ + return wal_cfg80211_remove_key(NULL, netdev, keyIndex, pairwise, macAddr); +} + +int32_t WalSetDefaultKey(struct NetDevice *netDev, uint8_t keyIndex, bool unicast, bool multicas) +{ + return wal_cfg80211_set_default_key(NULL, netDev, keyIndex, unicast, multicas); +} + +int32_t WalSetMacAddr(NetDevice *netDev, uint8_t *mac, uint8_t len) +{ + (void)netDev; + uint32_t ret; + + ret = wal_macaddr_check(mac); + if (ret != HI_SUCCESS) { + oam_error_log0(0, OAM_SF_ANY, "mac addr is unavailable!"); + return ret; + } + ret = memcpy_s(g_macStorage.mac, ETHER_ADDR_LEN, mac, len); + if (ret != HI_SUCCESS) { + oam_error_log0(0, OAM_SF_ANY, "memcpy_s failed!"); + return ret; + } + g_macStorage.isStorage = true; + return HI_SUCCESS; +} + +static int32_t PreSetMac(NetDevice *netDev, hi_u8 *mac, hi_u8 len) +{ + uint32_t ret; + Mac80211SetMacParam param; + wal_msg_write_stru write_msg; + mac_cfg_staion_id_param_stru *mac_param = HI_NULL; + + ret = NetIfSetMacAddr(netDev, mac, len); + if (ret != HDF_SUCCESS) { + oam_error_log0(0, OAM_SF_ANY, "NetIfSetMacAddr failed!"); + return ret; + } + if (memcpy_s(param.mac, ETHER_ADDR_LEN, mac, ETHER_ADDR_LEN) != EOK) { + oam_error_log0(0, OAM_SF_ANY, "WalSetMacAddr:: memcpy_s FAILED"); + return HI_FAIL; + } + param.p2pMode = false; + param.resv = 0; + wal_write_msg_hdr_init(&write_msg, WLAN_CFGID_STATION_ID, sizeof(mac_cfg_staion_id_param_stru)); + mac_param = (mac_cfg_staion_id_param_stru *)write_msg.auc_value; + if (memcpy_s(mac_param, sizeof(mac_cfg_staion_id_param_stru), ¶m, sizeof(mac_cfg_staion_id_param_stru)) != + EOK) { + oam_error_log0(0, OAM_SF_ANY, "WalSetMacParam:: memcpy_s FAILED"); + return HI_FAIL; + } + ret = wal_send_cfg_event(netDev, WAL_MSG_TYPE_WRITE, + WAL_MSG_WRITE_MSG_HDR_LENGTH + sizeof(mac_cfg_staion_id_param_stru), (hi_u8 *)&write_msg, HI_FALSE, HI_NULL); + if (ret != HI_SUCCESS) { + oam_error_log1(0, OAM_SF_ANY, "{wal_set_mac_to_mib::return err code [%u]!}\r\n", ret); + return ret; + } + + ret = memset_s(g_macStorage.mac, ETHER_ADDR_LEN, 0, len); + if (ret != HDF_SUCCESS) { + oam_error_log0(0, OAM_SF_ANY, "memset_s failed!"); + return ret; + } + g_macStorage.isStorage = false; + return HI_SUCCESS; +} + +int32_t WalSetMode(NetDevice *netDev, enum WlanWorkMode iftype) +{ + int32_t ret; + uint32_t flags = 0; + oal_vif_params_stru params = { + .use_4addr = 0, + .macaddr = NULL + }; + oam_error_log1(0, OAM_SF_ANY, "{WalSetMode enter iftype:%d!}", iftype); + if (iftype == WLAN_WORKMODE_STA || iftype == WLAN_WORKMODE_AP) { + wal_deinit_drv_wlan_netdev(netDev); + ret = RenewNetDevice(&netDev); + if (ret != HDF_SUCCESS) { + oam_error_log(0, OAM_SF_ANY, "%s:RenewNetDevice failed!ret=%d", __func__, ret); + return ret; + } + ret = wal_init_drv_wlan_netdev(iftype, WAL_PHY_MODE_11N, netDev); + if (ret != HISI_OK) { + oam_error_log0(0, OAM_SF_ANY, "wal_init_drv_wlan_netdev failed!"); + return ret; + } + } + if (g_macStorage.isStorage) { + ret = PreSetMac(netDev, g_macStorage.mac, ETHER_ADDR_LEN); + if (ret != HI_SUCCESS) { + oam_error_log0(0, OAM_SF_ANY, "PreSetMac failed!}"); + return HI_FAIL; + } + params.macaddr = (hi_u8 *)netDev->macAddr; + } + + if (iftype == WLAN_WORKMODE_STA) + return HI_SUCCESS; + return wal_cfg80211_change_virtual_intf(NULL, netDev, iftype, &flags, ¶ms); +} + + +int32_t WalAbortScan(NetDevice *netDev) +{ + return wal_force_scan_complete(netDev); +} + + +extern hi_u8 g_efuseMacExist; +int32_t WalGetDeviceMacAddr(NetDevice *netDev, int32_t type, uint8_t *mac, uint8_t len) +{ + (void)netDev; + if (mac == NULL || len != ETHER_ADDR_LEN) { + oam_error_log0(0, OAM_SF_ANY, "{WalGetDeviceMacAddr::input param error!}"); + return HI_FAIL; + } + if (!g_efuseMacExist) { + /* if there is no data in efuse */ + oam_warning_log0(0, OAM_SF_ANY, "wal_get_efuse_mac_addr:: no data in efuse!"); + return HDF_ERR_NOT_SUPPORT; + } + if (wal_get_dev_addr(mac, len, type) != HI_SUCCESS) { + oam_error_log0(0, OAM_SF_ANY, "{set_mac_addr_by_type::GetDeviceMacAddr failed!}"); + return HI_FAIL; + } + return HI_SUCCESS; +} + +int32_t WalGetValidFreqsWithBand(NetDevice *netDev, int32_t band, int32_t *freqs, uint32_t *num) +{ + (void)netDev; + uint32_t freqIndex = 0; + uint32_t channelNumber; + uint32_t freqTmp; + uint32_t minFreq; + uint32_t maxFreq; + const struct ieee80211_regdomain *regdom = NULL; + + regdom = wal_get_cfg_regdb(); + if (regdom == NULL) { + oam_error_log0(0, OAM_SF_ANY, "wal_get_cfg_regdb failed!"); + return HI_FAIL; + } + minFreq = regdom->reg_rules[0].freq_range.start_freq_khz / MHZ_TO_KHZ; + maxFreq = regdom->reg_rules[0].freq_range.end_freq_khz / MHZ_TO_KHZ; + switch (band) { + case WLAN_BAND_2G: + for (channelNumber = 1; channelNumber <= WIFI_24G_CHANNEL_NUMS; channelNumber++) { + if (channelNumber < WAL_MAX_CHANNEL_2G) { + freqTmp = WAL_MIN_FREQ_2G + (channelNumber - 1) * WAL_FREQ_2G_INTERVAL; + } else if (channelNumber == WAL_MAX_CHANNEL_2G) { + freqTmp = WAL_MAX_FREQ_2G; + } + if (freqTmp < minFreq || freqTmp > maxFreq) { + continue; + } + freqs[freqIndex] = freqTmp; + freqIndex++; + } + *num = freqIndex; + break; + default: + oam_error_log0(0, OAM_SF_ANY, "not support this band!"); + return HDF_ERR_NOT_SUPPORT; + } + return HI_SUCCESS; +} + +int32_t WalSetTxPower(NetDevice *netDev, int32_t power) +{ + int32_t ret; + wal_msg_write_stru write_msg; + wal_write_msg_hdr_init(&write_msg, WLAN_CFGID_TX_POWER, sizeof(hi_s32)); + *((hi_s32 *)(write_msg.auc_value)) = power; + + ret = wal_send_cfg_event(netDev, WAL_MSG_TYPE_WRITE, WAL_MSG_WRITE_MSG_HDR_LENGTH + sizeof(hi_s32), + (hi_u8 *)&write_msg, HI_FALSE, HI_NULL); + if (ret != HI_SUCCESS) { + oam_error_log1(0, 0, "{WalSetTxPower::return err code %u!}", ret); + return ret; + } + return HI_SUCCESS; +} + +int32_t WalGetAssociatedStasCount(NetDevice *netDev, uint32_t *num) +{ + mac_vap_stru *mac_vap = HI_NULL; + mac_vap = (mac_vap_stru *)oal_net_dev_priv(netDev); + if (mac_vap == NULL) { + oam_error_log0(0, OAM_SF_ANY, "WalGetUserNum:: mac_vap is null"); + return HI_FAIL; + } + *num = mac_vap->user_nums; + return HI_SUCCESS; +} + +int32_t WalGetAssociatedStasInfo(NetDevice *netDev, WifiStaInfo *staInfo, uint32_t num) +{ + uint32_t number = 0; + mac_vap_stru *mac_vap = HI_NULL; + hi_list *entry = HI_NULL; + hi_list *user_list_head = HI_NULL; + mac_user_stru *user_tmp = HI_NULL; + + mac_vap = (mac_vap_stru *)oal_net_dev_priv(netDev); + if (mac_vap == NULL) { + oam_error_log0(0, OAM_SF_ANY, "WalGetAssociatedStas:: mac_vap is null"); + return HI_FAIL; + } + user_list_head = &(mac_vap->mac_user_list_head); + for (entry = user_list_head->next; entry != user_list_head && number < num; number++) { + user_tmp = hi_list_entry(entry, mac_user_stru, user_dlist); + if (user_tmp == HI_NULL) { + oam_error_log0(0, OAM_SF_ANY, "WalGetAssociatedStas:: mac_user is null"); + return HI_FAIL; + } + if (memcpy_s(staInfo + number, ETHER_ADDR_LEN, user_tmp->user_mac_addr, ETHER_ADDR_LEN)) { + oam_error_log0(0, OAM_SF_ANY, "WalGetAssociatedStas:: memcpy_s failed!"); + return HI_FAIL; + } + entry = entry->next; + } + return HI_SUCCESS; +} + +int32_t WalSetCountryCode(NetDevice *netDev, const char *code, uint32_t len) +{ + int32_t ret; + if (code == NULL || strlen(code) != len) { + oam_error_log0(0, OAM_SF_ANY, "{WalSetCountryCode::input param error!}"); + return HI_FAIL; + } + if (len > (MAC_CONTRY_CODE_LEN - 1)) { + oam_error_log0(0, OAM_SF_ANY, "{WalSetCountryCode::country code len error!}\r\n"); + return HI_FAIL; + } + ret = wal_regdomain_update(netDev, code, MAC_CONTRY_CODE_LEN); + if (ret != HI_SUCCESS) { + oam_error_log1(0, OAM_SF_ANY, "{WalSetCountryCode::regdomain_update return err code %u!}\r\n", ret); + return ret; + } + return HI_SUCCESS; +} + +int32_t WalSetScanningMacAddress(NetDevice *netDev, unsigned char *mac, uint32_t len) +{ + (void)netDev; + (void)mac; + (void)len; + return HDF_ERR_NOT_SUPPORT; +} + +int32_t WalConfigAp(NetDevice *netDev, struct WlanAPConf *apConf) +{ + int32_t ret = SetupWireLessDev(netDev, apConf); + if (ret != HI_SUCCESS) { + oam_error_log2(0, OAM_SF_ANY, "{%s::SetupWireLessDev failed!ret=%d!}\r\n", __func__, ret); + return ret; + } + ret = WalSetChannel(netDev); + if (ret != HI_SUCCESS) { + oam_error_log2(0, OAM_SF_ANY, "{%s::WalSetChannel failed!ret=%d!}\r\n", __func__, ret); + return ret; + } + ret = WalSetSsid(netDev, apConf->ssidConf.ssid, apConf->ssidConf.ssidLen); + if (ret != HI_SUCCESS) { + oam_error_log2(0, OAM_SF_ANY, "{%s::WalSetSsid failed!ret=%d!}\r\n", __func__, ret); + return ret; + } + return HI_SUCCESS; +} + +void WalReleaseHwCapability(struct WlanHwCapability *self) +{ + uint8_t i; + if (self == NULL) { + return; + } + for (i = 0; i < IEEE80211_NUM_BANDS; i++) { + if (self->bands[i] != NULL) { + OsalMemFree(self->bands[i]); + self->bands[i] = NULL; + } + } + if (self->supportedRates != NULL) { + OsalMemFree(self->supportedRates); + self->supportedRates = NULL; + } + OsalMemFree(self); +} + + +int32_t WalGetHwCapability(struct NetDevice *netDev, struct WlanHwCapability **capability) +{ + uint8_t loop; + (void)netDev; + if (netDev == NULL || GET_NET_DEV_CFG80211_WIRELESS(netDev) == NULL || + GET_NET_DEV_CFG80211_WIRELESS(netDev)->wiphy == NULL) { + return HI_FAIL; + } + if (capability == NULL) { + return HI_FAIL; + } + oal_ieee80211_supported_band *band = GET_NET_DEV_CFG80211_WIRELESS(netDev)->wiphy->bands[IEEE80211_BAND_2GHZ]; + struct WlanHwCapability *hwCapability = (struct WlanHwCapability *)OsalMemCalloc(sizeof(struct WlanHwCapability)); + if (hwCapability == NULL) { + oam_error_log1(0, OAM_SF_ANY, "{%s::oom!}\r\n", __func__); + return HI_FAIL; + } + hwCapability->Release = WalReleaseHwCapability; + if (hwCapability->bands[IEEE80211_BAND_2GHZ] == NULL) { + hwCapability->bands[IEEE80211_BAND_2GHZ] = + OsalMemCalloc(sizeof(struct WlanBand) + (sizeof(struct WlanChannel) * band->n_channels)); + if (hwCapability->bands[IEEE80211_BAND_2GHZ] == NULL) { + oam_error_log1(0, OAM_SF_ANY, "{%s::oom!}\r\n", __func__); + WalReleaseHwCapability(hwCapability); + return HI_FAIL; + } + } + hwCapability->htCapability = band->ht_cap.cap; + hwCapability->bands[IEEE80211_BAND_2GHZ]->channelCount = band->n_channels; + for (loop = 0; loop < band->n_channels; loop++) { + hwCapability->bands[IEEE80211_BAND_2GHZ]->channels[loop].centerFreq = band->channels[loop].center_freq; + hwCapability->bands[IEEE80211_BAND_2GHZ]->channels[loop].flags = band->channels[loop].flags; + hwCapability->bands[IEEE80211_BAND_2GHZ]->channels[loop].channelId = band->channels[loop].hw_value; + } + hwCapability->supportedRateCount = band->n_bitrates; + hwCapability->supportedRates = OsalMemCalloc(sizeof(uint16_t) * band->n_bitrates); + if (hwCapability->supportedRates == NULL) { + oam_error_log1(0, OAM_SF_ANY, "{%s::oom!}\r\n", __func__); + WalReleaseHwCapability(hwCapability); + return HI_FAIL; + } + for (loop = 0; loop < band->n_bitrates; loop++) { + hwCapability->supportedRates[loop] = band->bitrates[loop].bitrate; + } + *capability = hwCapability; + return HI_SUCCESS; +} + +int32_t WalRemainOnChannel(struct NetDevice *netDev, WifiOnChannel *onChannel) +{ + if (netDev == NULL || onChannel == NULL) { + HDF_LOGE("%s:NULL ptr!", __func__); + return HI_FAIL; + } + oal_wiphy_stru *wiphy = oal_wiphy_get(); + oal_wireless_dev *wdev = GET_NET_DEV_CFG80211_WIRELESS(netDev); + hi_u64 pullCookie = 0; + hi_u8 channelIdx; + oal_ieee80211_channel* wifi2ghzChannels = wal_get_g_wifi_2ghz_channels(); + + channelIdx = (hi_u8)oal_ieee80211_frequency_to_channel(onChannel->freq); + + return (hi_s32)wal_cfg80211_remain_on_channel(wiphy, wdev, &(wifi2ghzChannels[channelIdx - 1]), + (hi_u32)onChannel->duration, &pullCookie); +} + +int32_t WalCancelRemainOnChannel(struct NetDevice *netDev) +{ + if (netDev == NULL) { + HDF_LOGE("%s:NULL ptr!", __func__); + return HI_FAIL; + } + + oal_wireless_dev *wdev = GET_NET_DEV_CFG80211_WIRELESS(netDev); + return (hi_s32)wal_cfg80211_cancel_remain_on_channel(HI_NULL, wdev, (hi_u64)0); +} + +int32_t WalProbeReqReport(struct NetDevice *netDev, int32_t report) +{ + (void)report; + if (netDev == NULL) { + HDF_LOGE("%s:NULL ptr!", __func__); + return HI_FAIL; + } + return HI_SUCCESS; +} + +int32_t WalAddIf(struct NetDevice *netDev, WifiIfAdd *ifAdd) +{ + if (netDev == NULL || ifAdd == NULL) { + HDF_LOGE("%s:NULL ptr!", __func__); + return HI_FAIL; + } + + int32_t ret = InitNetdev(netDev, (nl80211_iftype_uint8)ifAdd->type); + if (ret != HI_SUCCESS) { + oam_error_log0(0, 0, "hwal_ioctl_add_if: wal_init_drv_wlan_netdev failed!"); + return -HI_FAIL; + } + return HI_SUCCESS; +} + +int32_t WalRemoveIf(struct NetDevice *netDev, WifiIfRemove *ifRemove) +{ + if (netDev == NULL || ifRemove == NULL) { + HDF_LOGE("%s:NULL ptr!", __func__); + return HI_FAIL; + } + + struct NetDevice *removeNetdev = NULL; + removeNetdev = NetDeviceGetInstByName((const char*)(ifRemove->ifname)); + if (removeNetdev == NULL) { + return -HI_FAIL; + } + int32_t ret = wal_deinit_drv_wlan_netdev(removeNetdev); + if (ret != HI_SUCCESS) { + oam_error_log0(0, 0, "hwal_ioctl_remove_if: wal_deinit_drv_wlan_netdev failed!"); + return -HI_FAIL; + } + NetDeviceDeInit(removeNetdev); + return HI_SUCCESS; +} + +int32_t WalSetApWpsP2pIe(struct NetDevice *netDev, WifiAppIe *appIe) +{ + if (netDev == NULL || appIe == NULL) { + HDF_LOGE("%s:NULL ptr!", __func__); + return HI_FAIL; + } + + if (appIe->ieLen > WLAN_WPS_IE_MAX_SIZE) { + oam_error_log0(0, 0, "app ie length is too large!"); + return -HI_FAIL; + } + + return (hi_s32)wal_ioctl_set_wps_p2p_ie(netDev, appIe->ie, appIe->ieLen, + appIe->appIeType); +} + +int32_t WalGetDriverFlag(struct NetDevice *netDev, WifiGetDrvFlags **params) +{ + if (netDev == NULL || params == NULL) { + HDF_LOGE("%s:NULL ptr!", __func__); + return HI_FAIL; + } + oal_wireless_dev *wdev = GET_NET_DEV_CFG80211_WIRELESS(netDev); + WifiGetDrvFlags *getDrvFlag = (WifiGetDrvFlags *)OsalMemCalloc(sizeof(WifiGetDrvFlags)); + switch (wdev->iftype) { + case NL80211_IFTYPE_P2P_CLIENT: + /* fall-through */ + case NL80211_IFTYPE_P2P_GO: + getDrvFlag->drvFlags = (hi_u64)(HISI_DRIVER_FLAGS_AP); + break; + case NL80211_IFTYPE_P2P_DEVICE: + getDrvFlag->drvFlags = (hi_u64)(HISI_DRIVER_FLAGS_P2P_DEDICATED_INTERFACE | + HISI_DRIVER_FLAGS_P2P_CONCURRENT | + HISI_DRIVER_FLAGS_P2P_CAPABLE); + break; + default: + getDrvFlag->drvFlags = 0; + } + *params = getDrvFlag; + return HI_SUCCESS; +} + +int32_t InitMsgHdr (wal_msg_write_stru *writeMsg, WifiActionData *actionData) +{ + hi_unref_param(writeMsg); + + if(actionData->data[0] == MAC_ACTION_CATEGORY_SELF_PROTECTED) { +#ifdef _PRE_WLAN_FEATURE_MESH + wal_write_msg_hdr_init(writeMsg, WLAN_CFGID_SEND_MESH_ACTION, sizeof(WifiActionData)); +#else + return HI_FAIL; +#endif + } else if (actionData->data[0] == MAC_ACTION_CATEGORY_PUBLIC) { +#ifdef _PRE_WLAN_FEATURE_P2P + wal_write_msg_hdr_init(writeMsg, WLAN_CFGID_SEND_P2P_ACTION, sizeof(WifiActionData)); +#endif + } else { + return HI_FAIL; + } + + return HI_SUCCESS; +} + +int32_t WalSendAction(struct NetDevice *netDev, WifiActionData *actionData) +{ + wal_msg_write_stru write_msg; + + if (netDev == NULL || actionData == NULL) { + HDF_LOGE("%s:NULL ptr!", __func__); + return HI_FAIL; + } + if (InitMsgHdr(&write_msg, actionData) == HI_FAIL) { + return HI_FAIL; + } + + mac_action_data_stru *actionParam = (mac_action_data_stru *)(write_msg.auc_value); + + if (memcpy_s(actionParam->dst, WLAN_MAC_ADDR_LEN, actionData->dst, WLAN_MAC_ADDR_LEN) || + memcpy_s(actionParam->src, WLAN_MAC_ADDR_LEN, actionData->src, WLAN_MAC_ADDR_LEN) || + memcpy_s(actionParam->bssid, WLAN_MAC_ADDR_LEN, actionData->bssid, WLAN_MAC_ADDR_LEN)) { + oam_error_log0(0, 0, "hwal_ioctol_send_action :oal_copy_from_user_new dst,src or bssid ailed "); + return HI_FAIL; + } + + actionParam->data = HI_NULL; + if (actionData->dataLen > 0 && actionData->dataLen <= MAX_ACTION_DATA_LEN) { + actionParam->data = (hi_u8 *)OsalMemCalloc(actionData->dataLen * sizeof(hi_u8)); + if (oal_unlikely(actionParam->data == HI_NULL)) { + oam_error_log0(0, OAM_SF_CFG, "{hwal_ioctol_send_action ::puc_data alloc mem return null ptr!}"); + return HI_FAIL; + } + if (memcpy_s(actionParam->data, actionData->dataLen, actionData->data, actionData->dataLen)) { + oam_error_log0(0, 0, "hwal_ioctl_send_action :oal_copy_from_user_new action_data failed. "); + return HI_FAIL; + } + } + actionParam->data_len = actionData->dataLen; + + oam_warning_log4(0, 0, "hwal_ioctl_send_action send action frame(mac addr = %02X:XX:%02X:XX:%02X:%02X)", + actionParam->dst[0], actionParam->dst[2], /* 0 2 */ + actionParam->dst[4], actionParam->dst[5]); /* 4 5 */ + + hi_s32 ret = wal_send_cfg_event(netDev, WAL_MSG_TYPE_WRITE, + WAL_MSG_WRITE_MSG_HDR_LENGTH + sizeof(mac_action_data_stru), (hi_u8 *)&write_msg, HI_FALSE, HI_NULL); + if (ret != HI_SUCCESS) { + oam_warning_log1(0,0, "{hwal_ioctl_send_action ::send action frame to driver failed[%d].}", ret); + OsalMemFree(actionParam->data); + return HI_FAIL; + } + + return HI_SUCCESS; +} + +int32_t WalGetIftype(struct NetDevice *netDev, uint8_t *iftype) +{ + iftype = &(GET_NET_DEV_CFG80211_WIRELESS(netDev)->iftype); + return HI_SUCCESS; +} + +static struct HdfMac80211BaseOps g_baseOps = { + .SetMode = WalSetMode, + .AddKey = WalAddKey, + .DelKey = WalDelKey, + .SetDefaultKey = WalSetDefaultKey, + .GetDeviceMacAddr = WalGetDeviceMacAddr, + .SetMacAddr = WalSetMacAddr, + .SetTxPower = WalSetTxPower, + .GetValidFreqsWithBand = WalGetValidFreqsWithBand, + .GetHwCapability = WalGetHwCapability, + .RemainOnChannel = WalRemainOnChannel, + .CancelRemainOnChannel = WalCancelRemainOnChannel, + .ProbeReqReport = WalProbeReqReport, + .AddIf = WalAddIf, + .RemoveIf = WalRemoveIf, + .SetApWpsP2pIe = WalSetApWpsP2pIe, + .GetDriverFlag = WalGetDriverFlag, + .SendAction = WalSendAction, + .GetIftype = WalGetIftype, +}; + +static struct HdfMac80211STAOps g_staOps = { + .Connect = + .Disconnect = + .StartScan = WalStartScan, + .AbortScan = WalAbortScan, + .SetScanningMacAddress = WalSetScanningMacAddress, +}; + +static struct HdfMac80211APOps g_apOps = { + .ConfigAp = WalConfigAp, + .StartAp = WalStartAp, + .StopAp = WalStopAp, + .ConfigBeacon = WalChangeBeacon, + .DelStation = WalDelStation, + .SetCountryCode = WalSetCountryCode, + .GetAssociatedStasCount = WalGetAssociatedStasCount, + .GetAssociatedStasInfo = WalGetAssociatedStasInfo +}; + +hi_void HiMac80211Init(struct HdfChipDriver *chipDriver) +{ + if (chipDriver == NULL) { + oam_error_log(0, OAM_SF_ANY, "%s:input is NULL!", __func__); + return; + } + chipDriver->ops = &g_baseOps; + chipDriver->staOps = &g_staOps; + chipDriver->apOps = &g_apOps; +} diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_main.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_main.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_main.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_main.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_main.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_main.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_main.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_main.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_maintenance.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_maintenance.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_maintenance.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_maintenance.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_maintenance.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_maintenance.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_maintenance.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_maintenance.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_net.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_net.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_net.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_net.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_regdb.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_regdb.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_regdb.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_regdb.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_regdb.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_regdb.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_regdb.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_regdb.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_scan.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_scan.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_scan.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_scan.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_scan.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_scan.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_scan.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_scan.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_wpa_ioctl.c b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_wpa_ioctl.c similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_wpa_ioctl.c rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_wpa_ioctl.c diff --git a/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_wpa_ioctl.h b/Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_wpa_ioctl.h similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_wpa_ioctl.h rename to Device/WifiDemo/device_hisilicon_drivers/wifi/driver/hi3881/wal/wal_wpa_ioctl.h diff --git a/WifiDemo/device_hisilicon_drivers/wifi/wifitest/BUILD.gn b/Device/WifiDemo/device_hisilicon_drivers/wifi/wifitest/BUILD.gn similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/wifitest/BUILD.gn rename to Device/WifiDemo/device_hisilicon_drivers/wifi/wifitest/BUILD.gn diff --git a/WifiDemo/device_hisilicon_drivers/wifi/wifitest/testfile/busybox b/Device/WifiDemo/device_hisilicon_drivers/wifi/wifitest/testfile/busybox old mode 100755 new mode 100644 similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/wifitest/testfile/busybox rename to Device/WifiDemo/device_hisilicon_drivers/wifi/wifitest/testfile/busybox diff --git a/WifiDemo/device_hisilicon_drivers/wifi/wifitest/testfile/hostapd.conf b/Device/WifiDemo/device_hisilicon_drivers/wifi/wifitest/testfile/hostapd.conf old mode 100755 new mode 100644 similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/wifitest/testfile/hostapd.conf rename to Device/WifiDemo/device_hisilicon_drivers/wifi/wifitest/testfile/hostapd.conf diff --git a/WifiDemo/device_hisilicon_drivers/wifi/wifitest/testfile/iperf b/Device/WifiDemo/device_hisilicon_drivers/wifi/wifitest/testfile/iperf old mode 100755 new mode 100644 similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/wifitest/testfile/iperf rename to Device/WifiDemo/device_hisilicon_drivers/wifi/wifitest/testfile/iperf diff --git a/WifiDemo/device_hisilicon_drivers/wifi/wifitest/testfile/udhcpd.conf b/Device/WifiDemo/device_hisilicon_drivers/wifi/wifitest/testfile/udhcpd.conf old mode 100755 new mode 100644 similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/wifitest/testfile/udhcpd.conf rename to Device/WifiDemo/device_hisilicon_drivers/wifi/wifitest/testfile/udhcpd.conf diff --git a/WifiDemo/device_hisilicon_drivers/wifi/wifitest/testfile/wpa_supplicant.conf b/Device/WifiDemo/device_hisilicon_drivers/wifi/wifitest/testfile/wpa_supplicant.conf old mode 100755 new mode 100644 similarity index 100% rename from WifiDemo/device_hisilicon_drivers/wifi/wifitest/testfile/wpa_supplicant.conf rename to Device/WifiDemo/device_hisilicon_drivers/wifi/wifitest/testfile/wpa_supplicant.conf diff --git a/WifiDemo/vendor_hisilicon/wifi/wlan_chip_hi3881.hcs b/Device/WifiDemo/vendor_hisilicon/wifi/wlan_chip_hi3881.hcs similarity index 96% rename from WifiDemo/vendor_hisilicon/wifi/wlan_chip_hi3881.hcs rename to Device/WifiDemo/vendor_hisilicon/wifi/wlan_chip_hi3881.hcs index b74417f1fefd3fc90d71980037eefd8179f758fb..44f733a4ccb207e82c8c1f943fa2aec4704e034a 100644 --- a/WifiDemo/vendor_hisilicon/wifi/wlan_chip_hi3881.hcs +++ b/Device/WifiDemo/vendor_hisilicon/wifi/wlan_chip_hi3881.hcs @@ -1,14 +1,14 @@ -root { - wlan_config { - hi3881 :& chipList { - chipHi3881 :: chipInst { - match_attr = "hdf_wlan_chips_hi3881"; - driverName = "hisi"; - sdio { - vendorId = ; - deviceId = ; - } - } - } - } +root { + wlan_config { + hi3881 :& chipList { + chipHi3881 :: chipInst { + match_attr = "hdf_wlan_chips_hi3881"; + driverName = "hisi"; + sdio { + vendorId = ; + deviceId = ; + } + } + } + } } \ No newline at end of file diff --git a/WifiDemo/vendor_hisilicon/wifi/wlan_platform.hcs b/Device/WifiDemo/vendor_hisilicon/wifi/wlan_platform.hcs similarity index 96% rename from WifiDemo/vendor_hisilicon/wifi/wlan_platform.hcs rename to Device/WifiDemo/vendor_hisilicon/wifi/wlan_platform.hcs index 4c0689e89d3d0b145af69892c9f751103b2857c1..62dfe7f95947986027febf7a6e6f6d12b2256ae1 100644 --- a/WifiDemo/vendor_hisilicon/wifi/wlan_platform.hcs +++ b/Device/WifiDemo/vendor_hisilicon/wifi/wlan_platform.hcs @@ -1,112 +1,112 @@ -root { - module = "wlan"; - wlan_config { - match_attr = "hdf_wlan_driver"; - hostChipName = "hi3516dv300"; - moduleConfig { - featureMap = 0xFFFF; - msgName = "WalService"; - Station { - name = "sta"; - mode = true; - } - - HostAp { - name = "ap"; - mode = 0; /* 0-- notsupported; 1--softap-host; 2--soft AP DMAC HOST; 3-IOT 1:DMAC OFFLOAD: IPC */ - vapResNum = 1; /*virtual ap*/ - userResNum = 8; /*max users support each ap*/ - } - - P2P { - name = "p2p"; - mode = false; - } - - Mac80211 { - mode = true; - } - - Phy { - mode = true; - } - } - deviceList { - template deviceInst { - deviceInstId = 0; - powers { - power0 { - powerSeqDelay = 0; - powerType = 1; /* AlwaysON(0);GPIO(1) */ - gpioId = 1; - activeLevel=1; /* High(1); Low(0) */ - } - power1 { - /* to support two-stage power supply */ - powerSeqDelay = 0; - powerType = 0; - gpioId = 1; - activeLevel=1; /* High(1); Low(0) */ - } - } - reset { - resetType = 1; /* NotManaged(0);GPIO(1) */ - gpioId = 2; - activeLevel = 1; /* High(1); Low(0) */ - resetHoldTime = 30; /*In ms*/ - } - bootUpTimeOut = 30; - bus { - busType = 0; /* 0-sdio 1-usb 2-spi etc. */ - busIdx = 2; - funcNum = [1,2]; - timeout = 1000; - blockSize = 512; - } - } - } - hisi :& deviceList { - device0 :: deviceInst { - deviceInstId = 0; - powers { - power0 { - powerSeqDelay = 0; - powerType = 0; /* AlwaysON(0);GPIO(1) */ - gpioId = 91; - activeLevel=1; /* High(1); Low(0) */ - } - power1 { - powerSeqDelay = 0; - powerType = 0; - gpioId = 1; - activeLevel = 1; /* High(1); Low(0) */ - } - } - reset { - resetType = ; /* NotManaged(0);GPIO(1) */ - gpioId = ; - activeLevel = ; /* High(1); Low(0) */ - resetHoldTime = ; /*In ms*/ - } - bootUpTimeOut = 32; - bus { - busType = 0; /* 0-sdio 1-usb 2-spi etc. */ - busIdx = 2; - funcNum = [1]; - timeout = 1000; - blockSize = 512; - } - } - } - chipList { - template chipInst { - match_attr = "hdf_wlan_chips_hi3881"; - driverName = "hi3881"; - sdio { - vendorId = 0x0296; - deviceId = [0x5347]; - } - } - } - } +root { + module = "wlan"; + wlan_config { + match_attr = "hdf_wlan_driver"; + hostChipName = "hi3516dv300"; + moduleConfig { + featureMap = 0xFFFF; + msgName = "WalService"; + Station { + name = "sta"; + mode = true; + } + + HostAp { + name = "ap"; + mode = 0; /* 0-- notsupported; 1--softap-host; 2--soft AP DMAC HOST; 3-IOT 1:DMAC OFFLOAD: IPC */ + vapResNum = 1; /*virtual ap*/ + userResNum = 8; /*max users support each ap*/ + } + + P2P { + name = "p2p"; + mode = false; + } + + Mac80211 { + mode = true; + } + + Phy { + mode = true; + } + } + deviceList { + template deviceInst { + deviceInstId = 0; + powers { + power0 { + powerSeqDelay = 0; + powerType = 1; /* AlwaysON(0);GPIO(1) */ + gpioId = 1; + activeLevel=1; /* High(1); Low(0) */ + } + power1 { + /* to support two-stage power supply */ + powerSeqDelay = 0; + powerType = 0; + gpioId = 1; + activeLevel=1; /* High(1); Low(0) */ + } + } + reset { + resetType = 1; /* NotManaged(0);GPIO(1) */ + gpioId = 2; + activeLevel = 1; /* High(1); Low(0) */ + resetHoldTime = 30; /*In ms*/ + } + bootUpTimeOut = 30; + bus { + busType = 0; /* 0-sdio 1-usb 2-spi etc. */ + busIdx = 2; + funcNum = [1,2]; + timeout = 1000; + blockSize = 512; + } + } + } + hisi :& deviceList { + device0 :: deviceInst { + deviceInstId = 0; + powers { + power0 { + powerSeqDelay = 0; + powerType = 0; /* AlwaysON(0);GPIO(1) */ + gpioId = 91; + activeLevel=1; /* High(1); Low(0) */ + } + power1 { + powerSeqDelay = 0; + powerType = 0; + gpioId = 1; + activeLevel = 1; /* High(1); Low(0) */ + } + } + reset { + resetType = ; /* NotManaged(0);GPIO(1) */ + gpioId = ; + activeLevel = ; /* High(1); Low(0) */ + resetHoldTime = ; /*In ms*/ + } + bootUpTimeOut = 32; + bus { + busType = 0; /* 0-sdio 1-usb 2-spi etc. */ + busIdx = 2; + funcNum = [1]; + timeout = 1000; + blockSize = 512; + } + } + } + chipList { + template chipInst { + match_attr = "hdf_wlan_chips_hi3881"; + driverName = "hi3881"; + sdio { + vendorId = 0x0296; + deviceId = [0x5347]; + } + } + } + } } \ No newline at end of file diff --git a/NewsDemo/README.md b/Distributed/NewsDemo/README.md similarity index 100% rename from NewsDemo/README.md rename to Distributed/NewsDemo/README.md diff --git a/NewsDemo/build.gradle b/Distributed/NewsDemo/build.gradle similarity index 100% rename from NewsDemo/build.gradle rename to Distributed/NewsDemo/build.gradle diff --git a/CustomDialogEts/entry/.gitignore b/Distributed/NewsDemo/entry/.gitignore similarity index 100% rename from CustomDialogEts/entry/.gitignore rename to Distributed/NewsDemo/entry/.gitignore diff --git a/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/app.js b/Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/app.js similarity index 100% rename from NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/app.js rename to Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/app.js diff --git a/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/icon_good.png b/Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/icon_good.png similarity index 100% rename from NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/icon_good.png rename to Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/icon_good.png diff --git a/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/icon_message.png b/Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/icon_message.png similarity index 100% rename from NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/icon_message.png rename to Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/icon_message.png diff --git a/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/icon_share.png b/Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/icon_share.png similarity index 100% rename from NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/icon_share.png rename to Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/icon_share.png diff --git a/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/icon_star.png b/Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/icon_star.png similarity index 100% rename from NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/icon_star.png rename to Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/icon_star.png diff --git a/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image1.jpg b/Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image1.jpg similarity index 100% rename from NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image1.jpg rename to Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image1.jpg diff --git a/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image10.jpg b/Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image10.jpg similarity index 100% rename from NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image10.jpg rename to Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image10.jpg diff --git a/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image11.jpg b/Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image11.jpg similarity index 100% rename from NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image11.jpg rename to Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image11.jpg diff --git a/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image12.jpg b/Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image12.jpg similarity index 100% rename from NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image12.jpg rename to Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image12.jpg diff --git a/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image13.jpg b/Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image13.jpg similarity index 100% rename from NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image13.jpg rename to Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image13.jpg diff --git a/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image14.jpg b/Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image14.jpg similarity index 100% rename from NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image14.jpg rename to Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image14.jpg diff --git a/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image15.jpg b/Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image15.jpg similarity index 100% rename from NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image15.jpg rename to Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image15.jpg diff --git a/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image16.jpg b/Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image16.jpg similarity index 100% rename from NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image16.jpg rename to Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image16.jpg diff --git a/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image17.jpg b/Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image17.jpg similarity index 100% rename from NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image17.jpg rename to Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image17.jpg diff --git a/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image18.jpg b/Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image18.jpg similarity index 100% rename from NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image18.jpg rename to Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image18.jpg diff --git a/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image19.jpg b/Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image19.jpg similarity index 100% rename from NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image19.jpg rename to Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image19.jpg diff --git a/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image2.jpg b/Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image2.jpg similarity index 100% rename from NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image2.jpg rename to Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image2.jpg diff --git a/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image3.jpg b/Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image3.jpg similarity index 100% rename from NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image3.jpg rename to Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image3.jpg diff --git a/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image4.jpg b/Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image4.jpg similarity index 100% rename from NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image4.jpg rename to Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image4.jpg diff --git a/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image5.jpg b/Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image5.jpg similarity index 100% rename from NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image5.jpg rename to Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image5.jpg diff --git a/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image6.jpg b/Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image6.jpg similarity index 100% rename from NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image6.jpg rename to Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image6.jpg diff --git a/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image7.jpg b/Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image7.jpg similarity index 100% rename from NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image7.jpg rename to Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image7.jpg diff --git a/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image8.jpg b/Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image8.jpg similarity index 100% rename from NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image8.jpg rename to Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image8.jpg diff --git a/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image9.jpg b/Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image9.jpg similarity index 100% rename from NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image9.jpg rename to Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/common/images/news_image9.jpg diff --git a/DialogDemo/entry/src/main/js/default/i18n/en-US.json b/Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/i18n/en-US.json similarity index 100% rename from DialogDemo/entry/src/main/js/default/i18n/en-US.json rename to Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/i18n/en-US.json diff --git a/DialogDemo/entry/src/main/js/default/i18n/zh-CN.json b/Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/i18n/zh-CN.json similarity index 100% rename from DialogDemo/entry/src/main/js/default/i18n/zh-CN.json rename to Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/i18n/zh-CN.json diff --git a/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/manifest.json b/Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/manifest.json similarity index 100% rename from NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/manifest.json rename to Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/manifest.json diff --git a/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/pages/index/index.js b/Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/pages/index/index.js similarity index 100% rename from NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/pages/index/index.js rename to Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/pages/index/index.js diff --git a/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/pages/second/second.js b/Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/pages/second/second.js similarity index 100% rename from NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/pages/second/second.js rename to Distributed/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/pages/second/second.js diff --git a/NewsDemo/entry/.preview/jsManifest/MainAbility/manifest.json b/Distributed/NewsDemo/entry/.preview/jsManifest/MainAbility/manifest.json similarity index 100% rename from NewsDemo/entry/.preview/jsManifest/MainAbility/manifest.json rename to Distributed/NewsDemo/entry/.preview/jsManifest/MainAbility/manifest.json diff --git a/NewsDemo/entry/.preview/merge_js_src/liteWearable/default/pages/index/index.js b/Distributed/NewsDemo/entry/.preview/merge_js_src/liteWearable/default/pages/index/index.js similarity index 100% rename from NewsDemo/entry/.preview/merge_js_src/liteWearable/default/pages/index/index.js rename to Distributed/NewsDemo/entry/.preview/merge_js_src/liteWearable/default/pages/index/index.js diff --git a/NewsDemo/entry/.preview/merge_js_src/wearable/default/pages/index/index.js b/Distributed/NewsDemo/entry/.preview/merge_js_src/wearable/default/pages/index/index.js similarity index 100% rename from NewsDemo/entry/.preview/merge_js_src/wearable/default/pages/index/index.js rename to Distributed/NewsDemo/entry/.preview/merge_js_src/wearable/default/pages/index/index.js diff --git a/NewsDemo/entry/build.gradle b/Distributed/NewsDemo/entry/build.gradle similarity index 100% rename from NewsDemo/entry/build.gradle rename to Distributed/NewsDemo/entry/build.gradle diff --git a/DialogDemo/entry/package.json b/Distributed/NewsDemo/entry/package.json similarity index 100% rename from DialogDemo/entry/package.json rename to Distributed/NewsDemo/entry/package.json diff --git a/Database/entry/proguard-rules.pro b/Distributed/NewsDemo/entry/proguard-rules.pro similarity index 100% rename from Database/entry/proguard-rules.pro rename to Distributed/NewsDemo/entry/proguard-rules.pro diff --git a/NewsDemo/entry/src/main/config.json b/Distributed/NewsDemo/entry/src/main/config.json similarity index 100% rename from NewsDemo/entry/src/main/config.json rename to Distributed/NewsDemo/entry/src/main/config.json diff --git a/InputApplication/entry/src/main/js/default/app.js b/Distributed/NewsDemo/entry/src/main/js/MainAbility/app.js similarity index 100% rename from InputApplication/entry/src/main/js/default/app.js rename to Distributed/NewsDemo/entry/src/main/js/MainAbility/app.js diff --git a/NewsDemo/entry/src/main/js/MainAbility/common/data/data.js b/Distributed/NewsDemo/entry/src/main/js/MainAbility/common/data/data.js similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility/common/data/data.js rename to Distributed/NewsDemo/entry/src/main/js/MainAbility/common/data/data.js diff --git a/NewsDemo/entry/src/main/js/MainAbility/common/images/icon_good.png b/Distributed/NewsDemo/entry/src/main/js/MainAbility/common/images/icon_good.png similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility/common/images/icon_good.png rename to Distributed/NewsDemo/entry/src/main/js/MainAbility/common/images/icon_good.png diff --git a/NewsDemo/entry/src/main/js/MainAbility/common/images/icon_message.png b/Distributed/NewsDemo/entry/src/main/js/MainAbility/common/images/icon_message.png similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility/common/images/icon_message.png rename to Distributed/NewsDemo/entry/src/main/js/MainAbility/common/images/icon_message.png diff --git a/NewsDemo/entry/src/main/js/MainAbility/common/images/icon_share.png b/Distributed/NewsDemo/entry/src/main/js/MainAbility/common/images/icon_share.png similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility/common/images/icon_share.png rename to Distributed/NewsDemo/entry/src/main/js/MainAbility/common/images/icon_share.png diff --git a/NewsDemo/entry/src/main/js/MainAbility/common/images/icon_star.png b/Distributed/NewsDemo/entry/src/main/js/MainAbility/common/images/icon_star.png similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility/common/images/icon_star.png rename to Distributed/NewsDemo/entry/src/main/js/MainAbility/common/images/icon_star.png diff --git a/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image1.jpg b/Distributed/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image1.jpg similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility/common/images/news_image1.jpg rename to Distributed/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image1.jpg diff --git a/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image10.jpg b/Distributed/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image10.jpg similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility/common/images/news_image10.jpg rename to Distributed/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image10.jpg diff --git a/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image11.jpg b/Distributed/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image11.jpg similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility/common/images/news_image11.jpg rename to Distributed/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image11.jpg diff --git a/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image12.jpg b/Distributed/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image12.jpg similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility/common/images/news_image12.jpg rename to Distributed/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image12.jpg diff --git a/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image13.jpg b/Distributed/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image13.jpg similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility/common/images/news_image13.jpg rename to Distributed/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image13.jpg diff --git a/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image14.jpg b/Distributed/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image14.jpg similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility/common/images/news_image14.jpg rename to Distributed/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image14.jpg diff --git a/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image15.jpg b/Distributed/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image15.jpg similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility/common/images/news_image15.jpg rename to Distributed/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image15.jpg diff --git a/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image16.jpg b/Distributed/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image16.jpg similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility/common/images/news_image16.jpg rename to Distributed/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image16.jpg diff --git a/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image17.jpg b/Distributed/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image17.jpg similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility/common/images/news_image17.jpg rename to Distributed/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image17.jpg diff --git a/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image18.jpg b/Distributed/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image18.jpg similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility/common/images/news_image18.jpg rename to Distributed/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image18.jpg diff --git a/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image19.jpg b/Distributed/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image19.jpg similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility/common/images/news_image19.jpg rename to Distributed/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image19.jpg diff --git a/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image2.jpg b/Distributed/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image2.jpg similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility/common/images/news_image2.jpg rename to Distributed/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image2.jpg diff --git a/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image3.jpg b/Distributed/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image3.jpg similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility/common/images/news_image3.jpg rename to Distributed/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image3.jpg diff --git a/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image4.jpg b/Distributed/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image4.jpg similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility/common/images/news_image4.jpg rename to Distributed/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image4.jpg diff --git a/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image5.jpg b/Distributed/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image5.jpg similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility/common/images/news_image5.jpg rename to Distributed/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image5.jpg diff --git a/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image6.jpg b/Distributed/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image6.jpg similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility/common/images/news_image6.jpg rename to Distributed/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image6.jpg diff --git a/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image7.jpg b/Distributed/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image7.jpg similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility/common/images/news_image7.jpg rename to Distributed/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image7.jpg diff --git a/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image8.jpg b/Distributed/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image8.jpg similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility/common/images/news_image8.jpg rename to Distributed/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image8.jpg diff --git a/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image9.jpg b/Distributed/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image9.jpg similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility/common/images/news_image9.jpg rename to Distributed/NewsDemo/entry/src/main/js/MainAbility/common/images/news_image9.jpg diff --git a/NewsDemo/entry/src/main/js/MainAbility/i18n/en-US.json b/Distributed/NewsDemo/entry/src/main/js/MainAbility/i18n/en-US.json similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility/i18n/en-US.json rename to Distributed/NewsDemo/entry/src/main/js/MainAbility/i18n/en-US.json diff --git a/NewsDemo/entry/src/main/js/MainAbility/i18n/zh-CN.json b/Distributed/NewsDemo/entry/src/main/js/MainAbility/i18n/zh-CN.json similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility/i18n/zh-CN.json rename to Distributed/NewsDemo/entry/src/main/js/MainAbility/i18n/zh-CN.json diff --git a/NewsDemo/entry/src/main/js/MainAbility/pages/index/index.css b/Distributed/NewsDemo/entry/src/main/js/MainAbility/pages/index/index.css similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility/pages/index/index.css rename to Distributed/NewsDemo/entry/src/main/js/MainAbility/pages/index/index.css diff --git a/NewsDemo/entry/src/main/js/MainAbility/pages/index/index.hml b/Distributed/NewsDemo/entry/src/main/js/MainAbility/pages/index/index.hml similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility/pages/index/index.hml rename to Distributed/NewsDemo/entry/src/main/js/MainAbility/pages/index/index.hml diff --git a/NewsDemo/entry/src/main/js/MainAbility/pages/index/index.js b/Distributed/NewsDemo/entry/src/main/js/MainAbility/pages/index/index.js similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility/pages/index/index.js rename to Distributed/NewsDemo/entry/src/main/js/MainAbility/pages/index/index.js diff --git a/JSCanvasComponet/entry/src/main/js/default/app.js b/Distributed/NewsDemo/entry/src/main/js/MainAbility2/app.js similarity index 100% rename from JSCanvasComponet/entry/src/main/js/default/app.js rename to Distributed/NewsDemo/entry/src/main/js/MainAbility2/app.js diff --git a/NewsDemo/entry/src/main/js/MainAbility2/common/data/data.js b/Distributed/NewsDemo/entry/src/main/js/MainAbility2/common/data/data.js similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility2/common/data/data.js rename to Distributed/NewsDemo/entry/src/main/js/MainAbility2/common/data/data.js diff --git a/NewsDemo/entry/src/main/js/MainAbility2/common/images/icon_good.png b/Distributed/NewsDemo/entry/src/main/js/MainAbility2/common/images/icon_good.png similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility2/common/images/icon_good.png rename to Distributed/NewsDemo/entry/src/main/js/MainAbility2/common/images/icon_good.png diff --git a/NewsDemo/entry/src/main/js/MainAbility2/common/images/icon_message.png b/Distributed/NewsDemo/entry/src/main/js/MainAbility2/common/images/icon_message.png similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility2/common/images/icon_message.png rename to Distributed/NewsDemo/entry/src/main/js/MainAbility2/common/images/icon_message.png diff --git a/NewsDemo/entry/src/main/js/MainAbility2/common/images/icon_share.png b/Distributed/NewsDemo/entry/src/main/js/MainAbility2/common/images/icon_share.png similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility2/common/images/icon_share.png rename to Distributed/NewsDemo/entry/src/main/js/MainAbility2/common/images/icon_share.png diff --git a/NewsDemo/entry/src/main/js/MainAbility2/common/images/icon_star.png b/Distributed/NewsDemo/entry/src/main/js/MainAbility2/common/images/icon_star.png similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility2/common/images/icon_star.png rename to Distributed/NewsDemo/entry/src/main/js/MainAbility2/common/images/icon_star.png diff --git a/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image1.jpg b/Distributed/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image1.jpg similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image1.jpg rename to Distributed/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image1.jpg diff --git a/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image10.jpg b/Distributed/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image10.jpg similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image10.jpg rename to Distributed/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image10.jpg diff --git a/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image11.jpg b/Distributed/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image11.jpg similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image11.jpg rename to Distributed/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image11.jpg diff --git a/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image12.jpg b/Distributed/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image12.jpg similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image12.jpg rename to Distributed/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image12.jpg diff --git a/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image13.jpg b/Distributed/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image13.jpg similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image13.jpg rename to Distributed/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image13.jpg diff --git a/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image14.jpg b/Distributed/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image14.jpg similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image14.jpg rename to Distributed/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image14.jpg diff --git a/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image15.jpg b/Distributed/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image15.jpg similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image15.jpg rename to Distributed/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image15.jpg diff --git a/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image16.jpg b/Distributed/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image16.jpg similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image16.jpg rename to Distributed/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image16.jpg diff --git a/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image17.jpg b/Distributed/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image17.jpg similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image17.jpg rename to Distributed/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image17.jpg diff --git a/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image18.jpg b/Distributed/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image18.jpg similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image18.jpg rename to Distributed/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image18.jpg diff --git a/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image19.jpg b/Distributed/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image19.jpg similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image19.jpg rename to Distributed/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image19.jpg diff --git a/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image2.jpg b/Distributed/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image2.jpg similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image2.jpg rename to Distributed/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image2.jpg diff --git a/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image3.jpg b/Distributed/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image3.jpg similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image3.jpg rename to Distributed/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image3.jpg diff --git a/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image4.jpg b/Distributed/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image4.jpg similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image4.jpg rename to Distributed/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image4.jpg diff --git a/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image5.jpg b/Distributed/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image5.jpg similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image5.jpg rename to Distributed/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image5.jpg diff --git a/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image6.jpg b/Distributed/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image6.jpg similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image6.jpg rename to Distributed/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image6.jpg diff --git a/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image7.jpg b/Distributed/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image7.jpg similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image7.jpg rename to Distributed/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image7.jpg diff --git a/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image8.jpg b/Distributed/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image8.jpg similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image8.jpg rename to Distributed/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image8.jpg diff --git a/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image9.jpg b/Distributed/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image9.jpg similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image9.jpg rename to Distributed/NewsDemo/entry/src/main/js/MainAbility2/common/images/news_image9.jpg diff --git a/NewsDemo/entry/src/main/js/MainAbility2/i18n/en-US.json b/Distributed/NewsDemo/entry/src/main/js/MainAbility2/i18n/en-US.json similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility2/i18n/en-US.json rename to Distributed/NewsDemo/entry/src/main/js/MainAbility2/i18n/en-US.json diff --git a/NewsDemo/entry/src/main/js/MainAbility2/i18n/zh-CN.json b/Distributed/NewsDemo/entry/src/main/js/MainAbility2/i18n/zh-CN.json similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility2/i18n/zh-CN.json rename to Distributed/NewsDemo/entry/src/main/js/MainAbility2/i18n/zh-CN.json diff --git a/NewsDemo/entry/src/main/js/MainAbility2/pages/index/index.css b/Distributed/NewsDemo/entry/src/main/js/MainAbility2/pages/index/index.css similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility2/pages/index/index.css rename to Distributed/NewsDemo/entry/src/main/js/MainAbility2/pages/index/index.css diff --git a/NewsDemo/entry/src/main/js/MainAbility2/pages/index/index.hml b/Distributed/NewsDemo/entry/src/main/js/MainAbility2/pages/index/index.hml similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility2/pages/index/index.hml rename to Distributed/NewsDemo/entry/src/main/js/MainAbility2/pages/index/index.hml diff --git a/NewsDemo/entry/src/main/js/MainAbility2/pages/index/index.js b/Distributed/NewsDemo/entry/src/main/js/MainAbility2/pages/index/index.js similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility2/pages/index/index.js rename to Distributed/NewsDemo/entry/src/main/js/MainAbility2/pages/index/index.js diff --git a/NewsDemo/entry/src/main/js/model/RemoteDeviceModel.js b/Distributed/NewsDemo/entry/src/main/js/model/RemoteDeviceModel.js similarity index 100% rename from NewsDemo/entry/src/main/js/model/RemoteDeviceModel.js rename to Distributed/NewsDemo/entry/src/main/js/model/RemoteDeviceModel.js diff --git a/NewsDemo/entry/src/main/resources/base/element/string.json b/Distributed/NewsDemo/entry/src/main/resources/base/element/string.json similarity index 100% rename from NewsDemo/entry/src/main/resources/base/element/string.json rename to Distributed/NewsDemo/entry/src/main/resources/base/element/string.json diff --git a/Database/entry/src/main/resources/base/media/icon.png b/Distributed/NewsDemo/entry/src/main/resources/base/media/icon.png similarity index 100% rename from Database/entry/src/main/resources/base/media/icon.png rename to Distributed/NewsDemo/entry/src/main/resources/base/media/icon.png diff --git a/NewsDemo/screenshots/device/NewsClientDemo.PNG b/Distributed/NewsDemo/screenshots/device/NewsClientDemo.PNG similarity index 100% rename from NewsDemo/screenshots/device/NewsClientDemo.PNG rename to Distributed/NewsDemo/screenshots/device/NewsClientDemo.PNG diff --git a/Database/settings.gradle b/Distributed/NewsDemo/settings.gradle similarity index 100% rename from Database/settings.gradle rename to Distributed/NewsDemo/settings.gradle diff --git a/PictureGameOpenHarmony/README.md b/Distributed/PictureGameOpenHarmony/README.md similarity index 100% rename from PictureGameOpenHarmony/README.md rename to Distributed/PictureGameOpenHarmony/README.md diff --git a/PictureGameOpenHarmony/build.gradle b/Distributed/PictureGameOpenHarmony/build.gradle similarity index 100% rename from PictureGameOpenHarmony/build.gradle rename to Distributed/PictureGameOpenHarmony/build.gradle diff --git a/Database/entry/.gitignore b/Distributed/PictureGameOpenHarmony/entry/.gitignore similarity index 100% rename from Database/entry/.gitignore rename to Distributed/PictureGameOpenHarmony/entry/.gitignore diff --git a/PictureGameOpenHarmony/entry/build.gradle b/Distributed/PictureGameOpenHarmony/entry/build.gradle similarity index 100% rename from PictureGameOpenHarmony/entry/build.gradle rename to Distributed/PictureGameOpenHarmony/entry/build.gradle diff --git a/ImageJsDemo/entry/package.json b/Distributed/PictureGameOpenHarmony/entry/package.json similarity index 100% rename from ImageJsDemo/entry/package.json rename to Distributed/PictureGameOpenHarmony/entry/package.json diff --git a/DialogDemo/entry/proguard-rules.pro b/Distributed/PictureGameOpenHarmony/entry/proguard-rules.pro similarity index 100% rename from DialogDemo/entry/proguard-rules.pro rename to Distributed/PictureGameOpenHarmony/entry/proguard-rules.pro diff --git a/PictureGameOpenHarmony/entry/src/main/config.json b/Distributed/PictureGameOpenHarmony/entry/src/main/config.json similarity index 100% rename from PictureGameOpenHarmony/entry/src/main/config.json rename to Distributed/PictureGameOpenHarmony/entry/src/main/config.json diff --git a/JSRelationshipData/entry/src/main/js/MainAbility/app.js b/Distributed/PictureGameOpenHarmony/entry/src/main/js/default/app.js similarity index 100% rename from JSRelationshipData/entry/src/main/js/MainAbility/app.js rename to Distributed/PictureGameOpenHarmony/entry/src/main/js/default/app.js diff --git a/InputApplication/entry/src/main/js/default/common/images/bg-tv.jpg b/Distributed/PictureGameOpenHarmony/entry/src/main/js/default/common/images/bg-tv.jpg similarity index 100% rename from InputApplication/entry/src/main/js/default/common/images/bg-tv.jpg rename to Distributed/PictureGameOpenHarmony/entry/src/main/js/default/common/images/bg-tv.jpg diff --git a/PictureGameOpenHarmony/entry/src/main/js/default/common/images/device.png b/Distributed/PictureGameOpenHarmony/entry/src/main/js/default/common/images/device.png similarity index 100% rename from PictureGameOpenHarmony/entry/src/main/js/default/common/images/device.png rename to Distributed/PictureGameOpenHarmony/entry/src/main/js/default/common/images/device.png diff --git a/PictureGameOpenHarmony/entry/src/main/js/default/common/images/picture.jpg b/Distributed/PictureGameOpenHarmony/entry/src/main/js/default/common/images/picture.jpg similarity index 100% rename from PictureGameOpenHarmony/entry/src/main/js/default/common/images/picture.jpg rename to Distributed/PictureGameOpenHarmony/entry/src/main/js/default/common/images/picture.jpg diff --git a/PictureGameOpenHarmony/entry/src/main/js/default/common/images/picture_01.png b/Distributed/PictureGameOpenHarmony/entry/src/main/js/default/common/images/picture_01.png similarity index 100% rename from PictureGameOpenHarmony/entry/src/main/js/default/common/images/picture_01.png rename to Distributed/PictureGameOpenHarmony/entry/src/main/js/default/common/images/picture_01.png diff --git a/PictureGameOpenHarmony/entry/src/main/js/default/common/images/picture_02.png b/Distributed/PictureGameOpenHarmony/entry/src/main/js/default/common/images/picture_02.png similarity index 100% rename from PictureGameOpenHarmony/entry/src/main/js/default/common/images/picture_02.png rename to Distributed/PictureGameOpenHarmony/entry/src/main/js/default/common/images/picture_02.png diff --git a/PictureGameOpenHarmony/entry/src/main/js/default/common/images/picture_03.png b/Distributed/PictureGameOpenHarmony/entry/src/main/js/default/common/images/picture_03.png similarity index 100% rename from PictureGameOpenHarmony/entry/src/main/js/default/common/images/picture_03.png rename to Distributed/PictureGameOpenHarmony/entry/src/main/js/default/common/images/picture_03.png diff --git a/PictureGameOpenHarmony/entry/src/main/js/default/common/images/picture_04.png b/Distributed/PictureGameOpenHarmony/entry/src/main/js/default/common/images/picture_04.png similarity index 100% rename from PictureGameOpenHarmony/entry/src/main/js/default/common/images/picture_04.png rename to Distributed/PictureGameOpenHarmony/entry/src/main/js/default/common/images/picture_04.png diff --git a/PictureGameOpenHarmony/entry/src/main/js/default/common/images/picture_05.png b/Distributed/PictureGameOpenHarmony/entry/src/main/js/default/common/images/picture_05.png similarity index 100% rename from PictureGameOpenHarmony/entry/src/main/js/default/common/images/picture_05.png rename to Distributed/PictureGameOpenHarmony/entry/src/main/js/default/common/images/picture_05.png diff --git a/PictureGameOpenHarmony/entry/src/main/js/default/common/images/picture_06.png b/Distributed/PictureGameOpenHarmony/entry/src/main/js/default/common/images/picture_06.png similarity index 100% rename from PictureGameOpenHarmony/entry/src/main/js/default/common/images/picture_06.png rename to Distributed/PictureGameOpenHarmony/entry/src/main/js/default/common/images/picture_06.png diff --git a/PictureGameOpenHarmony/entry/src/main/js/default/common/images/picture_07.png b/Distributed/PictureGameOpenHarmony/entry/src/main/js/default/common/images/picture_07.png similarity index 100% rename from PictureGameOpenHarmony/entry/src/main/js/default/common/images/picture_07.png rename to Distributed/PictureGameOpenHarmony/entry/src/main/js/default/common/images/picture_07.png diff --git a/PictureGameOpenHarmony/entry/src/main/js/default/common/images/picture_08.png b/Distributed/PictureGameOpenHarmony/entry/src/main/js/default/common/images/picture_08.png similarity index 100% rename from PictureGameOpenHarmony/entry/src/main/js/default/common/images/picture_08.png rename to Distributed/PictureGameOpenHarmony/entry/src/main/js/default/common/images/picture_08.png diff --git a/PictureGameOpenHarmony/entry/src/main/js/default/common/images/picture_09.png b/Distributed/PictureGameOpenHarmony/entry/src/main/js/default/common/images/picture_09.png similarity index 100% rename from PictureGameOpenHarmony/entry/src/main/js/default/common/images/picture_09.png rename to Distributed/PictureGameOpenHarmony/entry/src/main/js/default/common/images/picture_09.png diff --git a/ImageJsDemo/entry/src/main/js/default/i18n/en-US.json b/Distributed/PictureGameOpenHarmony/entry/src/main/js/default/i18n/en-US.json similarity index 100% rename from ImageJsDemo/entry/src/main/js/default/i18n/en-US.json rename to Distributed/PictureGameOpenHarmony/entry/src/main/js/default/i18n/en-US.json diff --git a/ImageJsDemo/entry/src/main/js/default/i18n/zh-CN.json b/Distributed/PictureGameOpenHarmony/entry/src/main/js/default/i18n/zh-CN.json similarity index 100% rename from ImageJsDemo/entry/src/main/js/default/i18n/zh-CN.json rename to Distributed/PictureGameOpenHarmony/entry/src/main/js/default/i18n/zh-CN.json diff --git a/PictureGameOpenHarmony/entry/src/main/js/default/pages/index/index.css b/Distributed/PictureGameOpenHarmony/entry/src/main/js/default/pages/index/index.css similarity index 100% rename from PictureGameOpenHarmony/entry/src/main/js/default/pages/index/index.css rename to Distributed/PictureGameOpenHarmony/entry/src/main/js/default/pages/index/index.css diff --git a/PictureGameOpenHarmony/entry/src/main/js/default/pages/index/index.hml b/Distributed/PictureGameOpenHarmony/entry/src/main/js/default/pages/index/index.hml similarity index 100% rename from PictureGameOpenHarmony/entry/src/main/js/default/pages/index/index.hml rename to Distributed/PictureGameOpenHarmony/entry/src/main/js/default/pages/index/index.hml diff --git a/PictureGameOpenHarmony/entry/src/main/js/default/pages/index/index.js b/Distributed/PictureGameOpenHarmony/entry/src/main/js/default/pages/index/index.js similarity index 100% rename from PictureGameOpenHarmony/entry/src/main/js/default/pages/index/index.js rename to Distributed/PictureGameOpenHarmony/entry/src/main/js/default/pages/index/index.js diff --git a/PictureGameOpenHarmony/entry/src/main/resources/base/element/string.json b/Distributed/PictureGameOpenHarmony/entry/src/main/resources/base/element/string.json similarity index 100% rename from PictureGameOpenHarmony/entry/src/main/resources/base/element/string.json rename to Distributed/PictureGameOpenHarmony/entry/src/main/resources/base/element/string.json diff --git a/DialogDemo/entry/src/main/resources/base/media/icon.png b/Distributed/PictureGameOpenHarmony/entry/src/main/resources/base/media/icon.png similarity index 100% rename from DialogDemo/entry/src/main/resources/base/media/icon.png rename to Distributed/PictureGameOpenHarmony/entry/src/main/resources/base/media/icon.png diff --git a/PictureGameOpenHarmony/screenshots/device/PictureGame.PNG b/Distributed/PictureGameOpenHarmony/screenshots/device/PictureGame.PNG similarity index 100% rename from PictureGameOpenHarmony/screenshots/device/PictureGame.PNG rename to Distributed/PictureGameOpenHarmony/screenshots/device/PictureGame.PNG diff --git a/DialogDemo/settings.gradle b/Distributed/PictureGameOpenHarmony/settings.gradle similarity index 100% rename from DialogDemo/settings.gradle rename to Distributed/PictureGameOpenHarmony/settings.gradle diff --git a/ClickableJsDemo/LICENSE b/Distributed/RemoteStartFA/LICENSE similarity index 100% rename from ClickableJsDemo/LICENSE rename to Distributed/RemoteStartFA/LICENSE diff --git a/RemoteStartFA/README.md b/Distributed/RemoteStartFA/README.md similarity index 100% rename from RemoteStartFA/README.md rename to Distributed/RemoteStartFA/README.md diff --git a/RemoteStartFA/build.gradle b/Distributed/RemoteStartFA/build.gradle similarity index 100% rename from RemoteStartFA/build.gradle rename to Distributed/RemoteStartFA/build.gradle diff --git a/ClickableJsDemo/entry/.gitignore b/Distributed/RemoteStartFA/entry/.gitignore similarity index 100% rename from ClickableJsDemo/entry/.gitignore rename to Distributed/RemoteStartFA/entry/.gitignore diff --git a/RatingApplication/entry/build.gradle b/Distributed/RemoteStartFA/entry/build.gradle similarity index 100% rename from RatingApplication/entry/build.gradle rename to Distributed/RemoteStartFA/entry/build.gradle diff --git a/InputApplication/entry/package.json b/Distributed/RemoteStartFA/entry/package.json similarity index 100% rename from InputApplication/entry/package.json rename to Distributed/RemoteStartFA/entry/package.json diff --git a/FlowLayoutEts/entry/proguard-rules.pro b/Distributed/RemoteStartFA/entry/proguard-rules.pro similarity index 100% rename from FlowLayoutEts/entry/proguard-rules.pro rename to Distributed/RemoteStartFA/entry/proguard-rules.pro diff --git a/RemoteStartFA/entry/src/main/config.json b/Distributed/RemoteStartFA/entry/src/main/config.json similarity index 100% rename from RemoteStartFA/entry/src/main/config.json rename to Distributed/RemoteStartFA/entry/src/main/config.json diff --git a/RemoteStartFA/entry/src/main/js/default/app.js b/Distributed/RemoteStartFA/entry/src/main/js/default/app.js similarity index 100% rename from RemoteStartFA/entry/src/main/js/default/app.js rename to Distributed/RemoteStartFA/entry/src/main/js/default/app.js diff --git a/RemoteStartFA/entry/src/main/js/default/i18n/en-US.json b/Distributed/RemoteStartFA/entry/src/main/js/default/i18n/en-US.json similarity index 100% rename from RemoteStartFA/entry/src/main/js/default/i18n/en-US.json rename to Distributed/RemoteStartFA/entry/src/main/js/default/i18n/en-US.json diff --git a/RemoteStartFA/entry/src/main/js/default/i18n/zh-CN.json b/Distributed/RemoteStartFA/entry/src/main/js/default/i18n/zh-CN.json similarity index 100% rename from RemoteStartFA/entry/src/main/js/default/i18n/zh-CN.json rename to Distributed/RemoteStartFA/entry/src/main/js/default/i18n/zh-CN.json diff --git a/RemoteStartFA/entry/src/main/js/default/pages/index/index.css b/Distributed/RemoteStartFA/entry/src/main/js/default/pages/index/index.css similarity index 100% rename from RemoteStartFA/entry/src/main/js/default/pages/index/index.css rename to Distributed/RemoteStartFA/entry/src/main/js/default/pages/index/index.css diff --git a/RemoteStartFA/entry/src/main/js/default/pages/index/index.hml b/Distributed/RemoteStartFA/entry/src/main/js/default/pages/index/index.hml similarity index 100% rename from RemoteStartFA/entry/src/main/js/default/pages/index/index.hml rename to Distributed/RemoteStartFA/entry/src/main/js/default/pages/index/index.hml diff --git a/RemoteStartFA/entry/src/main/js/default/pages/index/index.js b/Distributed/RemoteStartFA/entry/src/main/js/default/pages/index/index.js similarity index 100% rename from RemoteStartFA/entry/src/main/js/default/pages/index/index.js rename to Distributed/RemoteStartFA/entry/src/main/js/default/pages/index/index.js diff --git a/RemoteStartFA/entry/src/main/js/model/RemoteDeviceModel.js b/Distributed/RemoteStartFA/entry/src/main/js/model/RemoteDeviceModel.js similarity index 100% rename from RemoteStartFA/entry/src/main/js/model/RemoteDeviceModel.js rename to Distributed/RemoteStartFA/entry/src/main/js/model/RemoteDeviceModel.js diff --git a/DialogDemo/entry/src/main/resources/base/element/string.json b/Distributed/RemoteStartFA/entry/src/main/resources/base/element/string.json similarity index 100% rename from DialogDemo/entry/src/main/resources/base/element/string.json rename to Distributed/RemoteStartFA/entry/src/main/resources/base/element/string.json diff --git a/FlowLayoutEts/entry/src/main/resources/base/media/icon.png b/Distributed/RemoteStartFA/entry/src/main/resources/base/media/icon.png similarity index 100% rename from FlowLayoutEts/entry/src/main/resources/base/media/icon.png rename to Distributed/RemoteStartFA/entry/src/main/resources/base/media/icon.png diff --git a/Database/gradle/wrapper/gradle-wrapper.jar b/Distributed/RemoteStartFA/gradle/wrapper/gradle-wrapper.jar similarity index 100% rename from Database/gradle/wrapper/gradle-wrapper.jar rename to Distributed/RemoteStartFA/gradle/wrapper/gradle-wrapper.jar diff --git a/Database/gradle/wrapper/gradle-wrapper.properties b/Distributed/RemoteStartFA/gradle/wrapper/gradle-wrapper.properties similarity index 100% rename from Database/gradle/wrapper/gradle-wrapper.properties rename to Distributed/RemoteStartFA/gradle/wrapper/gradle-wrapper.properties diff --git a/FlowLayoutEts/settings.gradle b/Distributed/RemoteStartFA/settings.gradle similarity index 100% rename from FlowLayoutEts/settings.gradle rename to Distributed/RemoteStartFA/settings.gradle diff --git a/CustomDialogEts/LICENSE b/ETSUI/CustomDialogEts/LICENSE similarity index 100% rename from CustomDialogEts/LICENSE rename to ETSUI/CustomDialogEts/LICENSE diff --git a/CustomDialogEts/README.md b/ETSUI/CustomDialogEts/README.md similarity index 100% rename from CustomDialogEts/README.md rename to ETSUI/CustomDialogEts/README.md diff --git a/CustomDialogEts/build.gradle b/ETSUI/CustomDialogEts/build.gradle similarity index 100% rename from CustomDialogEts/build.gradle rename to ETSUI/CustomDialogEts/build.gradle diff --git a/DialogDemo/entry/.gitignore b/ETSUI/CustomDialogEts/entry/.gitignore similarity index 100% rename from DialogDemo/entry/.gitignore rename to ETSUI/CustomDialogEts/entry/.gitignore diff --git a/CustomDialogEts/entry/README.md b/ETSUI/CustomDialogEts/entry/README.md similarity index 100% rename from CustomDialogEts/entry/README.md rename to ETSUI/CustomDialogEts/entry/README.md diff --git a/CustomDialogEts/entry/build.gradle b/ETSUI/CustomDialogEts/entry/build.gradle similarity index 100% rename from CustomDialogEts/entry/build.gradle rename to ETSUI/CustomDialogEts/entry/build.gradle diff --git a/ImageJsDemo/entry/proguard-rules.pro b/ETSUI/CustomDialogEts/entry/proguard-rules.pro similarity index 100% rename from ImageJsDemo/entry/proguard-rules.pro rename to ETSUI/CustomDialogEts/entry/proguard-rules.pro diff --git a/CustomDialogEts/entry/src/main/config.json b/ETSUI/CustomDialogEts/entry/src/main/config.json similarity index 100% rename from CustomDialogEts/entry/src/main/config.json rename to ETSUI/CustomDialogEts/entry/src/main/config.json diff --git a/CustomDialogEts/entry/src/main/ets/MainAbility/app.ets b/ETSUI/CustomDialogEts/entry/src/main/ets/MainAbility/app.ets similarity index 100% rename from CustomDialogEts/entry/src/main/ets/MainAbility/app.ets rename to ETSUI/CustomDialogEts/entry/src/main/ets/MainAbility/app.ets diff --git a/CustomDialogEts/entry/src/main/ets/MainAbility/pages/index.ets b/ETSUI/CustomDialogEts/entry/src/main/ets/MainAbility/pages/index.ets similarity index 100% rename from CustomDialogEts/entry/src/main/ets/MainAbility/pages/index.ets rename to ETSUI/CustomDialogEts/entry/src/main/ets/MainAbility/pages/index.ets diff --git a/CustomDialogEts/entry/src/main/resources/base/element/string.json b/ETSUI/CustomDialogEts/entry/src/main/resources/base/element/string.json similarity index 100% rename from CustomDialogEts/entry/src/main/resources/base/element/string.json rename to ETSUI/CustomDialogEts/entry/src/main/resources/base/element/string.json diff --git a/ImageJsDemo/entry/src/main/resources/base/media/icon.png b/ETSUI/CustomDialogEts/entry/src/main/resources/base/media/icon.png similarity index 100% rename from ImageJsDemo/entry/src/main/resources/base/media/icon.png rename to ETSUI/CustomDialogEts/entry/src/main/resources/base/media/icon.png diff --git a/DialogDemo/gradle/wrapper/gradle-wrapper.jar b/ETSUI/CustomDialogEts/gradle/wrapper/gradle-wrapper.jar similarity index 100% rename from DialogDemo/gradle/wrapper/gradle-wrapper.jar rename to ETSUI/CustomDialogEts/gradle/wrapper/gradle-wrapper.jar diff --git a/DialogDemo/gradle/wrapper/gradle-wrapper.properties b/ETSUI/CustomDialogEts/gradle/wrapper/gradle-wrapper.properties similarity index 100% rename from DialogDemo/gradle/wrapper/gradle-wrapper.properties rename to ETSUI/CustomDialogEts/gradle/wrapper/gradle-wrapper.properties diff --git a/ImageJsDemo/settings.gradle b/ETSUI/CustomDialogEts/settings.gradle similarity index 100% rename from ImageJsDemo/settings.gradle rename to ETSUI/CustomDialogEts/settings.gradle diff --git a/Database/LICENSE b/ETSUI/FlowLayoutEts/LICENSE similarity index 100% rename from Database/LICENSE rename to ETSUI/FlowLayoutEts/LICENSE diff --git a/FlowLayoutEts/README.md b/ETSUI/FlowLayoutEts/README.md similarity index 100% rename from FlowLayoutEts/README.md rename to ETSUI/FlowLayoutEts/README.md diff --git a/FlowLayoutEts/build.gradle b/ETSUI/FlowLayoutEts/build.gradle similarity index 100% rename from FlowLayoutEts/build.gradle rename to ETSUI/FlowLayoutEts/build.gradle diff --git a/FlowLayoutEts/entry/build.gradle b/ETSUI/FlowLayoutEts/entry/build.gradle similarity index 100% rename from FlowLayoutEts/entry/build.gradle rename to ETSUI/FlowLayoutEts/entry/build.gradle diff --git a/InputApplication/entry/proguard-rules.pro b/ETSUI/FlowLayoutEts/entry/proguard-rules.pro similarity index 100% rename from InputApplication/entry/proguard-rules.pro rename to ETSUI/FlowLayoutEts/entry/proguard-rules.pro diff --git a/FlowLayoutEts/entry/src/main/config.json b/ETSUI/FlowLayoutEts/entry/src/main/config.json similarity index 100% rename from FlowLayoutEts/entry/src/main/config.json rename to ETSUI/FlowLayoutEts/entry/src/main/config.json diff --git a/FlowLayoutEts/entry/src/main/ets/MainAbility/app.ets b/ETSUI/FlowLayoutEts/entry/src/main/ets/MainAbility/app.ets similarity index 100% rename from FlowLayoutEts/entry/src/main/ets/MainAbility/app.ets rename to ETSUI/FlowLayoutEts/entry/src/main/ets/MainAbility/app.ets diff --git a/FlowLayoutEts/entry/src/main/ets/MainAbility/pages/index.ets b/ETSUI/FlowLayoutEts/entry/src/main/ets/MainAbility/pages/index.ets similarity index 100% rename from FlowLayoutEts/entry/src/main/ets/MainAbility/pages/index.ets rename to ETSUI/FlowLayoutEts/entry/src/main/ets/MainAbility/pages/index.ets diff --git a/FlowLayoutEts/entry/src/main/resources/base/element/string.json b/ETSUI/FlowLayoutEts/entry/src/main/resources/base/element/string.json similarity index 100% rename from FlowLayoutEts/entry/src/main/resources/base/element/string.json rename to ETSUI/FlowLayoutEts/entry/src/main/resources/base/element/string.json diff --git a/InputApplication/entry/src/main/resources/base/media/icon.png b/ETSUI/FlowLayoutEts/entry/src/main/resources/base/media/icon.png similarity index 100% rename from InputApplication/entry/src/main/resources/base/media/icon.png rename to ETSUI/FlowLayoutEts/entry/src/main/resources/base/media/icon.png diff --git a/FlowLayoutEts/gradle/wrapper/gradle-wrapper.jar b/ETSUI/FlowLayoutEts/gradle/wrapper/gradle-wrapper.jar similarity index 100% rename from FlowLayoutEts/gradle/wrapper/gradle-wrapper.jar rename to ETSUI/FlowLayoutEts/gradle/wrapper/gradle-wrapper.jar diff --git a/FlowLayoutEts/gradle/wrapper/gradle-wrapper.properties b/ETSUI/FlowLayoutEts/gradle/wrapper/gradle-wrapper.properties similarity index 100% rename from FlowLayoutEts/gradle/wrapper/gradle-wrapper.properties rename to ETSUI/FlowLayoutEts/gradle/wrapper/gradle-wrapper.properties diff --git a/InputApplication/settings.gradle b/ETSUI/FlowLayoutEts/settings.gradle similarity index 100% rename from InputApplication/settings.gradle rename to ETSUI/FlowLayoutEts/settings.gradle diff --git a/JSRelationshipData/LICENSE b/ETSUI/TransitionAnimtaionEts/LICENSE similarity index 100% rename from JSRelationshipData/LICENSE rename to ETSUI/TransitionAnimtaionEts/LICENSE diff --git a/TransitionAnimtaionEts/README.md b/ETSUI/TransitionAnimtaionEts/README.md similarity index 100% rename from TransitionAnimtaionEts/README.md rename to ETSUI/TransitionAnimtaionEts/README.md diff --git a/TransitionAnimtaionEts/build.gradle b/ETSUI/TransitionAnimtaionEts/build.gradle similarity index 100% rename from TransitionAnimtaionEts/build.gradle rename to ETSUI/TransitionAnimtaionEts/build.gradle diff --git a/TransitionAnimtaionEts/entry/build.gradle b/ETSUI/TransitionAnimtaionEts/entry/build.gradle similarity index 100% rename from TransitionAnimtaionEts/entry/build.gradle rename to ETSUI/TransitionAnimtaionEts/entry/build.gradle diff --git a/JSCanvasComponet/entry/proguard-rules.pro b/ETSUI/TransitionAnimtaionEts/entry/proguard-rules.pro similarity index 100% rename from JSCanvasComponet/entry/proguard-rules.pro rename to ETSUI/TransitionAnimtaionEts/entry/proguard-rules.pro diff --git a/TransitionAnimtaionEts/entry/src/main/config.json b/ETSUI/TransitionAnimtaionEts/entry/src/main/config.json similarity index 100% rename from TransitionAnimtaionEts/entry/src/main/config.json rename to ETSUI/TransitionAnimtaionEts/entry/src/main/config.json diff --git a/TransitionAnimtaionEts/entry/src/main/ets/MainAbility/app.ets b/ETSUI/TransitionAnimtaionEts/entry/src/main/ets/MainAbility/app.ets similarity index 100% rename from TransitionAnimtaionEts/entry/src/main/ets/MainAbility/app.ets rename to ETSUI/TransitionAnimtaionEts/entry/src/main/ets/MainAbility/app.ets diff --git a/TransitionAnimtaionEts/entry/src/main/ets/MainAbility/pages/ComponentTransition.ets b/ETSUI/TransitionAnimtaionEts/entry/src/main/ets/MainAbility/pages/ComponentTransition.ets similarity index 100% rename from TransitionAnimtaionEts/entry/src/main/ets/MainAbility/pages/ComponentTransition.ets rename to ETSUI/TransitionAnimtaionEts/entry/src/main/ets/MainAbility/pages/ComponentTransition.ets diff --git a/TransitionAnimtaionEts/entry/src/main/ets/MainAbility/pages/index.ets b/ETSUI/TransitionAnimtaionEts/entry/src/main/ets/MainAbility/pages/index.ets similarity index 100% rename from TransitionAnimtaionEts/entry/src/main/ets/MainAbility/pages/index.ets rename to ETSUI/TransitionAnimtaionEts/entry/src/main/ets/MainAbility/pages/index.ets diff --git a/TransitionAnimtaionEts/entry/src/main/ets/MainAbility/pages/page/BottomTransition.ets b/ETSUI/TransitionAnimtaionEts/entry/src/main/ets/MainAbility/pages/page/BottomTransition.ets similarity index 100% rename from TransitionAnimtaionEts/entry/src/main/ets/MainAbility/pages/page/BottomTransition.ets rename to ETSUI/TransitionAnimtaionEts/entry/src/main/ets/MainAbility/pages/page/BottomTransition.ets diff --git a/TransitionAnimtaionEts/entry/src/main/ets/MainAbility/pages/page/CustomTransition.ets b/ETSUI/TransitionAnimtaionEts/entry/src/main/ets/MainAbility/pages/page/CustomTransition.ets similarity index 100% rename from TransitionAnimtaionEts/entry/src/main/ets/MainAbility/pages/page/CustomTransition.ets rename to ETSUI/TransitionAnimtaionEts/entry/src/main/ets/MainAbility/pages/page/CustomTransition.ets diff --git a/TransitionAnimtaionEts/entry/src/main/ets/MainAbility/pages/page/FullCustomTransition.ets b/ETSUI/TransitionAnimtaionEts/entry/src/main/ets/MainAbility/pages/page/FullCustomTransition.ets similarity index 100% rename from TransitionAnimtaionEts/entry/src/main/ets/MainAbility/pages/page/FullCustomTransition.ets rename to ETSUI/TransitionAnimtaionEts/entry/src/main/ets/MainAbility/pages/page/FullCustomTransition.ets diff --git a/TransitionAnimtaionEts/entry/src/main/ets/MainAbility/pages/share/ShareItem.ets b/ETSUI/TransitionAnimtaionEts/entry/src/main/ets/MainAbility/pages/share/ShareItem.ets similarity index 100% rename from TransitionAnimtaionEts/entry/src/main/ets/MainAbility/pages/share/ShareItem.ets rename to ETSUI/TransitionAnimtaionEts/entry/src/main/ets/MainAbility/pages/share/ShareItem.ets diff --git a/TransitionAnimtaionEts/entry/src/main/ets/MainAbility/pages/share/SharePage.ets b/ETSUI/TransitionAnimtaionEts/entry/src/main/ets/MainAbility/pages/share/SharePage.ets similarity index 100% rename from TransitionAnimtaionEts/entry/src/main/ets/MainAbility/pages/share/SharePage.ets rename to ETSUI/TransitionAnimtaionEts/entry/src/main/ets/MainAbility/pages/share/SharePage.ets diff --git a/TransitionAnimtaionEts/entry/src/main/resources/base/element/string.json b/ETSUI/TransitionAnimtaionEts/entry/src/main/resources/base/element/string.json similarity index 100% rename from TransitionAnimtaionEts/entry/src/main/resources/base/element/string.json rename to ETSUI/TransitionAnimtaionEts/entry/src/main/resources/base/element/string.json diff --git a/JSCanvasComponet/entry/src/main/resources/base/media/icon.png b/ETSUI/TransitionAnimtaionEts/entry/src/main/resources/base/media/icon.png similarity index 100% rename from JSCanvasComponet/entry/src/main/resources/base/media/icon.png rename to ETSUI/TransitionAnimtaionEts/entry/src/main/resources/base/media/icon.png diff --git a/TransitionAnimtaionEts/entry/src/main/resources/base/media/image1.jpg b/ETSUI/TransitionAnimtaionEts/entry/src/main/resources/base/media/image1.jpg similarity index 100% rename from TransitionAnimtaionEts/entry/src/main/resources/base/media/image1.jpg rename to ETSUI/TransitionAnimtaionEts/entry/src/main/resources/base/media/image1.jpg diff --git a/TransitionAnimtaionEts/entry/src/main/resources/base/media/image2.jpg b/ETSUI/TransitionAnimtaionEts/entry/src/main/resources/base/media/image2.jpg similarity index 100% rename from TransitionAnimtaionEts/entry/src/main/resources/base/media/image2.jpg rename to ETSUI/TransitionAnimtaionEts/entry/src/main/resources/base/media/image2.jpg diff --git a/TransitionAnimtaionEts/entry/src/main/resources/base/media/image3.png b/ETSUI/TransitionAnimtaionEts/entry/src/main/resources/base/media/image3.png similarity index 100% rename from TransitionAnimtaionEts/entry/src/main/resources/base/media/image3.png rename to ETSUI/TransitionAnimtaionEts/entry/src/main/resources/base/media/image3.png diff --git a/ImageJsDemo/gradle/wrapper/gradle-wrapper.jar b/ETSUI/TransitionAnimtaionEts/gradle/wrapper/gradle-wrapper.jar similarity index 100% rename from ImageJsDemo/gradle/wrapper/gradle-wrapper.jar rename to ETSUI/TransitionAnimtaionEts/gradle/wrapper/gradle-wrapper.jar diff --git a/ImageJsDemo/gradle/wrapper/gradle-wrapper.properties b/ETSUI/TransitionAnimtaionEts/gradle/wrapper/gradle-wrapper.properties similarity index 100% rename from ImageJsDemo/gradle/wrapper/gradle-wrapper.properties rename to ETSUI/TransitionAnimtaionEts/gradle/wrapper/gradle-wrapper.properties diff --git a/JSCanvasComponet/settings.gradle b/ETSUI/TransitionAnimtaionEts/settings.gradle similarity index 100% rename from JSCanvasComponet/settings.gradle rename to ETSUI/TransitionAnimtaionEts/settings.gradle diff --git a/DialogDemo/LICENSE b/JSUI/AnimationDemo/LICENSE similarity index 100% rename from DialogDemo/LICENSE rename to JSUI/AnimationDemo/LICENSE diff --git a/AnimationDemo/README.md b/JSUI/AnimationDemo/README.md similarity index 100% rename from AnimationDemo/README.md rename to JSUI/AnimationDemo/README.md diff --git a/DialogDemo/build.gradle b/JSUI/AnimationDemo/build.gradle similarity index 100% rename from DialogDemo/build.gradle rename to JSUI/AnimationDemo/build.gradle diff --git a/ImageJsDemo/entry/.gitignore b/JSUI/AnimationDemo/entry/.gitignore similarity index 100% rename from ImageJsDemo/entry/.gitignore rename to JSUI/AnimationDemo/entry/.gitignore diff --git a/InputApplication/entry/build.gradle b/JSUI/AnimationDemo/entry/build.gradle similarity index 100% rename from InputApplication/entry/build.gradle rename to JSUI/AnimationDemo/entry/build.gradle diff --git a/JSCanvasComponet/entry/package.json b/JSUI/AnimationDemo/entry/package.json similarity index 100% rename from JSCanvasComponet/entry/package.json rename to JSUI/AnimationDemo/entry/package.json diff --git a/JSRelationshipData/entry/proguard-rules.pro b/JSUI/AnimationDemo/entry/proguard-rules.pro similarity index 100% rename from JSRelationshipData/entry/proguard-rules.pro rename to JSUI/AnimationDemo/entry/proguard-rules.pro diff --git a/AnimationDemo/entry/src/main/config.json b/JSUI/AnimationDemo/entry/src/main/config.json similarity index 100% rename from AnimationDemo/entry/src/main/config.json rename to JSUI/AnimationDemo/entry/src/main/config.json diff --git a/AnimationDemo/entry/src/main/js/default/app.js b/JSUI/AnimationDemo/entry/src/main/js/default/app.js similarity index 100% rename from AnimationDemo/entry/src/main/js/default/app.js rename to JSUI/AnimationDemo/entry/src/main/js/default/app.js diff --git a/AnimationDemo/entry/src/main/js/default/common/images/cat.png b/JSUI/AnimationDemo/entry/src/main/js/default/common/images/cat.png similarity index 100% rename from AnimationDemo/entry/src/main/js/default/common/images/cat.png rename to JSUI/AnimationDemo/entry/src/main/js/default/common/images/cat.png diff --git a/InputApplication/entry/src/main/js/default/i18n/en-US.json b/JSUI/AnimationDemo/entry/src/main/js/default/i18n/en-US.json similarity index 100% rename from InputApplication/entry/src/main/js/default/i18n/en-US.json rename to JSUI/AnimationDemo/entry/src/main/js/default/i18n/en-US.json diff --git a/InputApplication/entry/src/main/js/default/i18n/zh-CN.json b/JSUI/AnimationDemo/entry/src/main/js/default/i18n/zh-CN.json similarity index 100% rename from InputApplication/entry/src/main/js/default/i18n/zh-CN.json rename to JSUI/AnimationDemo/entry/src/main/js/default/i18n/zh-CN.json diff --git a/AnimationDemo/entry/src/main/js/default/pages/index/index.css b/JSUI/AnimationDemo/entry/src/main/js/default/pages/index/index.css similarity index 100% rename from AnimationDemo/entry/src/main/js/default/pages/index/index.css rename to JSUI/AnimationDemo/entry/src/main/js/default/pages/index/index.css diff --git a/AnimationDemo/entry/src/main/js/default/pages/index/index.hml b/JSUI/AnimationDemo/entry/src/main/js/default/pages/index/index.hml similarity index 100% rename from AnimationDemo/entry/src/main/js/default/pages/index/index.hml rename to JSUI/AnimationDemo/entry/src/main/js/default/pages/index/index.hml diff --git a/AnimationDemo/entry/src/main/js/default/pages/index/index.js b/JSUI/AnimationDemo/entry/src/main/js/default/pages/index/index.js similarity index 100% rename from AnimationDemo/entry/src/main/js/default/pages/index/index.js rename to JSUI/AnimationDemo/entry/src/main/js/default/pages/index/index.js diff --git a/AnimationDemo/entry/src/main/js/default/pages/second/second.css b/JSUI/AnimationDemo/entry/src/main/js/default/pages/second/second.css similarity index 100% rename from AnimationDemo/entry/src/main/js/default/pages/second/second.css rename to JSUI/AnimationDemo/entry/src/main/js/default/pages/second/second.css diff --git a/AnimationDemo/entry/src/main/js/default/pages/second/second.hml b/JSUI/AnimationDemo/entry/src/main/js/default/pages/second/second.hml similarity index 100% rename from AnimationDemo/entry/src/main/js/default/pages/second/second.hml rename to JSUI/AnimationDemo/entry/src/main/js/default/pages/second/second.hml diff --git a/AnimationDemo/entry/src/main/js/default/pages/second/second.js b/JSUI/AnimationDemo/entry/src/main/js/default/pages/second/second.js similarity index 100% rename from AnimationDemo/entry/src/main/js/default/pages/second/second.js rename to JSUI/AnimationDemo/entry/src/main/js/default/pages/second/second.js diff --git a/ImageJsDemo/entry/src/main/resources/base/element/string.json b/JSUI/AnimationDemo/entry/src/main/resources/base/element/string.json similarity index 100% rename from ImageJsDemo/entry/src/main/resources/base/element/string.json rename to JSUI/AnimationDemo/entry/src/main/resources/base/element/string.json diff --git a/JSRelationshipData/entry/src/main/resources/base/media/icon.png b/JSUI/AnimationDemo/entry/src/main/resources/base/media/icon.png similarity index 100% rename from JSRelationshipData/entry/src/main/resources/base/media/icon.png rename to JSUI/AnimationDemo/entry/src/main/resources/base/media/icon.png diff --git a/InputApplication/gradle/wrapper/gradle-wrapper.jar b/JSUI/AnimationDemo/gradle/wrapper/gradle-wrapper.jar similarity index 100% rename from InputApplication/gradle/wrapper/gradle-wrapper.jar rename to JSUI/AnimationDemo/gradle/wrapper/gradle-wrapper.jar diff --git a/InputApplication/gradle/wrapper/gradle-wrapper.properties b/JSUI/AnimationDemo/gradle/wrapper/gradle-wrapper.properties similarity index 100% rename from InputApplication/gradle/wrapper/gradle-wrapper.properties rename to JSUI/AnimationDemo/gradle/wrapper/gradle-wrapper.properties diff --git a/JSRelationshipData/settings.gradle b/JSUI/AnimationDemo/settings.gradle similarity index 100% rename from JSRelationshipData/settings.gradle rename to JSUI/AnimationDemo/settings.gradle diff --git a/FlowLayoutEts/LICENSE b/JSUI/ClickableJsDemo/LICENSE similarity index 100% rename from FlowLayoutEts/LICENSE rename to JSUI/ClickableJsDemo/LICENSE diff --git a/ClickableJsDemo/README.md b/JSUI/ClickableJsDemo/README.md similarity index 100% rename from ClickableJsDemo/README.md rename to JSUI/ClickableJsDemo/README.md diff --git a/ClickableJsDemo/build.gradle b/JSUI/ClickableJsDemo/build.gradle similarity index 100% rename from ClickableJsDemo/build.gradle rename to JSUI/ClickableJsDemo/build.gradle diff --git a/RemoteStartFA/entry/.gitignore b/JSUI/ClickableJsDemo/entry/.gitignore similarity index 100% rename from RemoteStartFA/entry/.gitignore rename to JSUI/ClickableJsDemo/entry/.gitignore diff --git a/ClickableJsDemo/entry/build.gradle b/JSUI/ClickableJsDemo/entry/build.gradle similarity index 100% rename from ClickableJsDemo/entry/build.gradle rename to JSUI/ClickableJsDemo/entry/build.gradle diff --git a/JSRelationshipData/entry/package.json b/JSUI/ClickableJsDemo/entry/package.json similarity index 100% rename from JSRelationshipData/entry/package.json rename to JSUI/ClickableJsDemo/entry/package.json diff --git a/JsDistributedData/entry/proguard-rules.pro b/JSUI/ClickableJsDemo/entry/proguard-rules.pro similarity index 100% rename from JsDistributedData/entry/proguard-rules.pro rename to JSUI/ClickableJsDemo/entry/proguard-rules.pro diff --git a/ClickableJsDemo/entry/src/main/config.json b/JSUI/ClickableJsDemo/entry/src/main/config.json similarity index 100% rename from ClickableJsDemo/entry/src/main/config.json rename to JSUI/ClickableJsDemo/entry/src/main/config.json diff --git a/ClickableJsDemo/entry/src/main/js/default/app.js b/JSUI/ClickableJsDemo/entry/src/main/js/default/app.js similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/app.js rename to JSUI/ClickableJsDemo/entry/src/main/js/default/app.js diff --git a/ClickableJsDemo/entry/src/main/js/default/common/css/style.css b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/css/style.css similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/css/style.css rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/css/style.css diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/fork.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/fork.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/fork.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/fork.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_0.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_0.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_0.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_0.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_1.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_1.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_1.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_1.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_10.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_10.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_10.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_10.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_11.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_11.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_11.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_11.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_12.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_12.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_12.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_12.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_13.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_13.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_13.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_13.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_2.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_2.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_2.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_2.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_3.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_3.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_3.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_3.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_4.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_4.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_4.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_4.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_5.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_5.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_5.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_5.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_6.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_6.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_6.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_6.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_7.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_7.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_7.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_7.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_8.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_8.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_8.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_8.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_9.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_9.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_9.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadBack/arrowhead_back_9.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_0.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_0.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_0.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_0.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_1.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_1.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_1.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_1.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_10.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_10.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_10.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_10.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_11.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_11.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_11.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_11.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_12.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_12.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_12.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_12.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_13.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_13.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_13.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_13.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_2.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_2.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_2.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_2.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_3.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_3.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_3.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_3.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_4.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_4.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_4.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_4.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_5.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_5.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_5.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_5.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_6.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_6.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_6.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_6.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_7.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_7.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_7.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_7.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_8.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_8.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_8.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_8.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_9.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_9.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_9.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/arrowheadCollapse/arrowhead_collapse_9.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_0.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_0.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_0.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_0.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_1.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_1.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_1.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_1.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_10.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_10.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_10.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_10.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_11.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_11.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_11.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_11.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_12.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_12.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_12.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_12.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_13.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_13.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_13.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_13.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_14.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_14.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_14.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_14.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_15.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_15.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_15.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_15.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_16.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_16.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_16.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_16.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_17.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_17.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_17.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_17.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_18.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_18.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_18.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_18.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_19.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_19.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_19.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_19.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_2.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_2.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_2.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_2.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_20.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_20.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_20.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_20.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_21.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_21.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_21.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_21.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_22.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_22.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_22.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_22.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_23.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_23.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_23.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_23.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_24.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_24.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_24.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_24.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_25.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_25.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_25.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_25.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_26.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_26.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_26.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_26.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_27.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_27.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_27.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_27.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_28.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_28.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_28.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_28.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_29.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_29.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_29.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_29.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_3.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_3.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_3.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_3.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_30.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_30.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_30.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_30.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_31.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_31.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_31.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_31.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_32.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_32.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_32.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_32.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_33.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_33.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_33.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_33.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_34.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_34.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_34.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_34.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_35.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_35.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_35.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_35.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_4.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_4.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_4.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_4.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_5.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_5.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_5.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_5.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_6.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_6.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_6.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_6.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_7.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_7.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_7.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_7.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_8.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_8.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_8.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_8.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_9.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_9.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_9.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/frames/phone/phone_9.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/hook.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/hook.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/hook.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/hook.png diff --git a/ClickableJsDemo/entry/src/main/js/default/common/images/sky_blue.png b/JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/sky_blue.png similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/common/images/sky_blue.png rename to JSUI/ClickableJsDemo/entry/src/main/js/default/common/images/sky_blue.png diff --git a/JSCanvasComponet/entry/src/main/js/default/i18n/en-US.json b/JSUI/ClickableJsDemo/entry/src/main/js/default/i18n/en-US.json similarity index 100% rename from JSCanvasComponet/entry/src/main/js/default/i18n/en-US.json rename to JSUI/ClickableJsDemo/entry/src/main/js/default/i18n/en-US.json diff --git a/JSCanvasComponet/entry/src/main/js/default/i18n/zh-CN.json b/JSUI/ClickableJsDemo/entry/src/main/js/default/i18n/zh-CN.json similarity index 100% rename from JSCanvasComponet/entry/src/main/js/default/i18n/zh-CN.json rename to JSUI/ClickableJsDemo/entry/src/main/js/default/i18n/zh-CN.json diff --git a/ClickableJsDemo/entry/src/main/js/default/pages/index/index.css b/JSUI/ClickableJsDemo/entry/src/main/js/default/pages/index/index.css similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/pages/index/index.css rename to JSUI/ClickableJsDemo/entry/src/main/js/default/pages/index/index.css diff --git a/ClickableJsDemo/entry/src/main/js/default/pages/index/index.hml b/JSUI/ClickableJsDemo/entry/src/main/js/default/pages/index/index.hml similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/pages/index/index.hml rename to JSUI/ClickableJsDemo/entry/src/main/js/default/pages/index/index.hml diff --git a/ClickableJsDemo/entry/src/main/js/default/pages/index/index.js b/JSUI/ClickableJsDemo/entry/src/main/js/default/pages/index/index.js similarity index 100% rename from ClickableJsDemo/entry/src/main/js/default/pages/index/index.js rename to JSUI/ClickableJsDemo/entry/src/main/js/default/pages/index/index.js diff --git a/InputApplication/entry/src/main/resources/base/element/string.json b/JSUI/ClickableJsDemo/entry/src/main/resources/base/element/string.json similarity index 100% rename from InputApplication/entry/src/main/resources/base/element/string.json rename to JSUI/ClickableJsDemo/entry/src/main/resources/base/element/string.json diff --git a/JsDistributedData/entry/src/main/resources/base/media/icon.png b/JSUI/ClickableJsDemo/entry/src/main/resources/base/media/icon.png similarity index 100% rename from JsDistributedData/entry/src/main/resources/base/media/icon.png rename to JSUI/ClickableJsDemo/entry/src/main/resources/base/media/icon.png diff --git a/JSCanvasComponet/gradle/wrapper/gradle-wrapper.jar b/JSUI/ClickableJsDemo/gradle/wrapper/gradle-wrapper.jar similarity index 100% rename from JSCanvasComponet/gradle/wrapper/gradle-wrapper.jar rename to JSUI/ClickableJsDemo/gradle/wrapper/gradle-wrapper.jar diff --git a/JSCanvasComponet/gradle/wrapper/gradle-wrapper.properties b/JSUI/ClickableJsDemo/gradle/wrapper/gradle-wrapper.properties similarity index 100% rename from JSCanvasComponet/gradle/wrapper/gradle-wrapper.properties rename to JSUI/ClickableJsDemo/gradle/wrapper/gradle-wrapper.properties diff --git a/JsDistributedData/settings.gradle b/JSUI/ClickableJsDemo/settings.gradle similarity index 100% rename from JsDistributedData/settings.gradle rename to JSUI/ClickableJsDemo/settings.gradle diff --git a/ImageJsDemo/LICENSE b/JSUI/DialogDemo/LICENSE similarity index 100% rename from ImageJsDemo/LICENSE rename to JSUI/DialogDemo/LICENSE diff --git a/DialogDemo/README.md b/JSUI/DialogDemo/README.md similarity index 100% rename from DialogDemo/README.md rename to JSUI/DialogDemo/README.md diff --git a/ImageJsDemo/build.gradle b/JSUI/DialogDemo/build.gradle similarity index 100% rename from ImageJsDemo/build.gradle rename to JSUI/DialogDemo/build.gradle diff --git a/InputApplication/entry/.gitignore b/JSUI/DialogDemo/entry/.gitignore similarity index 100% rename from InputApplication/entry/.gitignore rename to JSUI/DialogDemo/entry/.gitignore diff --git a/DialogDemo/entry/build.gradle b/JSUI/DialogDemo/entry/build.gradle similarity index 100% rename from DialogDemo/entry/build.gradle rename to JSUI/DialogDemo/entry/build.gradle diff --git a/JsDistributedData/entry/package.json b/JSUI/DialogDemo/entry/package.json similarity index 100% rename from JsDistributedData/entry/package.json rename to JSUI/DialogDemo/entry/package.json diff --git a/NewsDemo/entry/proguard-rules.pro b/JSUI/DialogDemo/entry/proguard-rules.pro similarity index 100% rename from NewsDemo/entry/proguard-rules.pro rename to JSUI/DialogDemo/entry/proguard-rules.pro diff --git a/DialogDemo/entry/src/main/config.json b/JSUI/DialogDemo/entry/src/main/config.json similarity index 100% rename from DialogDemo/entry/src/main/config.json rename to JSUI/DialogDemo/entry/src/main/config.json diff --git a/NewsDemo/entry/src/main/js/MainAbility/app.js b/JSUI/DialogDemo/entry/src/main/js/default/app.js similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility/app.js rename to JSUI/DialogDemo/entry/src/main/js/default/app.js diff --git a/DialogDemo/entry/src/main/js/default/common/images/loading.svg b/JSUI/DialogDemo/entry/src/main/js/default/common/images/loading.svg similarity index 100% rename from DialogDemo/entry/src/main/js/default/common/images/loading.svg rename to JSUI/DialogDemo/entry/src/main/js/default/common/images/loading.svg diff --git a/JSRelationshipData/entry/src/main/js/MainAbility/i18n/en-US.json b/JSUI/DialogDemo/entry/src/main/js/default/i18n/en-US.json similarity index 100% rename from JSRelationshipData/entry/src/main/js/MainAbility/i18n/en-US.json rename to JSUI/DialogDemo/entry/src/main/js/default/i18n/en-US.json diff --git a/JSRelationshipData/entry/src/main/js/MainAbility/i18n/zh-CN.json b/JSUI/DialogDemo/entry/src/main/js/default/i18n/zh-CN.json similarity index 100% rename from JSRelationshipData/entry/src/main/js/MainAbility/i18n/zh-CN.json rename to JSUI/DialogDemo/entry/src/main/js/default/i18n/zh-CN.json diff --git a/DialogDemo/entry/src/main/js/default/pages/index/index.css b/JSUI/DialogDemo/entry/src/main/js/default/pages/index/index.css similarity index 100% rename from DialogDemo/entry/src/main/js/default/pages/index/index.css rename to JSUI/DialogDemo/entry/src/main/js/default/pages/index/index.css diff --git a/DialogDemo/entry/src/main/js/default/pages/index/index.hml b/JSUI/DialogDemo/entry/src/main/js/default/pages/index/index.hml similarity index 100% rename from DialogDemo/entry/src/main/js/default/pages/index/index.hml rename to JSUI/DialogDemo/entry/src/main/js/default/pages/index/index.hml diff --git a/DialogDemo/entry/src/main/js/default/pages/index/index.js b/JSUI/DialogDemo/entry/src/main/js/default/pages/index/index.js similarity index 100% rename from DialogDemo/entry/src/main/js/default/pages/index/index.js rename to JSUI/DialogDemo/entry/src/main/js/default/pages/index/index.js diff --git a/JSCanvasComponet/entry/src/main/resources/base/element/string.json b/JSUI/DialogDemo/entry/src/main/resources/base/element/string.json similarity index 100% rename from JSCanvasComponet/entry/src/main/resources/base/element/string.json rename to JSUI/DialogDemo/entry/src/main/resources/base/element/string.json diff --git a/NewsDemo/entry/src/main/resources/base/media/icon.png b/JSUI/DialogDemo/entry/src/main/resources/base/media/icon.png similarity index 100% rename from NewsDemo/entry/src/main/resources/base/media/icon.png rename to JSUI/DialogDemo/entry/src/main/resources/base/media/icon.png diff --git a/JSRelationshipData/gradle/wrapper/gradle-wrapper.jar b/JSUI/DialogDemo/gradle/wrapper/gradle-wrapper.jar similarity index 100% rename from JSRelationshipData/gradle/wrapper/gradle-wrapper.jar rename to JSUI/DialogDemo/gradle/wrapper/gradle-wrapper.jar diff --git a/JSRelationshipData/gradle/wrapper/gradle-wrapper.properties b/JSUI/DialogDemo/gradle/wrapper/gradle-wrapper.properties similarity index 100% rename from JSRelationshipData/gradle/wrapper/gradle-wrapper.properties rename to JSUI/DialogDemo/gradle/wrapper/gradle-wrapper.properties diff --git a/NewsDemo/settings.gradle b/JSUI/DialogDemo/settings.gradle similarity index 100% rename from NewsDemo/settings.gradle rename to JSUI/DialogDemo/settings.gradle diff --git a/InputApplication/LICENSE b/JSUI/InputApplication/LICENSE similarity index 100% rename from InputApplication/LICENSE rename to JSUI/InputApplication/LICENSE diff --git a/InputApplication/README.md b/JSUI/InputApplication/README.md similarity index 100% rename from InputApplication/README.md rename to JSUI/InputApplication/README.md diff --git a/InputApplication/build.gradle b/JSUI/InputApplication/build.gradle similarity index 100% rename from InputApplication/build.gradle rename to JSUI/InputApplication/build.gradle diff --git a/NewsDemo/entry/.gitignore b/JSUI/InputApplication/entry/.gitignore similarity index 100% rename from NewsDemo/entry/.gitignore rename to JSUI/InputApplication/entry/.gitignore diff --git a/JSRelationshipData/entry/build.gradle b/JSUI/InputApplication/entry/build.gradle similarity index 100% rename from JSRelationshipData/entry/build.gradle rename to JSUI/InputApplication/entry/build.gradle diff --git a/NewsDemo/entry/package.json b/JSUI/InputApplication/entry/package.json similarity index 100% rename from NewsDemo/entry/package.json rename to JSUI/InputApplication/entry/package.json diff --git a/PictureGameOpenHarmony/entry/proguard-rules.pro b/JSUI/InputApplication/entry/proguard-rules.pro similarity index 100% rename from PictureGameOpenHarmony/entry/proguard-rules.pro rename to JSUI/InputApplication/entry/proguard-rules.pro diff --git a/InputApplication/entry/src/main/config.json b/JSUI/InputApplication/entry/src/main/config.json similarity index 100% rename from InputApplication/entry/src/main/config.json rename to JSUI/InputApplication/entry/src/main/config.json diff --git a/NewsDemo/entry/src/main/js/MainAbility2/app.js b/JSUI/InputApplication/entry/src/main/js/default/app.js similarity index 100% rename from NewsDemo/entry/src/main/js/MainAbility2/app.js rename to JSUI/InputApplication/entry/src/main/js/default/app.js diff --git a/InputApplication/entry/src/main/js/default/common/images/Wallpaper.png b/JSUI/InputApplication/entry/src/main/js/default/common/images/Wallpaper.png similarity index 100% rename from InputApplication/entry/src/main/js/default/common/images/Wallpaper.png rename to JSUI/InputApplication/entry/src/main/js/default/common/images/Wallpaper.png diff --git a/JSCanvasComponet/entry/src/main/js/default/common/images/bg-tv.jpg b/JSUI/InputApplication/entry/src/main/js/default/common/images/bg-tv.jpg similarity index 100% rename from JSCanvasComponet/entry/src/main/js/default/common/images/bg-tv.jpg rename to JSUI/InputApplication/entry/src/main/js/default/common/images/bg-tv.jpg diff --git a/InputApplication/entry/src/main/js/default/common/images/require.png b/JSUI/InputApplication/entry/src/main/js/default/common/images/require.png similarity index 100% rename from InputApplication/entry/src/main/js/default/common/images/require.png rename to JSUI/InputApplication/entry/src/main/js/default/common/images/require.png diff --git a/JsDistributedData/entry/src/main/js/default/i18n/en-US.json b/JSUI/InputApplication/entry/src/main/js/default/i18n/en-US.json similarity index 100% rename from JsDistributedData/entry/src/main/js/default/i18n/en-US.json rename to JSUI/InputApplication/entry/src/main/js/default/i18n/en-US.json diff --git a/JsDistributedData/entry/src/main/js/default/i18n/zh-CN.json b/JSUI/InputApplication/entry/src/main/js/default/i18n/zh-CN.json similarity index 100% rename from JsDistributedData/entry/src/main/js/default/i18n/zh-CN.json rename to JSUI/InputApplication/entry/src/main/js/default/i18n/zh-CN.json diff --git a/InputApplication/entry/src/main/js/default/pages/index/index.css b/JSUI/InputApplication/entry/src/main/js/default/pages/index/index.css similarity index 100% rename from InputApplication/entry/src/main/js/default/pages/index/index.css rename to JSUI/InputApplication/entry/src/main/js/default/pages/index/index.css diff --git a/InputApplication/entry/src/main/js/default/pages/index/index.hml b/JSUI/InputApplication/entry/src/main/js/default/pages/index/index.hml similarity index 100% rename from InputApplication/entry/src/main/js/default/pages/index/index.hml rename to JSUI/InputApplication/entry/src/main/js/default/pages/index/index.hml diff --git a/InputApplication/entry/src/main/js/default/pages/index/index.js b/JSUI/InputApplication/entry/src/main/js/default/pages/index/index.js similarity index 100% rename from InputApplication/entry/src/main/js/default/pages/index/index.js rename to JSUI/InputApplication/entry/src/main/js/default/pages/index/index.js diff --git a/JSRelationshipData/entry/src/main/resources/base/element/string.json b/JSUI/InputApplication/entry/src/main/resources/base/element/string.json similarity index 100% rename from JSRelationshipData/entry/src/main/resources/base/element/string.json rename to JSUI/InputApplication/entry/src/main/resources/base/element/string.json diff --git a/PictureGameOpenHarmony/entry/src/main/resources/base/media/icon.png b/JSUI/InputApplication/entry/src/main/resources/base/media/icon.png similarity index 100% rename from PictureGameOpenHarmony/entry/src/main/resources/base/media/icon.png rename to JSUI/InputApplication/entry/src/main/resources/base/media/icon.png diff --git a/JsDistributedData/gradle/wrapper/gradle-wrapper.jar b/JSUI/InputApplication/gradle/wrapper/gradle-wrapper.jar similarity index 100% rename from JsDistributedData/gradle/wrapper/gradle-wrapper.jar rename to JSUI/InputApplication/gradle/wrapper/gradle-wrapper.jar diff --git a/JsDistributedData/gradle/wrapper/gradle-wrapper.properties b/JSUI/InputApplication/gradle/wrapper/gradle-wrapper.properties similarity index 100% rename from JsDistributedData/gradle/wrapper/gradle-wrapper.properties rename to JSUI/InputApplication/gradle/wrapper/gradle-wrapper.properties diff --git a/PictureGameOpenHarmony/settings.gradle b/JSUI/InputApplication/settings.gradle similarity index 100% rename from PictureGameOpenHarmony/settings.gradle rename to JSUI/InputApplication/settings.gradle diff --git a/JsDistributedData/LICENSE b/JSUI/JSCanvasComponet/LICENSE similarity index 100% rename from JsDistributedData/LICENSE rename to JSUI/JSCanvasComponet/LICENSE diff --git a/JSCanvasComponet/README.md b/JSUI/JSCanvasComponet/README.md similarity index 100% rename from JSCanvasComponet/README.md rename to JSUI/JSCanvasComponet/README.md diff --git a/JSCanvasComponet/build.gradle b/JSUI/JSCanvasComponet/build.gradle similarity index 100% rename from JSCanvasComponet/build.gradle rename to JSUI/JSCanvasComponet/build.gradle diff --git a/ImageJsDemo/entry/build.gradle b/JSUI/JSCanvasComponet/entry/build.gradle similarity index 100% rename from ImageJsDemo/entry/build.gradle rename to JSUI/JSCanvasComponet/entry/build.gradle diff --git a/PictureGameOpenHarmony/entry/package.json b/JSUI/JSCanvasComponet/entry/package.json similarity index 100% rename from PictureGameOpenHarmony/entry/package.json rename to JSUI/JSCanvasComponet/entry/package.json diff --git a/RatingApplication/entry/proguard-rules.pro b/JSUI/JSCanvasComponet/entry/proguard-rules.pro similarity index 100% rename from RatingApplication/entry/proguard-rules.pro rename to JSUI/JSCanvasComponet/entry/proguard-rules.pro diff --git a/JSCanvasComponet/entry/src/main/config.json b/JSUI/JSCanvasComponet/entry/src/main/config.json similarity index 100% rename from JSCanvasComponet/entry/src/main/config.json rename to JSUI/JSCanvasComponet/entry/src/main/config.json diff --git a/PictureGameOpenHarmony/entry/src/main/js/default/app.js b/JSUI/JSCanvasComponet/entry/src/main/js/default/app.js similarity index 100% rename from PictureGameOpenHarmony/entry/src/main/js/default/app.js rename to JSUI/JSCanvasComponet/entry/src/main/js/default/app.js diff --git a/JSCanvasComponet/entry/src/main/js/default/common/images/Wallpaper.png b/JSUI/JSCanvasComponet/entry/src/main/js/default/common/images/Wallpaper.png similarity index 100% rename from JSCanvasComponet/entry/src/main/js/default/common/images/Wallpaper.png rename to JSUI/JSCanvasComponet/entry/src/main/js/default/common/images/Wallpaper.png diff --git a/PictureGameOpenHarmony/entry/src/main/js/default/common/images/bg-tv.jpg b/JSUI/JSCanvasComponet/entry/src/main/js/default/common/images/bg-tv.jpg similarity index 100% rename from PictureGameOpenHarmony/entry/src/main/js/default/common/images/bg-tv.jpg rename to JSUI/JSCanvasComponet/entry/src/main/js/default/common/images/bg-tv.jpg diff --git a/JSCanvasComponet/entry/src/main/js/default/common/images/headset.png b/JSUI/JSCanvasComponet/entry/src/main/js/default/common/images/headset.png similarity index 100% rename from JSCanvasComponet/entry/src/main/js/default/common/images/headset.png rename to JSUI/JSCanvasComponet/entry/src/main/js/default/common/images/headset.png diff --git a/JSCanvasComponet/entry/src/main/js/default/common/images/phone.png b/JSUI/JSCanvasComponet/entry/src/main/js/default/common/images/phone.png similarity index 100% rename from JSCanvasComponet/entry/src/main/js/default/common/images/phone.png rename to JSUI/JSCanvasComponet/entry/src/main/js/default/common/images/phone.png diff --git a/JSCanvasComponet/entry/src/main/js/default/common/images/start.png b/JSUI/JSCanvasComponet/entry/src/main/js/default/common/images/start.png similarity index 100% rename from JSCanvasComponet/entry/src/main/js/default/common/images/start.png rename to JSUI/JSCanvasComponet/entry/src/main/js/default/common/images/start.png diff --git a/JSCanvasComponet/entry/src/main/js/default/common/images/tablet.png b/JSUI/JSCanvasComponet/entry/src/main/js/default/common/images/tablet.png similarity index 100% rename from JSCanvasComponet/entry/src/main/js/default/common/images/tablet.png rename to JSUI/JSCanvasComponet/entry/src/main/js/default/common/images/tablet.png diff --git a/JSCanvasComponet/entry/src/main/js/default/common/images/thanks.png b/JSUI/JSCanvasComponet/entry/src/main/js/default/common/images/thanks.png similarity index 100% rename from JSCanvasComponet/entry/src/main/js/default/common/images/thanks.png rename to JSUI/JSCanvasComponet/entry/src/main/js/default/common/images/thanks.png diff --git a/JSCanvasComponet/entry/src/main/js/default/common/images/watch.png b/JSUI/JSCanvasComponet/entry/src/main/js/default/common/images/watch.png similarity index 100% rename from JSCanvasComponet/entry/src/main/js/default/common/images/watch.png rename to JSUI/JSCanvasComponet/entry/src/main/js/default/common/images/watch.png diff --git a/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/i18n/en-US.json b/JSUI/JSCanvasComponet/entry/src/main/js/default/i18n/en-US.json similarity index 100% rename from NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/i18n/en-US.json rename to JSUI/JSCanvasComponet/entry/src/main/js/default/i18n/en-US.json diff --git a/NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/i18n/zh-CN.json b/JSUI/JSCanvasComponet/entry/src/main/js/default/i18n/zh-CN.json similarity index 100% rename from NewsDemo/entry/.preview/intermediates/res/debug/rich/assets/js/MainAbility/i18n/zh-CN.json rename to JSUI/JSCanvasComponet/entry/src/main/js/default/i18n/zh-CN.json diff --git a/JSCanvasComponet/entry/src/main/js/default/pages/index/index.css b/JSUI/JSCanvasComponet/entry/src/main/js/default/pages/index/index.css similarity index 100% rename from JSCanvasComponet/entry/src/main/js/default/pages/index/index.css rename to JSUI/JSCanvasComponet/entry/src/main/js/default/pages/index/index.css diff --git a/JSCanvasComponet/entry/src/main/js/default/pages/index/index.hml b/JSUI/JSCanvasComponet/entry/src/main/js/default/pages/index/index.hml similarity index 100% rename from JSCanvasComponet/entry/src/main/js/default/pages/index/index.hml rename to JSUI/JSCanvasComponet/entry/src/main/js/default/pages/index/index.hml diff --git a/JSCanvasComponet/entry/src/main/js/default/pages/index/index.js b/JSUI/JSCanvasComponet/entry/src/main/js/default/pages/index/index.js similarity index 100% rename from JSCanvasComponet/entry/src/main/js/default/pages/index/index.js rename to JSUI/JSCanvasComponet/entry/src/main/js/default/pages/index/index.js diff --git a/JsDistributedData/entry/src/main/resources/base/element/string.json b/JSUI/JSCanvasComponet/entry/src/main/resources/base/element/string.json similarity index 100% rename from JsDistributedData/entry/src/main/resources/base/element/string.json rename to JSUI/JSCanvasComponet/entry/src/main/resources/base/element/string.json diff --git a/RatingApplication/entry/src/main/resources/base/media/icon.png b/JSUI/JSCanvasComponet/entry/src/main/resources/base/media/icon.png similarity index 100% rename from RatingApplication/entry/src/main/resources/base/media/icon.png rename to JSUI/JSCanvasComponet/entry/src/main/resources/base/media/icon.png diff --git a/RatingApplication/gradle/wrapper/gradle-wrapper.jar b/JSUI/JSCanvasComponet/gradle/wrapper/gradle-wrapper.jar similarity index 100% rename from RatingApplication/gradle/wrapper/gradle-wrapper.jar rename to JSUI/JSCanvasComponet/gradle/wrapper/gradle-wrapper.jar diff --git a/RatingApplication/gradle/wrapper/gradle-wrapper.properties b/JSUI/JSCanvasComponet/gradle/wrapper/gradle-wrapper.properties similarity index 100% rename from RatingApplication/gradle/wrapper/gradle-wrapper.properties rename to JSUI/JSCanvasComponet/gradle/wrapper/gradle-wrapper.properties diff --git a/RatingApplication/settings.gradle b/JSUI/JSCanvasComponet/settings.gradle similarity index 100% rename from RatingApplication/settings.gradle rename to JSUI/JSCanvasComponet/settings.gradle diff --git a/RatingApplication/LICENSE b/JSUI/RatingApplication/LICENSE similarity index 100% rename from RatingApplication/LICENSE rename to JSUI/RatingApplication/LICENSE diff --git a/RatingApplication/README.md b/JSUI/RatingApplication/README.md similarity index 100% rename from RatingApplication/README.md rename to JSUI/RatingApplication/README.md diff --git a/JSRelationshipData/build.gradle b/JSUI/RatingApplication/build.gradle similarity index 100% rename from JSRelationshipData/build.gradle rename to JSUI/RatingApplication/build.gradle diff --git a/PictureGameOpenHarmony/entry/.gitignore b/JSUI/RatingApplication/entry/.gitignore similarity index 100% rename from PictureGameOpenHarmony/entry/.gitignore rename to JSUI/RatingApplication/entry/.gitignore diff --git a/RemoteStartFA/entry/build.gradle b/JSUI/RatingApplication/entry/build.gradle similarity index 100% rename from RemoteStartFA/entry/build.gradle rename to JSUI/RatingApplication/entry/build.gradle diff --git a/RatingApplication/entry/package.json b/JSUI/RatingApplication/entry/package.json similarity index 100% rename from RatingApplication/entry/package.json rename to JSUI/RatingApplication/entry/package.json diff --git a/RemoteStartFA/entry/proguard-rules.pro b/JSUI/RatingApplication/entry/proguard-rules.pro similarity index 100% rename from RemoteStartFA/entry/proguard-rules.pro rename to JSUI/RatingApplication/entry/proguard-rules.pro diff --git a/RatingApplication/entry/src/main/config.json b/JSUI/RatingApplication/entry/src/main/config.json similarity index 100% rename from RatingApplication/entry/src/main/config.json rename to JSUI/RatingApplication/entry/src/main/config.json diff --git a/RatingApplication/entry/src/main/js/default/app.js b/JSUI/RatingApplication/entry/src/main/js/default/app.js similarity index 100% rename from RatingApplication/entry/src/main/js/default/app.js rename to JSUI/RatingApplication/entry/src/main/js/default/app.js diff --git a/RatingApplication/entry/src/main/js/default/common/asserts/zdy1.png b/JSUI/RatingApplication/entry/src/main/js/default/common/asserts/zdy1.png similarity index 100% rename from RatingApplication/entry/src/main/js/default/common/asserts/zdy1.png rename to JSUI/RatingApplication/entry/src/main/js/default/common/asserts/zdy1.png diff --git a/RatingApplication/entry/src/main/js/default/common/asserts/zdy2.png b/JSUI/RatingApplication/entry/src/main/js/default/common/asserts/zdy2.png similarity index 100% rename from RatingApplication/entry/src/main/js/default/common/asserts/zdy2.png rename to JSUI/RatingApplication/entry/src/main/js/default/common/asserts/zdy2.png diff --git a/RatingApplication/entry/src/main/js/default/common/asserts/zdy3.png b/JSUI/RatingApplication/entry/src/main/js/default/common/asserts/zdy3.png similarity index 100% rename from RatingApplication/entry/src/main/js/default/common/asserts/zdy3.png rename to JSUI/RatingApplication/entry/src/main/js/default/common/asserts/zdy3.png diff --git a/RatingApplication/entry/src/main/js/default/common/images/Wallpaper.png b/JSUI/RatingApplication/entry/src/main/js/default/common/images/Wallpaper.png similarity index 100% rename from RatingApplication/entry/src/main/js/default/common/images/Wallpaper.png rename to JSUI/RatingApplication/entry/src/main/js/default/common/images/Wallpaper.png diff --git a/RatingApplication/entry/src/main/js/default/common/images/bg-tv.jpg b/JSUI/RatingApplication/entry/src/main/js/default/common/images/bg-tv.jpg similarity index 100% rename from RatingApplication/entry/src/main/js/default/common/images/bg-tv.jpg rename to JSUI/RatingApplication/entry/src/main/js/default/common/images/bg-tv.jpg diff --git a/PictureGameOpenHarmony/entry/src/main/js/default/i18n/en-US.json b/JSUI/RatingApplication/entry/src/main/js/default/i18n/en-US.json similarity index 100% rename from PictureGameOpenHarmony/entry/src/main/js/default/i18n/en-US.json rename to JSUI/RatingApplication/entry/src/main/js/default/i18n/en-US.json diff --git a/PictureGameOpenHarmony/entry/src/main/js/default/i18n/zh-CN.json b/JSUI/RatingApplication/entry/src/main/js/default/i18n/zh-CN.json similarity index 100% rename from PictureGameOpenHarmony/entry/src/main/js/default/i18n/zh-CN.json rename to JSUI/RatingApplication/entry/src/main/js/default/i18n/zh-CN.json diff --git a/RatingApplication/entry/src/main/js/default/pages/index/index.css b/JSUI/RatingApplication/entry/src/main/js/default/pages/index/index.css similarity index 100% rename from RatingApplication/entry/src/main/js/default/pages/index/index.css rename to JSUI/RatingApplication/entry/src/main/js/default/pages/index/index.css diff --git a/RatingApplication/entry/src/main/js/default/pages/index/index.hml b/JSUI/RatingApplication/entry/src/main/js/default/pages/index/index.hml similarity index 100% rename from RatingApplication/entry/src/main/js/default/pages/index/index.hml rename to JSUI/RatingApplication/entry/src/main/js/default/pages/index/index.hml diff --git a/RatingApplication/entry/src/main/js/default/pages/index/index.js b/JSUI/RatingApplication/entry/src/main/js/default/pages/index/index.js similarity index 100% rename from RatingApplication/entry/src/main/js/default/pages/index/index.js rename to JSUI/RatingApplication/entry/src/main/js/default/pages/index/index.js diff --git a/RatingApplication/entry/src/main/resources/base/element/string.json b/JSUI/RatingApplication/entry/src/main/resources/base/element/string.json similarity index 100% rename from RatingApplication/entry/src/main/resources/base/element/string.json rename to JSUI/RatingApplication/entry/src/main/resources/base/element/string.json diff --git a/RemoteStartFA/entry/src/main/resources/base/media/icon.png b/JSUI/RatingApplication/entry/src/main/resources/base/media/icon.png similarity index 100% rename from RemoteStartFA/entry/src/main/resources/base/media/icon.png rename to JSUI/RatingApplication/entry/src/main/resources/base/media/icon.png diff --git a/RemoteStartFA/gradle/wrapper/gradle-wrapper.jar b/JSUI/RatingApplication/gradle/wrapper/gradle-wrapper.jar similarity index 100% rename from RemoteStartFA/gradle/wrapper/gradle-wrapper.jar rename to JSUI/RatingApplication/gradle/wrapper/gradle-wrapper.jar diff --git a/RemoteStartFA/gradle/wrapper/gradle-wrapper.properties b/JSUI/RatingApplication/gradle/wrapper/gradle-wrapper.properties similarity index 100% rename from RemoteStartFA/gradle/wrapper/gradle-wrapper.properties rename to JSUI/RatingApplication/gradle/wrapper/gradle-wrapper.properties diff --git a/RemoteStartFA/settings.gradle b/JSUI/RatingApplication/settings.gradle similarity index 100% rename from RemoteStartFA/settings.gradle rename to JSUI/RatingApplication/settings.gradle diff --git a/ShoppingOpenHarmony/README.md b/JSUI/ShoppingOpenHarmony/README.md similarity index 100% rename from ShoppingOpenHarmony/README.md rename to JSUI/ShoppingOpenHarmony/README.md diff --git a/ShoppingOpenHarmony/build.gradle b/JSUI/ShoppingOpenHarmony/build.gradle similarity index 100% rename from ShoppingOpenHarmony/build.gradle rename to JSUI/ShoppingOpenHarmony/build.gradle diff --git a/RatingApplication/entry/.gitignore b/JSUI/ShoppingOpenHarmony/entry/.gitignore similarity index 100% rename from RatingApplication/entry/.gitignore rename to JSUI/ShoppingOpenHarmony/entry/.gitignore diff --git a/ShoppingOpenHarmony/entry/build.gradle b/JSUI/ShoppingOpenHarmony/entry/build.gradle similarity index 100% rename from ShoppingOpenHarmony/entry/build.gradle rename to JSUI/ShoppingOpenHarmony/entry/build.gradle diff --git a/RemoteStartFA/entry/package.json b/JSUI/ShoppingOpenHarmony/entry/package.json similarity index 100% rename from RemoteStartFA/entry/package.json rename to JSUI/ShoppingOpenHarmony/entry/package.json diff --git a/ShoppingOpenHarmony/entry/proguard-rules.pro b/JSUI/ShoppingOpenHarmony/entry/proguard-rules.pro similarity index 100% rename from ShoppingOpenHarmony/entry/proguard-rules.pro rename to JSUI/ShoppingOpenHarmony/entry/proguard-rules.pro diff --git a/ShoppingOpenHarmony/entry/src/main/config.json b/JSUI/ShoppingOpenHarmony/entry/src/main/config.json similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/config.json rename to JSUI/ShoppingOpenHarmony/entry/src/main/config.json diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/app.js b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/app.js similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/app.js rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/app.js diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/common/background.png b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/background.png similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/common/background.png rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/background.png diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer1.png b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer1.png similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer1.png rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer1.png diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer10.png b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer10.png similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer10.png rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer10.png diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer11.png b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer11.png similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer11.png rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer11.png diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer12.png b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer12.png similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer12.png rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer12.png diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer13.png b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer13.png similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer13.png rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer13.png diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer14.png b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer14.png similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer14.png rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer14.png diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer2.png b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer2.png similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer2.png rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer2.png diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer3.png b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer3.png similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer3.png rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer3.png diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer4.png b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer4.png similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer4.png rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer4.png diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer5.png b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer5.png similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer5.png rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer5.png diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer6.png b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer6.png similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer6.png rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer6.png diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer7.png b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer7.png similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer7.png rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer7.png diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer8.png b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer8.png similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer8.png rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer8.png diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer9.png b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer9.png similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer9.png rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/computer9.png diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/icon-buy.png b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/icon-buy.png similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/common/computer/icon-buy.png rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/icon-buy.png diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/icon-close.png b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/icon-close.png similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/common/computer/icon-close.png rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/icon-close.png diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/icon-pinn.png b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/icon-pinn.png similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/common/computer/icon-pinn.png rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/icon-pinn.png diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/icon-promotion.png b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/icon-promotion.png similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/common/computer/icon-promotion.png rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/icon-promotion.png diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/icon-return1.png b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/icon-return1.png similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/common/computer/icon-return1.png rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/computer/icon-return1.png diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/common/detail/icon-more.png b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/detail/icon-more.png similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/common/detail/icon-more.png rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/detail/icon-more.png diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/common/detail/icon-return.png b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/detail/icon-return.png similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/common/detail/icon-return.png rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/detail/icon-return.png diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/common/detail/icon-share.png b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/detail/icon-share.png similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/common/detail/icon-share.png rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/detail/icon-share.png diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/common/nav/icon-buy.png b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/nav/icon-buy.png similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/common/nav/icon-buy.png rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/nav/icon-buy.png diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/common/nav/icon-home.png b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/nav/icon-home.png similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/common/nav/icon-home.png rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/nav/icon-home.png diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/common/nav/icon-menu-buy.png b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/nav/icon-menu-buy.png similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/common/nav/icon-menu-buy.png rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/nav/icon-menu-buy.png diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/common/nav/icon-menu-release.png b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/nav/icon-menu-release.png similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/common/nav/icon-menu-release.png rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/nav/icon-menu-release.png diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/common/nav/icon-menu-sell.png b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/nav/icon-menu-sell.png similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/common/nav/icon-menu-sell.png rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/nav/icon-menu-sell.png diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/common/nav/icon-message-select.png b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/nav/icon-message-select.png similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/common/nav/icon-message-select.png rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/nav/icon-message-select.png diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/common/nav/icon-message.png b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/nav/icon-message.png similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/common/nav/icon-message.png rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/nav/icon-message.png diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/common/nav/icon-my-select.png b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/nav/icon-my-select.png similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/common/nav/icon-my-select.png rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/nav/icon-my-select.png diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/common/nav/icon-shopping-cart-select.png b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/nav/icon-shopping-cart-select.png similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/common/nav/icon-shopping-cart-select.png rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/nav/icon-shopping-cart-select.png diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/common/nav/icon-shopping-cart.png b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/nav/icon-shopping-cart.png similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/common/nav/icon-shopping-cart.png rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/nav/icon-shopping-cart.png diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/common/nav/icon-user.png b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/nav/icon-user.png similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/common/nav/icon-user.png rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/nav/icon-user.png diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/common/nav/iocn-my.png b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/nav/iocn-my.png similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/common/nav/iocn-my.png rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/nav/iocn-my.png diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (1).png b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (1).png similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (1).png rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (1).png diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (10).png b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (10).png similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (10).png rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (10).png diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (11).png b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (11).png similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (11).png rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (11).png diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (12).png b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (12).png similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (12).png rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (12).png diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (13).png b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (13).png similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (13).png rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (13).png diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (14).png b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (14).png similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (14).png rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (14).png diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (15).png b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (15).png similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (15).png rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (15).png diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (2).png b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (2).png similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (2).png rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (2).png diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (3).png b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (3).png similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (3).png rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (3).png diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (4).png b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (4).png similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (4).png rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (4).png diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (5).png b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (5).png similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (5).png rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (5).png diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (6).png b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (6).png similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (6).png rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (6).png diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (7).png b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (7).png similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (7).png rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (7).png diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (8).png b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (8).png similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (8).png rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (8).png diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (9).png b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (9).png similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (9).png rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/common/picture/HW (9).png diff --git a/RatingApplication/entry/src/main/js/default/i18n/en-US.json b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/i18n/en-US.json similarity index 100% rename from RatingApplication/entry/src/main/js/default/i18n/en-US.json rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/i18n/en-US.json diff --git a/RatingApplication/entry/src/main/js/default/i18n/zh-CN.json b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/i18n/zh-CN.json similarity index 100% rename from RatingApplication/entry/src/main/js/default/i18n/zh-CN.json rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/i18n/zh-CN.json diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/pages/homepage/homepage.css b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/pages/homepage/homepage.css similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/pages/homepage/homepage.css rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/pages/homepage/homepage.css diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/pages/homepage/homepage.hml b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/pages/homepage/homepage.hml similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/pages/homepage/homepage.hml rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/pages/homepage/homepage.hml diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/pages/homepage/homepage.js b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/pages/homepage/homepage.js similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/pages/homepage/homepage.js rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/pages/homepage/homepage.js diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/pages/shoppingDetailsPage/shoppingDetailsPage.css b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/pages/shoppingDetailsPage/shoppingDetailsPage.css similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/pages/shoppingDetailsPage/shoppingDetailsPage.css rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/pages/shoppingDetailsPage/shoppingDetailsPage.css diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/pages/shoppingDetailsPage/shoppingDetailsPage.hml b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/pages/shoppingDetailsPage/shoppingDetailsPage.hml similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/pages/shoppingDetailsPage/shoppingDetailsPage.hml rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/pages/shoppingDetailsPage/shoppingDetailsPage.hml diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/pages/shoppingDetailsPage/shoppingDetailsPage.js b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/pages/shoppingDetailsPage/shoppingDetailsPage.js similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/pages/shoppingDetailsPage/shoppingDetailsPage.js rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/pages/shoppingDetailsPage/shoppingDetailsPage.js diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/pages/viewsChart/viewsChart.css b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/pages/viewsChart/viewsChart.css similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/pages/viewsChart/viewsChart.css rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/pages/viewsChart/viewsChart.css diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/pages/viewsChart/viewsChart.hml b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/pages/viewsChart/viewsChart.hml similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/pages/viewsChart/viewsChart.hml rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/pages/viewsChart/viewsChart.hml diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/pages/viewsChart/viewsChart.js b/JSUI/ShoppingOpenHarmony/entry/src/main/js/default/pages/viewsChart/viewsChart.js similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/pages/viewsChart/viewsChart.js rename to JSUI/ShoppingOpenHarmony/entry/src/main/js/default/pages/viewsChart/viewsChart.js diff --git a/ShoppingOpenHarmony/entry/src/main/resources/base/element/string.json b/JSUI/ShoppingOpenHarmony/entry/src/main/resources/base/element/string.json similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/resources/base/element/string.json rename to JSUI/ShoppingOpenHarmony/entry/src/main/resources/base/element/string.json diff --git a/ShoppingOpenHarmony/entry/src/main/resources/base/media/icon.png b/JSUI/ShoppingOpenHarmony/entry/src/main/resources/base/media/icon.png similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/resources/base/media/icon.png rename to JSUI/ShoppingOpenHarmony/entry/src/main/resources/base/media/icon.png diff --git a/ShoppingOpenHarmony/screenshots/device/ShoppingDemo.PNG b/JSUI/ShoppingOpenHarmony/screenshots/device/ShoppingDemo.PNG similarity index 100% rename from ShoppingOpenHarmony/screenshots/device/ShoppingDemo.PNG rename to JSUI/ShoppingOpenHarmony/screenshots/device/ShoppingDemo.PNG diff --git a/ShoppingOpenHarmony/settings.gradle b/JSUI/ShoppingOpenHarmony/settings.gradle similarity index 100% rename from ShoppingOpenHarmony/settings.gradle rename to JSUI/ShoppingOpenHarmony/settings.gradle diff --git a/RemoteStartFA/LICENSE b/JSUI/SliderApplication/LICENSE similarity index 100% rename from RemoteStartFA/LICENSE rename to JSUI/SliderApplication/LICENSE diff --git a/SliderApplication/README.MD b/JSUI/SliderApplication/README.MD similarity index 100% rename from SliderApplication/README.MD rename to JSUI/SliderApplication/README.MD diff --git a/SliderApplication/build.gradle b/JSUI/SliderApplication/build.gradle similarity index 100% rename from SliderApplication/build.gradle rename to JSUI/SliderApplication/build.gradle diff --git a/ShoppingOpenHarmony/entry/.gitignore b/JSUI/SliderApplication/entry/.gitignore similarity index 100% rename from ShoppingOpenHarmony/entry/.gitignore rename to JSUI/SliderApplication/entry/.gitignore diff --git a/SliderApplication/entry/build.gradle b/JSUI/SliderApplication/entry/build.gradle similarity index 100% rename from SliderApplication/entry/build.gradle rename to JSUI/SliderApplication/entry/build.gradle diff --git a/ShoppingOpenHarmony/entry/package.json b/JSUI/SliderApplication/entry/package.json similarity index 100% rename from ShoppingOpenHarmony/entry/package.json rename to JSUI/SliderApplication/entry/package.json diff --git a/SliderApplication/entry/proguard-rules.pro b/JSUI/SliderApplication/entry/proguard-rules.pro similarity index 100% rename from SliderApplication/entry/proguard-rules.pro rename to JSUI/SliderApplication/entry/proguard-rules.pro diff --git a/SliderApplication/entry/src/main/config.json b/JSUI/SliderApplication/entry/src/main/config.json similarity index 100% rename from SliderApplication/entry/src/main/config.json rename to JSUI/SliderApplication/entry/src/main/config.json diff --git a/SliderApplication/entry/src/main/js/default/app.js b/JSUI/SliderApplication/entry/src/main/js/default/app.js similarity index 100% rename from SliderApplication/entry/src/main/js/default/app.js rename to JSUI/SliderApplication/entry/src/main/js/default/app.js diff --git a/SliderApplication/entry/src/main/js/default/common/images/Wallpaper.png b/JSUI/SliderApplication/entry/src/main/js/default/common/images/Wallpaper.png similarity index 100% rename from SliderApplication/entry/src/main/js/default/common/images/Wallpaper.png rename to JSUI/SliderApplication/entry/src/main/js/default/common/images/Wallpaper.png diff --git a/SliderApplication/entry/src/main/js/default/common/images/bg-tv.jpg b/JSUI/SliderApplication/entry/src/main/js/default/common/images/bg-tv.jpg similarity index 100% rename from SliderApplication/entry/src/main/js/default/common/images/bg-tv.jpg rename to JSUI/SliderApplication/entry/src/main/js/default/common/images/bg-tv.jpg diff --git a/SliderApplication/entry/src/main/js/default/common/images/windmill.png b/JSUI/SliderApplication/entry/src/main/js/default/common/images/windmill.png similarity index 100% rename from SliderApplication/entry/src/main/js/default/common/images/windmill.png rename to JSUI/SliderApplication/entry/src/main/js/default/common/images/windmill.png diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/i18n/en-US.json b/JSUI/SliderApplication/entry/src/main/js/default/i18n/en-US.json similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/i18n/en-US.json rename to JSUI/SliderApplication/entry/src/main/js/default/i18n/en-US.json diff --git a/ShoppingOpenHarmony/entry/src/main/js/default/i18n/zh-CN.json b/JSUI/SliderApplication/entry/src/main/js/default/i18n/zh-CN.json similarity index 100% rename from ShoppingOpenHarmony/entry/src/main/js/default/i18n/zh-CN.json rename to JSUI/SliderApplication/entry/src/main/js/default/i18n/zh-CN.json diff --git a/SliderApplication/entry/src/main/js/default/pages/index/index.css b/JSUI/SliderApplication/entry/src/main/js/default/pages/index/index.css similarity index 100% rename from SliderApplication/entry/src/main/js/default/pages/index/index.css rename to JSUI/SliderApplication/entry/src/main/js/default/pages/index/index.css diff --git a/SliderApplication/entry/src/main/js/default/pages/index/index.hml b/JSUI/SliderApplication/entry/src/main/js/default/pages/index/index.hml similarity index 100% rename from SliderApplication/entry/src/main/js/default/pages/index/index.hml rename to JSUI/SliderApplication/entry/src/main/js/default/pages/index/index.hml diff --git a/SliderApplication/entry/src/main/js/default/pages/index/index.js b/JSUI/SliderApplication/entry/src/main/js/default/pages/index/index.js similarity index 100% rename from SliderApplication/entry/src/main/js/default/pages/index/index.js rename to JSUI/SliderApplication/entry/src/main/js/default/pages/index/index.js diff --git a/RemoteStartFA/entry/src/main/resources/base/element/string.json b/JSUI/SliderApplication/entry/src/main/resources/base/element/string.json similarity index 100% rename from RemoteStartFA/entry/src/main/resources/base/element/string.json rename to JSUI/SliderApplication/entry/src/main/resources/base/element/string.json diff --git a/SliderApplication/entry/src/main/resources/base/media/icon.png b/JSUI/SliderApplication/entry/src/main/resources/base/media/icon.png similarity index 100% rename from SliderApplication/entry/src/main/resources/base/media/icon.png rename to JSUI/SliderApplication/entry/src/main/resources/base/media/icon.png diff --git a/SliderApplication/gradle/wrapper/gradle-wrapper.jar b/JSUI/SliderApplication/gradle/wrapper/gradle-wrapper.jar similarity index 100% rename from SliderApplication/gradle/wrapper/gradle-wrapper.jar rename to JSUI/SliderApplication/gradle/wrapper/gradle-wrapper.jar diff --git a/SliderApplication/gradle/wrapper/gradle-wrapper.properties b/JSUI/SliderApplication/gradle/wrapper/gradle-wrapper.properties similarity index 100% rename from SliderApplication/gradle/wrapper/gradle-wrapper.properties rename to JSUI/SliderApplication/gradle/wrapper/gradle-wrapper.properties diff --git a/SliderApplication/settings.gradle b/JSUI/SliderApplication/settings.gradle similarity index 100% rename from SliderApplication/settings.gradle rename to JSUI/SliderApplication/settings.gradle diff --git a/SwitchApplication/README.md b/JSUI/SwitchApplication/README.md similarity index 100% rename from SwitchApplication/README.md rename to JSUI/SwitchApplication/README.md diff --git a/SwitchApplication/build.gradle b/JSUI/SwitchApplication/build.gradle similarity index 100% rename from SwitchApplication/build.gradle rename to JSUI/SwitchApplication/build.gradle diff --git a/SliderApplication/entry/.gitignore b/JSUI/SwitchApplication/entry/.gitignore similarity index 100% rename from SliderApplication/entry/.gitignore rename to JSUI/SwitchApplication/entry/.gitignore diff --git a/JSCanvasComponet/entry/build.gradle b/JSUI/SwitchApplication/entry/build.gradle similarity index 100% rename from JSCanvasComponet/entry/build.gradle rename to JSUI/SwitchApplication/entry/build.gradle diff --git a/SliderApplication/entry/package.json b/JSUI/SwitchApplication/entry/package.json similarity index 100% rename from SliderApplication/entry/package.json rename to JSUI/SwitchApplication/entry/package.json diff --git a/SwitchApplication/entry/proguard-rules.pro b/JSUI/SwitchApplication/entry/proguard-rules.pro similarity index 100% rename from SwitchApplication/entry/proguard-rules.pro rename to JSUI/SwitchApplication/entry/proguard-rules.pro diff --git a/SwitchApplication/entry/src/main/config.json b/JSUI/SwitchApplication/entry/src/main/config.json similarity index 100% rename from SwitchApplication/entry/src/main/config.json rename to JSUI/SwitchApplication/entry/src/main/config.json diff --git a/SwitchApplication/entry/src/main/js/default/app.js b/JSUI/SwitchApplication/entry/src/main/js/default/app.js similarity index 100% rename from SwitchApplication/entry/src/main/js/default/app.js rename to JSUI/SwitchApplication/entry/src/main/js/default/app.js diff --git a/SwitchApplication/entry/src/main/js/default/common/images/Wallpaper.png b/JSUI/SwitchApplication/entry/src/main/js/default/common/images/Wallpaper.png similarity index 100% rename from SwitchApplication/entry/src/main/js/default/common/images/Wallpaper.png rename to JSUI/SwitchApplication/entry/src/main/js/default/common/images/Wallpaper.png diff --git a/SwitchApplication/entry/src/main/js/default/common/images/bg-tv.jpg b/JSUI/SwitchApplication/entry/src/main/js/default/common/images/bg-tv.jpg similarity index 100% rename from SwitchApplication/entry/src/main/js/default/common/images/bg-tv.jpg rename to JSUI/SwitchApplication/entry/src/main/js/default/common/images/bg-tv.jpg diff --git a/SliderApplication/entry/src/main/js/default/i18n/en-US.json b/JSUI/SwitchApplication/entry/src/main/js/default/i18n/en-US.json similarity index 100% rename from SliderApplication/entry/src/main/js/default/i18n/en-US.json rename to JSUI/SwitchApplication/entry/src/main/js/default/i18n/en-US.json diff --git a/SliderApplication/entry/src/main/js/default/i18n/zh-CN.json b/JSUI/SwitchApplication/entry/src/main/js/default/i18n/zh-CN.json similarity index 100% rename from SliderApplication/entry/src/main/js/default/i18n/zh-CN.json rename to JSUI/SwitchApplication/entry/src/main/js/default/i18n/zh-CN.json diff --git a/SwitchApplication/entry/src/main/js/default/pages/index/index.css b/JSUI/SwitchApplication/entry/src/main/js/default/pages/index/index.css similarity index 100% rename from SwitchApplication/entry/src/main/js/default/pages/index/index.css rename to JSUI/SwitchApplication/entry/src/main/js/default/pages/index/index.css diff --git a/SwitchApplication/entry/src/main/js/default/pages/index/index.hml b/JSUI/SwitchApplication/entry/src/main/js/default/pages/index/index.hml similarity index 100% rename from SwitchApplication/entry/src/main/js/default/pages/index/index.hml rename to JSUI/SwitchApplication/entry/src/main/js/default/pages/index/index.hml diff --git a/SwitchApplication/entry/src/main/js/default/pages/index/index.js b/JSUI/SwitchApplication/entry/src/main/js/default/pages/index/index.js similarity index 100% rename from SwitchApplication/entry/src/main/js/default/pages/index/index.js rename to JSUI/SwitchApplication/entry/src/main/js/default/pages/index/index.js diff --git a/SliderApplication/entry/src/main/resources/base/element/string.json b/JSUI/SwitchApplication/entry/src/main/resources/base/element/string.json similarity index 100% rename from SliderApplication/entry/src/main/resources/base/element/string.json rename to JSUI/SwitchApplication/entry/src/main/resources/base/element/string.json diff --git a/SwitchApplication/entry/src/main/resources/base/media/icon.png b/JSUI/SwitchApplication/entry/src/main/resources/base/media/icon.png similarity index 100% rename from SwitchApplication/entry/src/main/resources/base/media/icon.png rename to JSUI/SwitchApplication/entry/src/main/resources/base/media/icon.png diff --git a/SwitchApplication/gradle/wrapper/gradle-wrapper.jar b/JSUI/SwitchApplication/gradle/wrapper/gradle-wrapper.jar similarity index 100% rename from SwitchApplication/gradle/wrapper/gradle-wrapper.jar rename to JSUI/SwitchApplication/gradle/wrapper/gradle-wrapper.jar diff --git a/SwitchApplication/gradle/wrapper/gradle-wrapper.properties b/JSUI/SwitchApplication/gradle/wrapper/gradle-wrapper.properties similarity index 100% rename from SwitchApplication/gradle/wrapper/gradle-wrapper.properties rename to JSUI/SwitchApplication/gradle/wrapper/gradle-wrapper.properties diff --git a/SwitchApplication/settings.gradle b/JSUI/SwitchApplication/settings.gradle similarity index 100% rename from SwitchApplication/settings.gradle rename to JSUI/SwitchApplication/settings.gradle diff --git a/TransitionAnimtaionEts/LICENSE b/Media/ImageEditorTemplate/LICENSE similarity index 100% rename from TransitionAnimtaionEts/LICENSE rename to Media/ImageEditorTemplate/LICENSE diff --git a/ImageEditorTemplate/README.md b/Media/ImageEditorTemplate/README.md similarity index 100% rename from ImageEditorTemplate/README.md rename to Media/ImageEditorTemplate/README.md diff --git a/ImageEditorTemplate/entry/src/main/js/default/pages/index/index.js b/Media/ImageEditorTemplate/entry/src/main/js/default/pages/index/index.js similarity index 100% rename from ImageEditorTemplate/entry/src/main/js/default/pages/index/index.js rename to Media/ImageEditorTemplate/entry/src/main/js/default/pages/index/index.js diff --git a/SliderApplication/LICENSE b/Media/ImageJsDemo/LICENSE similarity index 100% rename from SliderApplication/LICENSE rename to Media/ImageJsDemo/LICENSE diff --git a/ImageJsDemo/README.md b/Media/ImageJsDemo/README.md similarity index 100% rename from ImageJsDemo/README.md rename to Media/ImageJsDemo/README.md diff --git a/RatingApplication/build.gradle b/Media/ImageJsDemo/build.gradle similarity index 100% rename from RatingApplication/build.gradle rename to Media/ImageJsDemo/build.gradle diff --git a/SwitchApplication/entry/.gitignore b/Media/ImageJsDemo/entry/.gitignore similarity index 100% rename from SwitchApplication/entry/.gitignore rename to Media/ImageJsDemo/entry/.gitignore diff --git a/SwitchApplication/entry/build.gradle b/Media/ImageJsDemo/entry/build.gradle similarity index 100% rename from SwitchApplication/entry/build.gradle rename to Media/ImageJsDemo/entry/build.gradle diff --git a/SwitchApplication/entry/package.json b/Media/ImageJsDemo/entry/package.json similarity index 100% rename from SwitchApplication/entry/package.json rename to Media/ImageJsDemo/entry/package.json diff --git a/TransitionAnimtaionEts/entry/proguard-rules.pro b/Media/ImageJsDemo/entry/proguard-rules.pro similarity index 100% rename from TransitionAnimtaionEts/entry/proguard-rules.pro rename to Media/ImageJsDemo/entry/proguard-rules.pro diff --git a/ImageJsDemo/entry/src/main/config.json b/Media/ImageJsDemo/entry/src/main/config.json similarity index 100% rename from ImageJsDemo/entry/src/main/config.json rename to Media/ImageJsDemo/entry/src/main/config.json diff --git a/ImageJsDemo/entry/src/main/js/default/app.js b/Media/ImageJsDemo/entry/src/main/js/default/app.js similarity index 100% rename from ImageJsDemo/entry/src/main/js/default/app.js rename to Media/ImageJsDemo/entry/src/main/js/default/app.js diff --git a/ImageJsDemo/entry/src/main/js/default/common/images/shanghai.jpg b/Media/ImageJsDemo/entry/src/main/js/default/common/images/shanghai.jpg similarity index 100% rename from ImageJsDemo/entry/src/main/js/default/common/images/shanghai.jpg rename to Media/ImageJsDemo/entry/src/main/js/default/common/images/shanghai.jpg diff --git a/SwitchApplication/entry/src/main/js/default/i18n/en-US.json b/Media/ImageJsDemo/entry/src/main/js/default/i18n/en-US.json similarity index 100% rename from SwitchApplication/entry/src/main/js/default/i18n/en-US.json rename to Media/ImageJsDemo/entry/src/main/js/default/i18n/en-US.json diff --git a/SwitchApplication/entry/src/main/js/default/i18n/zh-CN.json b/Media/ImageJsDemo/entry/src/main/js/default/i18n/zh-CN.json similarity index 100% rename from SwitchApplication/entry/src/main/js/default/i18n/zh-CN.json rename to Media/ImageJsDemo/entry/src/main/js/default/i18n/zh-CN.json diff --git a/ImageJsDemo/entry/src/main/js/default/pages/index/index.css b/Media/ImageJsDemo/entry/src/main/js/default/pages/index/index.css similarity index 100% rename from ImageJsDemo/entry/src/main/js/default/pages/index/index.css rename to Media/ImageJsDemo/entry/src/main/js/default/pages/index/index.css diff --git a/ImageJsDemo/entry/src/main/js/default/pages/index/index.hml b/Media/ImageJsDemo/entry/src/main/js/default/pages/index/index.hml similarity index 100% rename from ImageJsDemo/entry/src/main/js/default/pages/index/index.hml rename to Media/ImageJsDemo/entry/src/main/js/default/pages/index/index.hml diff --git a/ImageJsDemo/entry/src/main/js/default/pages/index/index.js b/Media/ImageJsDemo/entry/src/main/js/default/pages/index/index.js similarity index 100% rename from ImageJsDemo/entry/src/main/js/default/pages/index/index.js rename to Media/ImageJsDemo/entry/src/main/js/default/pages/index/index.js diff --git a/SwitchApplication/entry/src/main/resources/base/element/string.json b/Media/ImageJsDemo/entry/src/main/resources/base/element/string.json similarity index 100% rename from SwitchApplication/entry/src/main/resources/base/element/string.json rename to Media/ImageJsDemo/entry/src/main/resources/base/element/string.json diff --git a/TransitionAnimtaionEts/entry/src/main/resources/base/media/icon.png b/Media/ImageJsDemo/entry/src/main/resources/base/media/icon.png similarity index 100% rename from TransitionAnimtaionEts/entry/src/main/resources/base/media/icon.png rename to Media/ImageJsDemo/entry/src/main/resources/base/media/icon.png diff --git a/TransitionAnimtaionEts/gradle/wrapper/gradle-wrapper.jar b/Media/ImageJsDemo/gradle/wrapper/gradle-wrapper.jar similarity index 100% rename from TransitionAnimtaionEts/gradle/wrapper/gradle-wrapper.jar rename to Media/ImageJsDemo/gradle/wrapper/gradle-wrapper.jar diff --git a/TransitionAnimtaionEts/gradle/wrapper/gradle-wrapper.properties b/Media/ImageJsDemo/gradle/wrapper/gradle-wrapper.properties similarity index 100% rename from TransitionAnimtaionEts/gradle/wrapper/gradle-wrapper.properties rename to Media/ImageJsDemo/gradle/wrapper/gradle-wrapper.properties diff --git a/TransitionAnimtaionEts/settings.gradle b/Media/ImageJsDemo/settings.gradle similarity index 100% rename from TransitionAnimtaionEts/settings.gradle rename to Media/ImageJsDemo/settings.gradle diff --git a/VideoOpenHarmony/README.md b/Media/VideoOpenHarmony/README.md similarity index 100% rename from VideoOpenHarmony/README.md rename to Media/VideoOpenHarmony/README.md diff --git a/VideoOpenHarmony/build.gradle b/Media/VideoOpenHarmony/build.gradle similarity index 100% rename from VideoOpenHarmony/build.gradle rename to Media/VideoOpenHarmony/build.gradle diff --git a/VideoOpenHarmony/entry/.gitignore b/Media/VideoOpenHarmony/entry/.gitignore similarity index 100% rename from VideoOpenHarmony/entry/.gitignore rename to Media/VideoOpenHarmony/entry/.gitignore diff --git a/VideoOpenHarmony/entry/build.gradle b/Media/VideoOpenHarmony/entry/build.gradle similarity index 100% rename from VideoOpenHarmony/entry/build.gradle rename to Media/VideoOpenHarmony/entry/build.gradle diff --git a/VideoOpenHarmony/entry/package.json b/Media/VideoOpenHarmony/entry/package.json similarity index 100% rename from VideoOpenHarmony/entry/package.json rename to Media/VideoOpenHarmony/entry/package.json diff --git a/VideoOpenHarmony/entry/proguard-rules.pro b/Media/VideoOpenHarmony/entry/proguard-rules.pro similarity index 100% rename from VideoOpenHarmony/entry/proguard-rules.pro rename to Media/VideoOpenHarmony/entry/proguard-rules.pro diff --git a/VideoOpenHarmony/entry/src/main/config.json b/Media/VideoOpenHarmony/entry/src/main/config.json similarity index 100% rename from VideoOpenHarmony/entry/src/main/config.json rename to Media/VideoOpenHarmony/entry/src/main/config.json diff --git a/VideoOpenHarmony/entry/src/main/js/default/app.js b/Media/VideoOpenHarmony/entry/src/main/js/default/app.js similarity index 100% rename from VideoOpenHarmony/entry/src/main/js/default/app.js rename to Media/VideoOpenHarmony/entry/src/main/js/default/app.js diff --git a/VideoOpenHarmony/entry/src/main/js/default/common/TestVideo.mp4 b/Media/VideoOpenHarmony/entry/src/main/js/default/common/TestVideo.mp4 similarity index 100% rename from VideoOpenHarmony/entry/src/main/js/default/common/TestVideo.mp4 rename to Media/VideoOpenHarmony/entry/src/main/js/default/common/TestVideo.mp4 diff --git a/VideoOpenHarmony/entry/src/main/js/default/common/images/ic_next.png b/Media/VideoOpenHarmony/entry/src/main/js/default/common/images/ic_next.png similarity index 100% rename from VideoOpenHarmony/entry/src/main/js/default/common/images/ic_next.png rename to Media/VideoOpenHarmony/entry/src/main/js/default/common/images/ic_next.png diff --git a/VideoOpenHarmony/entry/src/main/js/default/common/images/ic_tv.png b/Media/VideoOpenHarmony/entry/src/main/js/default/common/images/ic_tv.png similarity index 100% rename from VideoOpenHarmony/entry/src/main/js/default/common/images/ic_tv.png rename to Media/VideoOpenHarmony/entry/src/main/js/default/common/images/ic_tv.png diff --git a/VideoOpenHarmony/entry/src/main/js/default/common/images/icon.png b/Media/VideoOpenHarmony/entry/src/main/js/default/common/images/icon.png similarity index 100% rename from VideoOpenHarmony/entry/src/main/js/default/common/images/icon.png rename to Media/VideoOpenHarmony/entry/src/main/js/default/common/images/icon.png diff --git a/VideoOpenHarmony/entry/src/main/js/default/common/images/video_ad0.jpg b/Media/VideoOpenHarmony/entry/src/main/js/default/common/images/video_ad0.jpg similarity index 100% rename from VideoOpenHarmony/entry/src/main/js/default/common/images/video_ad0.jpg rename to Media/VideoOpenHarmony/entry/src/main/js/default/common/images/video_ad0.jpg diff --git a/VideoOpenHarmony/entry/src/main/js/default/common/images/video_ad1.jpg b/Media/VideoOpenHarmony/entry/src/main/js/default/common/images/video_ad1.jpg similarity index 100% rename from VideoOpenHarmony/entry/src/main/js/default/common/images/video_ad1.jpg rename to Media/VideoOpenHarmony/entry/src/main/js/default/common/images/video_ad1.jpg diff --git a/VideoOpenHarmony/entry/src/main/js/default/common/images/video_ad2.jpg b/Media/VideoOpenHarmony/entry/src/main/js/default/common/images/video_ad2.jpg similarity index 100% rename from VideoOpenHarmony/entry/src/main/js/default/common/images/video_ad2.jpg rename to Media/VideoOpenHarmony/entry/src/main/js/default/common/images/video_ad2.jpg diff --git a/VideoOpenHarmony/entry/src/main/js/default/common/images/video_ad3.jpg b/Media/VideoOpenHarmony/entry/src/main/js/default/common/images/video_ad3.jpg similarity index 100% rename from VideoOpenHarmony/entry/src/main/js/default/common/images/video_ad3.jpg rename to Media/VideoOpenHarmony/entry/src/main/js/default/common/images/video_ad3.jpg diff --git a/VideoOpenHarmony/entry/src/main/js/default/common/images/video_list0.jpg b/Media/VideoOpenHarmony/entry/src/main/js/default/common/images/video_list0.jpg similarity index 100% rename from VideoOpenHarmony/entry/src/main/js/default/common/images/video_list0.jpg rename to Media/VideoOpenHarmony/entry/src/main/js/default/common/images/video_list0.jpg diff --git a/VideoOpenHarmony/entry/src/main/js/default/common/images/video_list1.jpg b/Media/VideoOpenHarmony/entry/src/main/js/default/common/images/video_list1.jpg similarity index 100% rename from VideoOpenHarmony/entry/src/main/js/default/common/images/video_list1.jpg rename to Media/VideoOpenHarmony/entry/src/main/js/default/common/images/video_list1.jpg diff --git a/VideoOpenHarmony/entry/src/main/js/default/common/images/video_list2.jpg b/Media/VideoOpenHarmony/entry/src/main/js/default/common/images/video_list2.jpg similarity index 100% rename from VideoOpenHarmony/entry/src/main/js/default/common/images/video_list2.jpg rename to Media/VideoOpenHarmony/entry/src/main/js/default/common/images/video_list2.jpg diff --git a/VideoOpenHarmony/entry/src/main/js/default/i18n/en-US.json b/Media/VideoOpenHarmony/entry/src/main/js/default/i18n/en-US.json similarity index 100% rename from VideoOpenHarmony/entry/src/main/js/default/i18n/en-US.json rename to Media/VideoOpenHarmony/entry/src/main/js/default/i18n/en-US.json diff --git a/VideoOpenHarmony/entry/src/main/js/default/i18n/zh-CN.json b/Media/VideoOpenHarmony/entry/src/main/js/default/i18n/zh-CN.json similarity index 100% rename from VideoOpenHarmony/entry/src/main/js/default/i18n/zh-CN.json rename to Media/VideoOpenHarmony/entry/src/main/js/default/i18n/zh-CN.json diff --git a/VideoOpenHarmony/entry/src/main/js/default/pages/index/index.css b/Media/VideoOpenHarmony/entry/src/main/js/default/pages/index/index.css similarity index 100% rename from VideoOpenHarmony/entry/src/main/js/default/pages/index/index.css rename to Media/VideoOpenHarmony/entry/src/main/js/default/pages/index/index.css diff --git a/VideoOpenHarmony/entry/src/main/js/default/pages/index/index.hml b/Media/VideoOpenHarmony/entry/src/main/js/default/pages/index/index.hml similarity index 100% rename from VideoOpenHarmony/entry/src/main/js/default/pages/index/index.hml rename to Media/VideoOpenHarmony/entry/src/main/js/default/pages/index/index.hml diff --git a/VideoOpenHarmony/entry/src/main/js/default/pages/index/index.js b/Media/VideoOpenHarmony/entry/src/main/js/default/pages/index/index.js similarity index 100% rename from VideoOpenHarmony/entry/src/main/js/default/pages/index/index.js rename to Media/VideoOpenHarmony/entry/src/main/js/default/pages/index/index.js diff --git a/VideoOpenHarmony/entry/src/main/js/default/pages/videopage/videopage.css b/Media/VideoOpenHarmony/entry/src/main/js/default/pages/videopage/videopage.css similarity index 100% rename from VideoOpenHarmony/entry/src/main/js/default/pages/videopage/videopage.css rename to Media/VideoOpenHarmony/entry/src/main/js/default/pages/videopage/videopage.css diff --git a/VideoOpenHarmony/entry/src/main/js/default/pages/videopage/videopage.hml b/Media/VideoOpenHarmony/entry/src/main/js/default/pages/videopage/videopage.hml similarity index 100% rename from VideoOpenHarmony/entry/src/main/js/default/pages/videopage/videopage.hml rename to Media/VideoOpenHarmony/entry/src/main/js/default/pages/videopage/videopage.hml diff --git a/VideoOpenHarmony/entry/src/main/js/default/pages/videopage/videopage.js b/Media/VideoOpenHarmony/entry/src/main/js/default/pages/videopage/videopage.js similarity index 100% rename from VideoOpenHarmony/entry/src/main/js/default/pages/videopage/videopage.js rename to Media/VideoOpenHarmony/entry/src/main/js/default/pages/videopage/videopage.js diff --git a/VideoOpenHarmony/entry/src/main/resources/base/element/string.json b/Media/VideoOpenHarmony/entry/src/main/resources/base/element/string.json similarity index 100% rename from VideoOpenHarmony/entry/src/main/resources/base/element/string.json rename to Media/VideoOpenHarmony/entry/src/main/resources/base/element/string.json diff --git a/VideoOpenHarmony/entry/src/main/resources/base/media/icon.png b/Media/VideoOpenHarmony/entry/src/main/resources/base/media/icon.png similarity index 100% rename from VideoOpenHarmony/entry/src/main/resources/base/media/icon.png rename to Media/VideoOpenHarmony/entry/src/main/resources/base/media/icon.png diff --git a/VideoOpenHarmony/screenshots/device/videoPlayer.png b/Media/VideoOpenHarmony/screenshots/device/videoPlayer.png similarity index 100% rename from VideoOpenHarmony/screenshots/device/videoPlayer.png rename to Media/VideoOpenHarmony/screenshots/device/videoPlayer.png diff --git a/VideoOpenHarmony/settings.gradle b/Media/VideoOpenHarmony/settings.gradle similarity index 100% rename from VideoOpenHarmony/settings.gradle rename to Media/VideoOpenHarmony/settings.gradle