rtl8723bs wifi: support rk3288
authorhwg <hwg@rock-chips.com>
Wed, 20 Aug 2014 11:03:55 +0000 (19:03 +0800)
committerhwg <hwg@rock-chips.com>
Wed, 20 Aug 2014 11:33:57 +0000 (19:33 +0800)
drivers/net/wireless/Kconfig
drivers/net/wireless/rockchip_wlan/rtl8723bs/core/rtw_ieee80211.c
drivers/net/wireless/rockchip_wlan/rtl8723bs/os_dep/linux/rtw_android.c
drivers/net/wireless/rockchip_wlan/rtl8723bs/os_dep/linux/sdio_intf.c
drivers/net/wireless/rockchip_wlan/wifi_sys/rkwifi_sys_iface.c

index 3fabd90ba02f746caa18aca79d231de0912353d5..5bc85f34daaa4afac574148d0a2c16f77cbb306d 100644 (file)
@@ -32,7 +32,7 @@ if WLAN
 source "drivers/net/wireless/rockchip_wlan/rtl8188eu/Kconfig"
 #source "drivers/net/wireless/rockchip_wlan/rtl8723au/Kconfig"
 #source "drivers/net/wireless/rockchip_wlan/rtl8723as/Kconfig"
-#source "drivers/net/wireless/rockchip_wlan/rtl8723bs/Kconfig"
+source "drivers/net/wireless/rockchip_wlan/rtl8723bs/Kconfig"
 source "drivers/net/wireless/rockchip_wlan/esp8089/Kconfig"
 source "drivers/net/wireless/rockchip_wlan/rkwifi/Kconfig"
 
index 275a069acb9b9d41d7f8378c708bdcb50570b5ac..4eaf3809bd716dcb8a7ae1f4de2cfc5fcf04f226 100755 (executable)
@@ -1326,7 +1326,7 @@ u8 convert_ip_addr(u8 hch, u8 mch, u8 lch)
 }
 
 extern char* rtw_initmac;
-extern int rk29sdk_wifi_mac_addr(unsigned char *buf);
+extern int rockchip_wifi_mac_addr(unsigned char *buf);
 
 void rtw_macaddr_cfg(u8 *mac_addr)
 {
@@ -1349,7 +1349,7 @@ void rtw_macaddr_cfg(u8 *mac_addr)
     {
         printk("Wifi Efuse Mac => %02x:%02x:%02x:%02x:%02x:%02x\n", mac_addr[0], mac_addr[1],
             mac_addr[2], mac_addr[3], mac_addr[4], mac_addr[5]);
-        if (!rk29sdk_wifi_mac_addr(macbuf)) {
+        if (!rockchip_wifi_mac_addr(macbuf)) {
             int jj,kk;
             printk("=========> get mac address from flash %s\n", macbuf);
             for( jj = 0, kk = 0; jj < ETH_ALEN; jj++, kk += 3 )
index 8f215868bbc7b45cf48d04e6a9c132a7ea14779d..90925fc15a9cdda515159cd3a50301a0741b4b95 100755 (executable)
@@ -794,6 +794,7 @@ static void wifi_del_dev(void);
 int rtw_android_wifictrl_func_add(void)
 {
        int ret = 0;
+#if 0
        sema_init(&wifi_control_sem, 0);
 
        ret = wifi_add_dev();
@@ -808,17 +809,19 @@ int rtw_android_wifictrl_func_add(void)
                ret = -EINVAL;
                DBG_871X("%s: platform_driver_register timeout\n", __FUNCTION__);
        }
-
+#endif
        return ret;
 }
 
 void rtw_android_wifictrl_func_del(void)
 {
+#if 0
        if (g_wifidev_registered)
        {
                wifi_del_dev();
                g_wifidev_registered = 0;
        }
+#endif
 }
 
 void *wl_android_prealloc(int section, unsigned long size)
index 98c94e00f073d25e160961cfa79ae6151980e171..aee42e9e275111b929efb1bd96133f6739258b99 100755 (executable)
@@ -1419,11 +1419,10 @@ static void rtw_drv_halt(void)
 
 #include "wifi_version.h"
 
-#ifdef CONFIG_RK_CHECK_UACCESS
-static int __init rockchip_wifi_init_module(void)
-#else
+extern int rockchip_wifi_power(int on);
+extern int rockchip_wifi_set_carddetect(int val);
+
 int rockchip_wifi_init_module(void)
-#endif
 {
     printk("\n");
     printk("=======================================================\n");
@@ -1431,14 +1430,12 @@ int rockchip_wifi_init_module(void)
     printk("=======================================================\n");
     printk("Realtek 8723BS SDIO WiFi driver (Powered by Rockchip,Ver %s) init.\n", RTL8192_DRV_VERSION);
 
+    rockchip_wifi_power(1);
+    rockchip_wifi_set_carddetect(1);    
     return rtw_drv_entry();
 }
 
-#ifdef CONFIG_RK_CHECK_UACCESS
-static void __exit rockchip_wifi_exit_module(void)
-#else
 void rockchip_wifi_exit_module(void)
-#endif
 {
     printk("\n");
     printk("=======================================================\n");
@@ -1447,15 +1444,13 @@ void rockchip_wifi_exit_module(void)
     printk("Realtek 8723BS SDIO WiFi driver (Powered by Rockchip,Ver %s) init.\n", RTL8192_DRV_VERSION);
 
     rtw_drv_halt();
+
+    rockchip_wifi_set_carddetect(0);
+    rockchip_wifi_power(0);
 }
 
-#ifdef CONFIG_RK_CHECK_UACCESS
-late_initcall(rockchip_wifi_init_module);
-module_exit(rockchip_wifi_exit_module);
-#else
 EXPORT_SYMBOL(rockchip_wifi_init_module);
 EXPORT_SYMBOL(rockchip_wifi_exit_module);
-#endif
 //module_init(rtw_drv_entry);
 //module_exit(rtw_drv_halt);
 
index c3a0347b0354f4b417b3527cd29487a683085b8d..879c1d2019cd22865a5f17f83119990861382ca9 100755 (executable)
@@ -204,7 +204,7 @@ static int wifi_init_exit_module(int enable)
 #endif
 
 #if !defined(CONFIG_RKWIFI) && !defined(CONFIG_RTL8188EU) && !defined(CONFIG_ESP8089)
-    {
+    if (type > 0) {
         if (enable > 0)
             ret = rockchip_wifi_init_module();
         else