/* * Copyright (c) 202X Amlogic, Inc. All rights reserved. * * This source code is subject to the terms and conditions defined in the * file 'LICENSE' which is part of this source code package. * * Description: */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "common.h" #include "w2_bt_entry.h" #include "w2_sdio_bt.h" #include "w2_usb_bt.h" #include "w2_pcie_bt.h" extern struct aml_hif_sdio_ops g_hif_sdio_ops; extern struct aml_pm_type g_wifi_pm; static int w2_bt_init(void) { int ret = 0; BTI("%s \n", __func__); if (INTF_TYPE_IS_USB(amlbt_if_type)) //usb interface { if (FAMILY_TYPE_IS_W2(amlbt_if_type)) { BTI("%s w2 usb \n", __func__); ret = amlbt_w2u_init(); } } else if (INTF_TYPE_IS_SDIO(amlbt_if_type)) { if (FAMILY_TYPE_IS_W2(amlbt_if_type)) { BTI("%s w2 sdio \n", __func__); ret = amlbt_w2s_init(); } } else if (INTF_TYPE_IS_PCIE(amlbt_if_type)) { BTI("%s w2 pcie \n", __func__); ret = amlbt_w2p_init(); } else { BTE("%s amlbt_if_type invalid!! \n", __func__); return ret; } return ret; } static void w2_bt_exit(void) { BTI("%s \n", __func__); if (INTF_TYPE_IS_USB(amlbt_if_type)) //usb interface { if (FAMILY_TYPE_IS_W2(amlbt_if_type)) { BTI("%s w2 usb \n", __func__); amlbt_w2u_exit(); } } else if (INTF_TYPE_IS_SDIO(amlbt_if_type)) { if (FAMILY_TYPE_IS_W2(amlbt_if_type)) { BTI("%s w2 sdio \n", __func__); amlbt_w2s_exit(); } } else if (INTF_TYPE_IS_PCIE(amlbt_if_type)) { BTI("%s w2 pcie \n", __func__); amlbt_w2p_exit(); } else { BTE("%s amlbt_if_type invalid!! \n", __func__); } } module_param(amlbt_if_type, uint, S_IRUGO); module_param(polling_time, uint, S_IRUGO|S_IWUSR); module_param(amlbt_ft_mode, uint, S_IRUGO); module_init(w2_bt_init); module_exit(w2_bt_exit); MODULE_LICENSE("GPL"); MODULE_DESCRIPTION(AML_W2U_VERSION); MODULE_DESCRIPTION(AML_W2S_VERSION); MODULE_DESCRIPTION(AML_W2P_VERSION); MODULE_VERSION("1.0.0");