Since commit commit 95db3a60e065 ("[media] v4l: Add a media_device pointer
to the v4l2_device structure") the v4l core doesn't insist on using drvdata
itself.  Therefore we can use it ourselves, making things somewhat simpler.

Signed-off-by: Lubomir Rintel <[email protected]>
---
Changes since v1:
- Added this patch

 drivers/media/platform/marvell-ccic/cafe-driver.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/media/platform/marvell-ccic/cafe-driver.c 
b/drivers/media/platform/marvell-ccic/cafe-driver.c
index 58b9915ac7a40..00f623d62c962 100644
--- a/drivers/media/platform/marvell-ccic/cafe-driver.c
+++ b/drivers/media/platform/marvell-ccic/cafe-driver.c
@@ -497,6 +497,7 @@ static int cafe_pci_probe(struct pci_dev *pdev,
        cam = kzalloc(sizeof(struct cafe_camera), GFP_KERNEL);
        if (cam == NULL)
                goto out;
+       pci_set_drvdata(pdev, cam);
        cam->pdev = pdev;
        mcam = &cam->mcam;
        mcam->chip_id = MCAM_CAFE;
@@ -592,8 +593,7 @@ static void cafe_shutdown(struct cafe_camera *cam)
 
 static void cafe_pci_remove(struct pci_dev *pdev)
 {
-       struct v4l2_device *v4l2_dev = dev_get_drvdata(&pdev->dev);
-       struct cafe_camera *cam = to_cam(v4l2_dev);
+       struct cafe_camera *cam = pci_get_drvdata(pdev);
 
        if (cam == NULL) {
                printk(KERN_WARNING "pci_remove on unknown pdev %p\n", pdev);
@@ -609,8 +609,7 @@ static void cafe_pci_remove(struct pci_dev *pdev)
  */
 static int __maybe_unused cafe_pci_suspend(struct device *dev)
 {
-       struct v4l2_device *v4l2_dev = dev_get_drvdata(dev);
-       struct cafe_camera *cam = to_cam(v4l2_dev);
+       struct cafe_camera *cam = dev_get_drvdata(dev);
 
        mccic_suspend(&cam->mcam);
        return 0;
@@ -619,8 +618,7 @@ static int __maybe_unused cafe_pci_suspend(struct device 
*dev)
 
 static int __maybe_unused cafe_pci_resume(struct device *dev)
 {
-       struct v4l2_device *v4l2_dev = dev_get_drvdata(dev);
-       struct cafe_camera *cam = to_cam(v4l2_dev);
+       struct cafe_camera *cam = dev_get_drvdata(dev);
 
        cafe_ctlr_init(&cam->mcam);
        return mccic_resume(&cam->mcam);
-- 
2.26.2

Reply via email to