media: ti-vpe: cal: Read hardware revision earlier during probe
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Mon, 6 Jul 2020 18:36:31 +0000 (20:36 +0200)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Sun, 19 Jul 2020 08:33:03 +0000 (10:33 +0200)
Read the hardware revision and info right after allocating resources, as
there's no need to delay doing so until all initialization is complete.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Benoit Parrot <bparrot@ti.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/platform/ti-vpe/cal.c

index 340cbf3..fca591a 100644 (file)
@@ -2408,6 +2408,15 @@ static int cal_probe(struct platform_device *pdev)
        if (ret)
                return ret;
 
+       /* Read the revision and hardware info to verify hardware access. */
+       pm_runtime_enable(&pdev->dev);
+       ret = pm_runtime_get_sync(&pdev->dev);
+       if (ret)
+               goto error_pm_runtime;
+
+       cal_get_hwinfo(cal);
+       pm_runtime_put_sync(&pdev->dev);
+
        /* Create CAMERARX PHYs. */
        for (i = 0; i < cal->data->num_csi2_phy; ++i) {
                cal->phy[i] = cal_camerarx_create(cal, i);
@@ -2445,25 +2454,13 @@ static int cal_probe(struct platform_device *pdev)
                }
        }
 
-       /* Read the revision and hardware info to verify hardware access. */
-       pm_runtime_enable(&pdev->dev);
-       ret = pm_runtime_get_sync(&pdev->dev);
-       if (ret)
-               goto error_pm_runtime;
-
-       cal_get_hwinfo(cal);
-       pm_runtime_put_sync(&pdev->dev);
-
        /* Register the media device. */
        ret = cal_media_register(cal);
        if (ret)
-               goto error_pm_runtime;
+               goto error_context;
 
        return 0;
 
-error_pm_runtime:
-       pm_runtime_disable(&pdev->dev);
-
 error_context:
        for (i = 0; i < ARRAY_SIZE(cal->ctx); i++) {
                ctx = cal->ctx[i];
@@ -2477,6 +2474,9 @@ error_camerarx:
        for (i = 0; i < ARRAY_SIZE(cal->phy); i++)
                cal_camerarx_destroy(cal->phy[i]);
 
+error_pm_runtime:
+       pm_runtime_disable(&pdev->dev);
+
        return ret;
 }