summaryrefslogtreecommitdiff
path: root/drivers/media/video/mxc/capture/csi_v4l2_capture.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/video/mxc/capture/csi_v4l2_capture.c')
-rw-r--r--drivers/media/video/mxc/capture/csi_v4l2_capture.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/media/video/mxc/capture/csi_v4l2_capture.c b/drivers/media/video/mxc/capture/csi_v4l2_capture.c
index a0887b930ea4..3756b00a844d 100644
--- a/drivers/media/video/mxc/capture/csi_v4l2_capture.c
+++ b/drivers/media/video/mxc/capture/csi_v4l2_capture.c
@@ -1142,6 +1142,7 @@ static long csi_v4l_do_ioctl(struct file *file,
strcpy(cap->driver, "csi_v4l2");
cap->version = KERNEL_VERSION(0, 1, 11);
cap->capabilities = V4L2_CAP_VIDEO_OVERLAY |
+ V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_STREAMING |
V4L2_CAP_VIDEO_OUTPUT_OVERLAY | V4L2_CAP_READWRITE;
cap->card[0] = '\0';
cap->bus_info[0] = '\0';
@@ -1536,7 +1537,8 @@ static int csi_v4l2_suspend(struct platform_device *pdev, pm_message_t state)
if (cam->overlay_on == true)
stop_preview(cam);
- camera_power(cam, false);
+ if (cam->capture_on == true || cam->overlay_on == true)
+ camera_power(cam, false);
return 0;
}
@@ -1561,7 +1563,8 @@ static int csi_v4l2_resume(struct platform_device *pdev)
cam->low_power = false;
wake_up_interruptible(&cam->power_queue);
- camera_power(cam, true);
+ if (cam->capture_on == true || cam->overlay_on == true)
+ camera_power(cam, true);
if (cam->overlay_on == true)
start_preview(cam);