]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
ENGR00317981: drm: set drm_device pointer into drvdata
authorShawn Guo <shawn.guo@freescale.com>
Fri, 13 Jun 2014 08:02:58 +0000 (16:02 +0800)
committerNitin Garg <nitin.garg@freescale.com>
Fri, 16 Jan 2015 03:16:21 +0000 (21:16 -0600)
If drvdata is not used by platform driver, let's set drm_device
pointer into it.  We take this as the default usage of drvdata,
and platform driver is free to overwrite it later as needed.

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
drivers/gpu/drm/drm_platform.c

index 21fc82006b78c3423c801b54ef5acd40d4f79805..dd9751c5230de7421d1e0ffce2aca43510b4f465 100644 (file)
@@ -53,6 +53,14 @@ static int drm_get_platform_dev(struct platform_device *platdev,
 
        dev->platformdev = platdev;
 
+       /*
+        * If drvdata is not used by platform driver, let's set drm_device
+        * pointer into it.  We take this as the default usage of drvdata,
+        * and platform driver is free to overwrite it later as needed.
+        */
+       if (platform_get_drvdata(platdev) == NULL)
+               platform_set_drvdata(platdev, dev);
+
        ret = drm_dev_register(dev, 0);
        if (ret)
                goto err_free;