aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/media/platform/soc_camera/soc_camera.c5
-rw-r--r--include/media/soc_camera.h4
2 files changed, 5 insertions, 4 deletions
diff --git a/drivers/media/platform/soc_camera/soc_camera.c b/drivers/media/platform/soc_camera/soc_camera.c
index fcdd8734f3ec..5099eebf994d 100644
--- a/drivers/media/platform/soc_camera/soc_camera.c
+++ b/drivers/media/platform/soc_camera/soc_camera.c
@@ -524,7 +524,7 @@ static int soc_camera_open(struct file *file)
524 return -ENODEV; 524 return -ENODEV;
525 } 525 }
526 526
527 icd = dev_get_drvdata(vdev->parent); 527 icd = video_get_drvdata(vdev);
528 ici = to_soc_camera_host(icd->parent); 528 ici = to_soc_camera_host(icd->parent);
529 529
530 ret = try_module_get(ici->ops->owner) ? 0 : -ENODEV; 530 ret = try_module_get(ici->ops->owner) ? 0 : -ENODEV;
@@ -1477,7 +1477,7 @@ static int video_dev_create(struct soc_camera_device *icd)
1477 1477
1478 strlcpy(vdev->name, ici->drv_name, sizeof(vdev->name)); 1478 strlcpy(vdev->name, ici->drv_name, sizeof(vdev->name));
1479 1479
1480 vdev->parent = icd->pdev; 1480 vdev->v4l2_dev = &ici->v4l2_dev;
1481 vdev->fops = &soc_camera_fops; 1481 vdev->fops = &soc_camera_fops;
1482 vdev->ioctl_ops = &soc_camera_ioctl_ops; 1482 vdev->ioctl_ops = &soc_camera_ioctl_ops;
1483 vdev->release = video_device_release; 1483 vdev->release = video_device_release;
@@ -1500,6 +1500,7 @@ static int soc_camera_video_start(struct soc_camera_device *icd)
1500 if (!icd->parent) 1500 if (!icd->parent)
1501 return -ENODEV; 1501 return -ENODEV;
1502 1502
1503 video_set_drvdata(icd->vdev, icd);
1503 ret = video_register_device(icd->vdev, VFL_TYPE_GRABBER, -1); 1504 ret = video_register_device(icd->vdev, VFL_TYPE_GRABBER, -1);
1504 if (ret < 0) { 1505 if (ret < 0) {
1505 dev_err(icd->pdev, "video_register_device failed: %d\n", ret); 1506 dev_err(icd->pdev, "video_register_device failed: %d\n", ret);
diff --git a/include/media/soc_camera.h b/include/media/soc_camera.h
index ff77d08c30fd..31a4bfe42194 100644
--- a/include/media/soc_camera.h
+++ b/include/media/soc_camera.h
@@ -346,9 +346,9 @@ static inline struct soc_camera_subdev_desc *soc_camera_i2c_to_desc(const struct
346 return client->dev.platform_data; 346 return client->dev.platform_data;
347} 347}
348 348
349static inline struct v4l2_subdev *soc_camera_vdev_to_subdev(const struct video_device *vdev) 349static inline struct v4l2_subdev *soc_camera_vdev_to_subdev(struct video_device *vdev)
350{ 350{
351 struct soc_camera_device *icd = dev_get_drvdata(vdev->parent); 351 struct soc_camera_device *icd = video_get_drvdata(vdev);
352 return soc_camera_to_subdev(icd); 352 return soc_camera_to_subdev(icd);
353} 353}
354 354