summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/baseband-xmm-power.c
diff options
context:
space:
mode:
authorSeshendra Gadagottu <sgadagottu@nvidia.com>2012-01-27 11:47:34 +0530
committerRohan Somvanshi <rsomvanshi@nvidia.com>2012-02-03 05:17:59 -0800
commitb632a5e75e82af5928fc4795283ded4e61411112 (patch)
treea76585ecbe3a9ff5a463c40cc4ebad75fd731c08 /arch/arm/mach-tegra/baseband-xmm-power.c
parent868aee48300bb11f13e863f85fdedd50c886066b (diff)
arm: tegra: baseband: Configure wakeup source for xmm
Configure wake irq for waking up AP from xmm modem. Also enable/disable this wake source base on flight mode off/on setting. Reviewed-on: http://git-master/r/69701 Change-Id: Iad274da9869102874efab27312fe8a182ab55bf3 Signed-off-by: Seshendra Gadagottu<sgadagottu@nvidia.com> Signed-off-by: Varun Wadekar <vwadekar@nvidia.com> Reviewed-on: http://git-master/r/78026 Reviewed-by: Automatic_Commit_Validation_User
Diffstat (limited to 'arch/arm/mach-tegra/baseband-xmm-power.c')
-rw-r--r--arch/arm/mach-tegra/baseband-xmm-power.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/baseband-xmm-power.c b/arch/arm/mach-tegra/baseband-xmm-power.c
index 5d7958b63d54..17dbc2e94c67 100644
--- a/arch/arm/mach-tegra/baseband-xmm-power.c
+++ b/arch/arm/mach-tegra/baseband-xmm-power.c
@@ -126,6 +126,8 @@ static int baseband_xmm_power_on(struct platform_device *device)
struct baseband_power_platform_data *data
= (struct baseband_power_platform_data *)
device->dev.platform_data;
+ int ret;
+
pr_debug("%s {\n", __func__);
/* check for platform data */
@@ -170,6 +172,9 @@ static int baseband_xmm_power_on(struct platform_device *device)
baseband_modem_power_on(data);
}
}
+ ret = enable_irq_wake(gpio_to_irq(data->modem.xmm.ipc_ap_wake));
+ if (ret < 0)
+ pr_err("%s: enable_irq_wake error\n", __func__);
pr_debug("%s }\n", __func__);
@@ -179,6 +184,7 @@ static int baseband_xmm_power_on(struct platform_device *device)
static int baseband_xmm_power_off(struct platform_device *device)
{
struct baseband_power_platform_data *data;
+ int ret;
pr_debug("%s {\n", __func__);
@@ -197,6 +203,9 @@ static int baseband_xmm_power_off(struct platform_device *device)
}
ipc_ap_wake_state = IPC_AP_WAKE_UNINIT;
+ ret = disable_irq_wake(gpio_to_irq(data->modem.xmm.ipc_ap_wake));
+ if (ret < 0)
+ pr_err("%s: disable_irq_wake error\n", __func__);
/* unregister usb host controller */
if (data->hsic_unregister)