Platform devices instantiated from device-tree always have pdev->id set to
-1, so use of_get_alias_id() helper to retrieve proper device id.

Signed-off-by: Marek Szyprowski <m.szyprow...@samsung.com>
---
 drivers/gpu/drm/exynos/exynos_drm_gsc.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/exynos/exynos_drm_gsc.c 
b/drivers/gpu/drm/exynos/exynos_drm_gsc.c
index e99dd1e4ba65..a63287597985 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_gsc.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_gsc.c
@@ -1196,7 +1196,12 @@ static int gsc_probe(struct platform_device *pdev)
        struct exynos_drm_ipp_formats *formats;
        struct gsc_context *ctx;
        struct resource *res;
-       int ret, i;
+       int ret, i, id;
+
+       ret = of_alias_get_id(pdev->dev.of_node, "gsc");
+       if (ret < 0)
+               return ret;
+       id = ret;
 
        ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL);
        if (!ctx)
@@ -1254,7 +1259,7 @@ static int gsc_probe(struct platform_device *pdev)
        }
 
        /* context initailization */
-       ctx->id = pdev->id;
+       ctx->id = id;
 
        platform_set_drvdata(pdev, ctx);
 
-- 
2.17.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to