diff options
author | Guennadi Liakhovetski <g.liakhovetski@gmx.de> | 2009-08-25 16:46:54 +0200 |
---|---|---|
committer | Guennadi Liakhovetski <g.liakhovetski@gmx.de> | 2009-08-25 16:46:54 +0200 |
commit | a94ff67f3f3091badb6034566504ad58206989ef (patch) | |
tree | 3367dc3deb2810262dd3aa9811f89b8884a89bbd /linux/drivers/media/video/mt9m111.c | |
parent | 6bd7b0281dd65988d5cf613bc99541ef4a8f16cf (diff) | |
download | mediapointer-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/mt9m111.c')
-rw-r--r-- | linux/drivers/media/video/mt9m111.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/linux/drivers/media/video/mt9m111.c b/linux/drivers/media/video/mt9m111.c index 8770dfd2a..cab9de000 100644 --- a/linux/drivers/media/video/mt9m111.c +++ b/linux/drivers/media/video/mt9m111.c @@ -395,11 +395,12 @@ static int mt9m111_set_bus_param(struct soc_camera_device *icd, unsigned long f) return 0; } -static int mt9m111_set_crop(struct soc_camera_device *icd, - struct v4l2_rect *rect) +static int mt9m111_s_crop(struct v4l2_subdev *sd, struct v4l2_crop *a) { - struct i2c_client *client = to_i2c_client(to_soc_camera_control(icd)); + struct v4l2_rect *rect = &a->c; + struct i2c_client *client = sd->priv; struct mt9m111 *mt9m111 = to_mt9m111(client); + struct soc_camera_device *icd = client->dev.platform_data; int ret; dev_dbg(&icd->dev, "%s left=%d, top=%d, width=%d, height=%d\n", @@ -601,7 +602,6 @@ static struct soc_camera_ops mt9m111_ops = { .init = mt9m111_init, .resume = mt9m111_resume, .release = mt9m111_release, - .set_crop = mt9m111_set_crop, .query_bus_param = mt9m111_query_bus_param, .set_bus_param = mt9m111_set_bus_param, .controls = mt9m111_controls, @@ -908,6 +908,7 @@ static struct v4l2_subdev_core_ops mt9m111_subdev_core_ops = { static struct v4l2_subdev_video_ops mt9m111_subdev_video_ops = { .s_fmt = mt9m111_s_fmt, .try_fmt = mt9m111_try_fmt, + .s_crop = mt9m111_s_crop, }; static struct v4l2_subdev_ops mt9m111_subdev_ops = { |