summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/mx3_camera.c
diff options
context:
space:
mode:
authorGuennadi Liakhovetski <g.liakhovetski@gmx.de>2009-08-25 16:46:54 +0200
committerGuennadi Liakhovetski <g.liakhovetski@gmx.de>2009-08-25 16:46:54 +0200
commita94ff67f3f3091badb6034566504ad58206989ef (patch)
tree3367dc3deb2810262dd3aa9811f89b8884a89bbd /linux/drivers/media/video/mx3_camera.c
parent6bd7b0281dd65988d5cf613bc99541ef4a8f16cf (diff)
downloadmediapointer-dvb-s2-a94ff67f3f3091badb6034566504ad58206989ef.tar.gz
mediapointer-dvb-s2-a94ff67f3f3091badb6034566504ad58206989ef.tar.bz2
soc-camera: switch to s_crop v4l2-subdev video operation
From: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Remove set_crop soc-camera device method and switch to s_crop from v4l2-subdev video operations. Also extend non-i2c drivers to also hold a pointer to their v4l2-subdev instance in control device driver-data, i.e., in dev_get_drvdata((struct device *)to_soc_camera_control(icd)) Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Priority: low --- drivers/media/video/mt9m001.c | 23 +++--- drivers/media/video/mt9m111.c | 9 +- drivers/media/video/mt9t031.c | 9 +- drivers/media/video/mt9v022.c | 23 +++--- drivers/media/video/mx1_camera.c | 8 ++- drivers/media/video/mx3_camera.c | 7 +- drivers/media/video/ov772x.c | 19 ----- drivers/media/video/pxa_camera.c | 7 +- drivers/media/video/sh_mobile_ceu_camera.c | 110 ++++++++++++++------------- drivers/media/video/soc_camera.c | 4 +- drivers/media/video/soc_camera_platform.c | 28 ++++---- drivers/media/video/tw9910.c | 31 ++++---- include/media/soc_camera.h | 3 +- 13 files changed, 142 insertions(+), 139 deletions(-)
Diffstat (limited to 'linux/drivers/media/video/mx3_camera.c')
-rw-r--r--linux/drivers/media/video/mx3_camera.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/linux/drivers/media/video/mx3_camera.c b/linux/drivers/media/video/mx3_camera.c
index 6c3b7f9b9..de7ebfbf0 100644
--- a/linux/drivers/media/video/mx3_camera.c
+++ b/linux/drivers/media/video/mx3_camera.c
@@ -781,10 +781,13 @@ static int acquire_dma_channel(struct mx3_camera_dev *mx3_cam)
}
static int mx3_camera_set_crop(struct soc_camera_device *icd,
- struct v4l2_rect *rect)
+ struct v4l2_crop *a)
{
+ struct v4l2_rect *rect = &a->c;
struct soc_camera_host *ici = to_soc_camera_host(icd->dev.parent);
struct mx3_camera_dev *mx3_cam = ici->priv;
+ struct device *control = to_soc_camera_control(icd);
+ struct v4l2_subdev *sd = dev_get_drvdata(control);
/*
* We now know pixel formats and can decide upon DMA-channel(s)
@@ -798,7 +801,7 @@ static int mx3_camera_set_crop(struct soc_camera_device *icd,
configure_geometry(mx3_cam, rect);
- return icd->ops->set_crop(icd, rect);
+ return v4l2_subdev_call(sd, video, s_crop, a);
}
static int mx3_camera_set_fmt(struct soc_camera_device *icd,