aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/drm_platform.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/drm_platform.c')
-rw-r--r--drivers/gpu/drm/drm_platform.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/drivers/gpu/drm/drm_platform.c b/drivers/gpu/drm/drm_platform.c
index b8a282ea8751..f7a18c6ba4c4 100644
--- a/drivers/gpu/drm/drm_platform.c
+++ b/drivers/gpu/drm/drm_platform.c
@@ -28,7 +28,7 @@
28#include <linux/export.h> 28#include <linux/export.h>
29#include <drm/drmP.h> 29#include <drm/drmP.h>
30 30
31/** 31/*
32 * Register. 32 * Register.
33 * 33 *
34 * \param platdev - Platform device struture 34 * \param platdev - Platform device struture
@@ -39,8 +39,8 @@
39 * Try and register, if we fail to register, backout previous work. 39 * Try and register, if we fail to register, backout previous work.
40 */ 40 */
41 41
42int drm_get_platform_dev(struct platform_device *platdev, 42static int drm_get_platform_dev(struct platform_device *platdev,
43 struct drm_driver *driver) 43 struct drm_driver *driver)
44{ 44{
45 struct drm_device *dev; 45 struct drm_device *dev;
46 int ret; 46 int ret;
@@ -69,6 +69,12 @@ int drm_get_platform_dev(struct platform_device *platdev,
69 goto err_g1; 69 goto err_g1;
70 } 70 }
71 71
72 if (drm_core_check_feature(dev, DRIVER_RENDER) && drm_rnodes) {
73 ret = drm_get_minor(dev, &dev->render, DRM_MINOR_RENDER);
74 if (ret)
75 goto err_g11;
76 }
77
72 ret = drm_get_minor(dev, &dev->primary, DRM_MINOR_LEGACY); 78 ret = drm_get_minor(dev, &dev->primary, DRM_MINOR_LEGACY);
73 if (ret) 79 if (ret)
74 goto err_g2; 80 goto err_g2;
@@ -100,6 +106,9 @@ int drm_get_platform_dev(struct platform_device *platdev,
100err_g3: 106err_g3:
101 drm_put_minor(&dev->primary); 107 drm_put_minor(&dev->primary);
102err_g2: 108err_g2:
109 if (dev->render)
110 drm_put_minor(&dev->render);
111err_g11:
103 if (drm_core_check_feature(dev, DRIVER_MODESET)) 112 if (drm_core_check_feature(dev, DRIVER_MODESET))
104 drm_put_minor(&dev->control); 113 drm_put_minor(&dev->control);
105err_g1: 114err_g1:
@@ -107,7 +116,6 @@ err_g1:
107 mutex_unlock(&drm_global_mutex); 116 mutex_unlock(&drm_global_mutex);
108 return ret; 117 return ret;
109} 118}
110EXPORT_SYMBOL(drm_get_platform_dev);
111 119
112static int drm_platform_get_irq(struct drm_device *dev) 120static int drm_platform_get_irq(struct drm_device *dev)
113{ 121{