Merge "camera: Use suspend wakelock and pm_qos functions." into msm-3.0
diff --git a/drivers/media/video/msm/msm_camera.c b/drivers/media/video/msm/msm_camera.c
index e609d6e..904deb3 100644
--- a/drivers/media/video/msm/msm_camera.c
+++ b/drivers/media/video/msm/msm_camera.c
@@ -3958,7 +3958,7 @@
msm_queue_init(&sync->pict_q, "pict");
msm_queue_init(&sync->vpe_q, "vpe");
- wake_lock_init(&sync->wake_lock, WAKE_LOCK_IDLE, "msm_camera");
+ wake_lock_init(&sync->wake_lock, WAKE_LOCK_SUSPEND, "msm_camera");
rc = msm_camio_probe_on(pdev);
if (rc < 0) {
diff --git a/drivers/media/video/msm/msm_mctl.c b/drivers/media/video/msm/msm_mctl.c
index 0c87e3e81..5929655 100644
--- a/drivers/media/video/msm/msm_mctl.c
+++ b/drivers/media/video/msm/msm_mctl.c
@@ -673,12 +673,11 @@
}
}
- if (camdev->is_ispif) {
- pm_qos_add_request(&p_mctl->pm_qos_req_list,
- PM_QOS_CPU_DMA_LATENCY, PM_QOS_DEFAULT_VALUE);
- pm_qos_update_request(&p_mctl->pm_qos_req_list,
- MSM_V4L2_SWFI_LATENCY);
- }
+ pm_qos_add_request(&p_mctl->pm_qos_req_list,
+ PM_QOS_CPU_DMA_LATENCY, PM_QOS_DEFAULT_VALUE);
+ pm_qos_update_request(&p_mctl->pm_qos_req_list,
+ MSM_V4L2_SWFI_LATENCY);
+
p_mctl->apps_id = apps_id;
p_mctl->opencnt++;
} else {
@@ -776,17 +775,15 @@
VIDIOC_MSM_CSIPHY_RELEASE, NULL);
}
- if (camdev->is_ispif) {
- pm_qos_update_request(&p_mctl->pm_qos_req_list,
- PM_QOS_DEFAULT_VALUE);
- pm_qos_remove_request(&p_mctl->pm_qos_req_list);
- }
-
if (p_mctl->act_sdev)
v4l2_subdev_call(p_mctl->act_sdev, core, s_power, 0);
v4l2_subdev_call(p_mctl->sensor_sdev, core, s_power, 0);
+ pm_qos_update_request(&p_mctl->pm_qos_req_list,
+ PM_QOS_DEFAULT_VALUE);
+ pm_qos_remove_request(&p_mctl->pm_qos_req_list);
+
wake_unlock(&p_mctl->wake_lock);
return rc;
}
@@ -871,7 +868,7 @@
return -EINVAL;
}
- wake_lock_init(&pmctl->wake_lock, WAKE_LOCK_IDLE, "msm_camera");
+ wake_lock_init(&pmctl->wake_lock, WAKE_LOCK_SUSPEND, "msm_camera");
mutex_init(&pmctl->lock);
pmctl->opencnt = 0;