]> Pileus Git - ~andy/linux/blobdiff - drivers/gpu/drm/drm_platform.c
Merge tag 'mmc-updates-for-3.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel...
[~andy/linux] / drivers / gpu / drm / drm_platform.c
index b8a282ea87515546695bc2965bce2b9f3e4f2f2d..f7a18c6ba4c42607a9ffb4ae2b8dd53ceeb3c3a7 100644 (file)
@@ -28,7 +28,7 @@
 #include <linux/export.h>
 #include <drm/drmP.h>
 
-/**
+/*
  * Register.
  *
  * \param platdev - Platform device struture
@@ -39,8 +39,8 @@
  * Try and register, if we fail to register, backout previous work.
  */
 
-int drm_get_platform_dev(struct platform_device *platdev,
-                        struct drm_driver *driver)
+static int drm_get_platform_dev(struct platform_device *platdev,
+                               struct drm_driver *driver)
 {
        struct drm_device *dev;
        int ret;
@@ -69,6 +69,12 @@ int drm_get_platform_dev(struct platform_device *platdev,
                        goto err_g1;
        }
 
+       if (drm_core_check_feature(dev, DRIVER_RENDER) && drm_rnodes) {
+               ret = drm_get_minor(dev, &dev->render, DRM_MINOR_RENDER);
+               if (ret)
+                       goto err_g11;
+       }
+
        ret = drm_get_minor(dev, &dev->primary, DRM_MINOR_LEGACY);
        if (ret)
                goto err_g2;
@@ -100,6 +106,9 @@ int drm_get_platform_dev(struct platform_device *platdev,
 err_g3:
        drm_put_minor(&dev->primary);
 err_g2:
+       if (dev->render)
+               drm_put_minor(&dev->render);
+err_g11:
        if (drm_core_check_feature(dev, DRIVER_MODESET))
                drm_put_minor(&dev->control);
 err_g1:
@@ -107,7 +116,6 @@ err_g1:
        mutex_unlock(&drm_global_mutex);
        return ret;
 }
-EXPORT_SYMBOL(drm_get_platform_dev);
 
 static int drm_platform_get_irq(struct drm_device *dev)
 {