static int __init rtw_drv_entry(void) { int ret = 0; DBG_871X_LEVEL(_drv_always_, "module init start\n"); dump_drv_version(RTW_DBGDUMP); #ifdef BTCOEXVERSION DBG_871X_LEVEL(_drv_always_, DRV_NAME" BT-Coex version = %s\n", BTCOEXVERSION); #endif // BTCOEXVERSION drvpriv.drv_registered = _TRUE; rtw_suspend_lock_init(); rtw_drv_proc_init(); rtw_ndev_notifier_register(); rtw_wifi_gpio_init(); rtw_wifi_gpio_wlan_ctrl(WLAN_PWDN_ON); ret = spi_register_driver(&rtw_spi_drv); if (ret != 0) { drvpriv.drv_registered = _FALSE; rtw_suspend_lock_uninit(); rtw_drv_proc_deinit(); rtw_ndev_notifier_unregister(); rtw_wifi_gpio_wlan_ctrl(WLAN_PWDN_OFF); rtw_wifi_gpio_deinit(); goto exit; } exit: DBG_871X_LEVEL(_drv_always_, "module init ret=%d\n", ret); return ret; }
void platform_wifi_power_off(void) { /* Pull down pwd pin, make wifi enter power down mode. */ rtw_wifi_gpio_wlan_ctrl(WLAN_PWDN_OFF); rtw_mdelay_os(5); rtw_wifi_gpio_deinit(); #ifdef CONFIG_RTL8188E rtw_wifi_gpio_wlan_ctrl(WLAN_POWER_OFF); #endif /* CONFIG_RTL8188E */ #ifdef CONFIG_WOWLAN if (mmc_host) mmc_host->pm_flags &= ~MMC_PM_KEEP_POWER; #endif /* CONFIG_WOWLAN */ }
static void __exit rtw_drv_halt(void) { RT_TRACE(_module_hci_intfs_c_, _drv_notice_, ("+rtw_drv_halt\n")); DBG_8192C("RTW: rtw_drv_halt enter\n"); rtw_suspend_lock_uninit(); drvpriv.drv_registered = _FALSE; spi_unregister_driver(&rtw_spi_drv); rtw_wifi_gpio_wlan_ctrl(WLAN_PWDN_OFF); rtw_wifi_gpio_deinit(); DBG_8192C("RTW: rtw_drv_halt enter\n"); RT_TRACE(_module_hci_intfs_c_, _drv_notice_, ("-rtw_drv_halt\n")); }
static void __exit rtw_drv_halt(void) { DBG_871X_LEVEL(_drv_always_, "module exit start\n"); drvpriv.drv_registered = _FALSE; spi_unregister_driver(&rtw_spi_drv); rtw_wifi_gpio_wlan_ctrl(WLAN_PWDN_OFF); rtw_wifi_gpio_deinit(); rtw_suspend_lock_uninit(); rtw_drv_proc_deinit(); rtw_ndev_notifier_unregister(); DBG_871X_LEVEL(_drv_always_, "module exit success\n"); rtw_mstat_dump(RTW_DBGDUMP); }
static void __exit rtw_drv_halt(void) { RT_TRACE(_module_hci_intfs_c_, _drv_notice_, ("+rtw_drv_halt\n")); DBG_8192C("RTW: rtw_drv_halt enter\n"); rtw_suspend_lock_uninit(); drvpriv.drv_registered = _FALSE; spi_unregister_driver(&rtw_spi_drv); _rtw_mutex_free(&drvpriv.hw_init_mutex); #if defined(CONFIG_CONCURRENT_MODE) || defined(CONFIG_DUALMAC_CONCURRENT) _rtw_mutex_free(&drvpriv.h2c_fwcmd_mutex); _rtw_mutex_free(&drvpriv.setch_mutex); _rtw_mutex_free(&drvpriv.setbw_mutex); #endif rtw_wifi_gpio_wlan_ctrl(WLAN_PWDN_OFF); rtw_wifi_gpio_deinit(); DBG_8192C("RTW: rtw_drv_halt enter\n"); RT_TRACE(_module_hci_intfs_c_, _drv_notice_, ("-rtw_drv_halt\n")); }