[media] coda: identify platform device earlier
authorPhilipp Zabel <p.zabel@pengutronix.de>
Thu, 2 Oct 2014 17:08:27 +0000 (14:08 -0300)
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>
Tue, 28 Oct 2014 17:00:01 +0000 (15:00 -0200)
We'll use this information to decide whether to request the JPEG IRQ later.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Kamil Debski <k.debski@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
drivers/media/platform/coda/coda-common.c

index 48be97330ee108afe1c1790ac89b3619ef67f86c..fb83c56afd26552c1361850cb74fc42f7476091c 100644 (file)
@@ -1896,6 +1896,15 @@ static int coda_probe(struct platform_device *pdev)
        if (!dev)
                return -ENOMEM;
 
+       pdev_id = of_id ? of_id->data : platform_get_device_id(pdev);
+
+       if (of_id)
+               dev->devtype = of_id->data;
+       else if (pdev_id)
+               dev->devtype = &coda_devdata[pdev_id->driver_data];
+       else
+               return -EINVAL;
+
        spin_lock_init(&dev->irqlock);
        INIT_LIST_HEAD(&dev->instances);
 
@@ -1963,17 +1972,6 @@ static int coda_probe(struct platform_device *pdev)
        mutex_init(&dev->dev_mutex);
        mutex_init(&dev->coda_mutex);
 
-       pdev_id = of_id ? of_id->data : platform_get_device_id(pdev);
-
-       if (of_id) {
-               dev->devtype = of_id->data;
-       } else if (pdev_id) {
-               dev->devtype = &coda_devdata[pdev_id->driver_data];
-       } else {
-               v4l2_device_unregister(&dev->v4l2_dev);
-               return -EINVAL;
-       }
-
        dev->debugfs_root = debugfs_create_dir("coda", NULL);
        if (!dev->debugfs_root)
                dev_warn(&pdev->dev, "failed to create debugfs root\n");