From cd99cc7d25f9a65d3109c8587001b428b6e54d53 Mon Sep 17 00:00:00 2001 From: hejiawencc Date: Sat, 25 Mar 2023 14:15:11 +0800 Subject: [PATCH] =?UTF-8?q?drivers=20=E4=BF=AE=E5=A4=8Drtl8821cu=E5=9C=A8r?= =?UTF-8?q?eboot=E6=97=B6=E5=81=B6=E5=B0=94=E5=87=BA=E7=8E=B0=E5=88=9D?= =?UTF-8?q?=E5=A7=8B=E5=8C=96=E5=A4=B1=E8=B4=A5=E7=9A=84=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wireless/rockchip_wlan/rtl8821cu/Makefile | 3 +- .../rtl8821cu/os_dep/linux/usb_intf.c | 55 ++++++++++++++++++- 2 files changed, 55 insertions(+), 3 deletions(-) diff --git a/drivers/net/wireless/rockchip_wlan/rtl8821cu/Makefile b/drivers/net/wireless/rockchip_wlan/rtl8821cu/Makefile index 0e8a7aa317ba..d413c3c27e30 100644 --- a/drivers/net/wireless/rockchip_wlan/rtl8821cu/Makefile +++ b/drivers/net/wireless/rockchip_wlan/rtl8821cu/Makefile @@ -119,7 +119,8 @@ endif CONFIG_RTW_DEBUG = y # default log level is _DRV_INFO_ = 4, # please refer to "How_to_set_driver_debug_log_level.doc" to set the available level. -CONFIG_RTW_LOG_LEVEL = 0 +# echo 3 > /proc/net/rtl8821cu/log_level +CONFIG_RTW_LOG_LEVEL = 1 # enable /proc/net/rtlxxxx/ debug interfaces CONFIG_PROC_DEBUG = y diff --git a/drivers/net/wireless/rockchip_wlan/rtl8821cu/os_dep/linux/usb_intf.c b/drivers/net/wireless/rockchip_wlan/rtl8821cu/os_dep/linux/usb_intf.c index bc214a3e2006..188727b52e2b 100644 --- a/drivers/net/wireless/rockchip_wlan/rtl8821cu/os_dep/linux/usb_intf.c +++ b/drivers/net/wireless/rockchip_wlan/rtl8821cu/os_dep/linux/usb_intf.c @@ -1492,5 +1492,56 @@ static void __exit rtw_drv_halt(void) rtw_mstat_dump(RTW_DBGDUMP); } -module_init(rtw_drv_entry); -module_exit(rtw_drv_halt); +// module_init(rtw_drv_entry); +// module_exit(rtw_drv_halt); + +#include "rtw_version.h" +#include +extern int get_wifi_chip_type(void); +extern int rockchip_wifi_power(int on); +extern int rockchip_wifi_set_carddetect(int val); + +int rockchip_wifi_init_module_rtkwifi(void) +{ + printk("\n"); + printk("=======================================================\n"); + printk("==== Launching Wi-Fi driver! (Powered by Rockchip) ====\n"); + printk("=======================================================\n"); + printk("Realtek 8821CU USB WiFi driver (Powered by Rockchip,Ver %s) init.\n", DRIVERVERSION); + + rockchip_wifi_power(0); + msleep(200); + rockchip_wifi_power(1); + rockchip_wifi_set_carddetect(1); + + return rtw_drv_entry(); + +} + +void rockchip_wifi_exit_module_rtkwifi(void) +{ + printk("\n"); + printk("=======================================================\n"); + printk("==== Dislaunching Wi-Fi driver! (Powered by Rockchip) ====\n"); + printk("=======================================================\n"); + printk("Realtek 8821CU USB WiFi driver (Powered by Rockchip,Ver %s) init.\n", DRIVERVERSION); + + rtw_drv_halt(); + + rockchip_wifi_set_carddetect(0); + rockchip_wifi_power(0); + +} + +#ifdef CONFIG_WIFI_BUILD_MODULE +module_init(rockchip_wifi_init_module_rtkwifi); +module_exit(rockchip_wifi_exit_module_rtkwifi); +#else +#ifdef CONFIG_WIFI_LOAD_DRIVER_WHEN_KERNEL_BOOTUP +late_initcall(rockchip_wifi_init_module_rtkwifi); +module_exit(rockchip_wifi_exit_module_rtkwifi); +#else +EXPORT_SYMBOL(rockchip_wifi_init_module_rtkwifi); +EXPORT_SYMBOL(rockchip_wifi_exit_module_rtkwifi); +#endif +#endif