mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-05 10:31:46 +09:00
STAGING: brcm80211 v2 keep power on in suspend state
Keep WIFI power on during suspend. Consumes 10s of milliwatts but avoids having to reload firmware on resume. Tested on tegra2_seaboard. Signed-off-by: Venkat Rao <vrao@broadcom.com> Tested-by: Grant Grundler <grundler@chromium.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
6f27b08d5b
commit
6b5a5a3eb7
@@ -68,6 +68,13 @@ DHD_PM_RESUME_WAIT_INIT(sdioh_request_buffer_wait);
|
||||
int sdioh_sdmmc_card_regread(sdioh_info_t *sd, int func, u32 regaddr,
|
||||
int regsize, u32 *data);
|
||||
|
||||
void sdioh_sdio_set_host_pm_flags(int flag)
|
||||
{
|
||||
if (sdio_set_host_pm_flags(gInstance->func[1], flag))
|
||||
printk(KERN_ERR "%s: Failed to set pm_flags 0x%08x\n",\
|
||||
__func__, (unsigned int)flag);
|
||||
}
|
||||
|
||||
static int sdioh_sdmmc_card_enablefuncs(sdioh_info_t *sd)
|
||||
{
|
||||
int err_ret;
|
||||
|
||||
@@ -39,6 +39,8 @@
|
||||
#include <linux/firmware.h>
|
||||
#include <wl_cfg80211.h>
|
||||
|
||||
void sdioh_sdio_set_host_pm_flags(int flag);
|
||||
|
||||
static struct sdio_func *cfg80211_sdio_func;
|
||||
static struct wl_dev *wl_cfg80211_dev;
|
||||
static const u8 ether_bcast[ETH_ALEN] = {255, 255, 255, 255, 255, 255};
|
||||
@@ -1988,6 +1990,8 @@ static s32 wl_cfg80211_suspend(struct wiphy *wiphy)
|
||||
clear_bit(WL_STATUS_SCANNING, &wl->status);
|
||||
clear_bit(WL_STATUS_SCAN_ABORTING, &wl->status);
|
||||
|
||||
sdioh_sdio_set_host_pm_flags(MMC_PM_KEEP_POWER);
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user