summaryrefslogtreecommitdiff
path: root/drivers/platform
diff options
context:
space:
mode:
authorMaya Erez <merez@codeaurora.org>2017-05-15 16:57:46 +0300
committerMaya Erez <merez@codeaurora.org>2017-05-15 16:57:46 +0300
commit36fc0ea2edfd0fbc810b01635ba87ad4ddbff773 (patch)
tree57e16924b51fe9a44fee258b13a6a5a500fd1365 /drivers/platform
parentc6d1c1699e7dcc7ec170baae48be94814061d0b7 (diff)
wil6210: add support for PCIe D3hot in system suspend
In order to preserve the connection in suspend/resume flow, wil6210 host allows going to PCIe D3hot state in suspend, instead of performing a full wil6210 device reset. This requires the platform ability to initiate wakeup in case of RX data. To check that, a new platform API is added. In addition, add cfg80211 suspend/resume callbacks implementation. Change-Id: I3846eaaa8d6e9ecbe5adbb0c04c7574865d5af5e Signed-off-by: Maya Erez <merez@codeaurora.org>
Diffstat (limited to 'drivers/platform')
-rw-r--r--drivers/platform/msm/msm_11ad/msm_11ad.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/platform/msm/msm_11ad/msm_11ad.c b/drivers/platform/msm/msm_11ad/msm_11ad.c
index f1e348969c7b..f00cc69aa0d5 100644
--- a/drivers/platform/msm/msm_11ad/msm_11ad.c
+++ b/drivers/platform/msm/msm_11ad/msm_11ad.c
@@ -523,7 +523,7 @@ int msm_11ad_ctrl_aspm_l1(struct msm11ad_ctx *ctx, bool enable)
return rc;
}
-static int ops_suspend(void *handle)
+static int ops_suspend(void *handle, bool keep_device_power)
{
int rc;
struct msm11ad_ctx *ctx = handle;
@@ -560,7 +560,7 @@ static int ops_suspend(void *handle)
return rc;
}
-static int ops_resume(void *handle)
+static int ops_resume(void *handle, bool device_powered_on)
{
int rc;
struct msm11ad_ctx *ctx = handle;
@@ -906,7 +906,7 @@ out_rc:
static void msm_11ad_init_cpu_boost(struct msm11ad_ctx *ctx)
{
unsigned int minfreq = 0, maxfreq = 0, freq;
- int i, boost_cpu;
+ int i, boost_cpu = 0;
for_each_possible_cpu(i) {
freq = cpufreq_quick_get_max(i);
@@ -1147,7 +1147,7 @@ static int msm_11ad_probe(struct platform_device *pdev)
device_disable_async_suspend(&pcidev->dev);
list_add_tail(&ctx->list, &dev_list);
- ops_suspend(ctx);
+ ops_suspend(ctx, false);
return 0;
out_rc:
@@ -1315,7 +1315,7 @@ static void ops_uninit(void *handle)
memset(&ctx->rops, 0, sizeof(ctx->rops));
ctx->wil_handle = NULL;
- ops_suspend(ctx);
+ ops_suspend(ctx, false);
}
static int msm_11ad_notify_crash(struct msm11ad_ctx *ctx)
@@ -1440,7 +1440,7 @@ int msm_11ad_modinit(void)
ctx->subsys_handle = subsystem_get(ctx->subsysdesc.name);
- return ops_resume(ctx);
+ return ops_resume(ctx, false);
}
EXPORT_SYMBOL(msm_11ad_modinit);