Skip to content

Commit

Permalink
STAGING: brcm80211 v2 keep power on in suspend state
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Grant Grundler authored and Greg Kroah-Hartman committed Apr 5, 2011
1 parent 6f27b08 commit 6b5a5a3
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 0 deletions.
7 changes: 7 additions & 0 deletions drivers/staging/brcm80211/brcmfmac/bcmsdh_sdmmc.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
4 changes: 4 additions & 0 deletions drivers/staging/brcm80211/brcmfmac/wl_cfg80211.c
Original file line number Diff line number Diff line change
Expand Up @@ -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};
Expand Down Expand Up @@ -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;
}

Expand Down

0 comments on commit 6b5a5a3

Please sign in to comment.