From fe45df9025d6aee2057628a47f5d724fd68278a4 Mon Sep 17 00:00:00 2001 From: Guennadi Liakhovetski Date: Thu, 28 Jul 2011 13:57:53 -0300 Subject: [PATCH] --- yaml --- r: 273653 b: refs/heads/master c: b0050e41bad1789ab5aeec15c3687a73e075b955 h: refs/heads/master i: 273651: c3c6043da6d595e8dfd216f3fd0842be52afed8a v: v3 --- [refs] | 2 +- trunk/drivers/media/video/soc_camera.c | 10 ++++------ 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index 549fab57e6b6..deebff317eb9 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: e1db704326c9a5164da4e24b01e487c0be687fa2 +refs/heads/master: b0050e41bad1789ab5aeec15c3687a73e075b955 diff --git a/trunk/drivers/media/video/soc_camera.c b/trunk/drivers/media/video/soc_camera.c index 8b16152f52fe..e05d1c7fee8d 100644 --- a/trunk/drivers/media/video/soc_camera.c +++ b/trunk/drivers/media/video/soc_camera.c @@ -482,7 +482,7 @@ static int soc_camera_open(struct file *file) struct soc_camera_host *ici; int ret; - if (!icd->ops) + if (!to_soc_camera_control(icd)) /* No device driver attached */ return -ENODEV; @@ -835,6 +835,9 @@ static int soc_camera_queryctrl(struct file *file, void *priv, return 0; } + if (!icd->ops) + return -EINVAL; + /* Then device controls */ for (i = 0; i < icd->ops->num_controls; i++) if (qc->id == icd->ops->controls[i].id) { @@ -1461,11 +1464,6 @@ static int soc_camera_video_start(struct soc_camera_device *icd) if (!icd->parent) return -ENODEV; - if (!icd->ops || - !icd->ops->query_bus_param || - !icd->ops->set_bus_param) - return -EINVAL; - ret = video_register_device(icd->vdev, VFL_TYPE_GRABBER, -1); if (ret < 0) { dev_err(icd->pdev, "video_register_device failed: %d\n", ret);