diff options
Diffstat (limited to 'drivers/gpu/drm/drm_platform.c')
-rw-r--r-- | drivers/gpu/drm/drm_platform.c | 16 |
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 | ||
42 | int drm_get_platform_dev(struct platform_device *platdev, | 42 | static 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, | |||
100 | err_g3: | 106 | err_g3: |
101 | drm_put_minor(&dev->primary); | 107 | drm_put_minor(&dev->primary); |
102 | err_g2: | 108 | err_g2: |
109 | if (dev->render) | ||
110 | drm_put_minor(&dev->render); | ||
111 | err_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); |
105 | err_g1: | 114 | err_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 | } |
110 | EXPORT_SYMBOL(drm_get_platform_dev); | ||
111 | 119 | ||
112 | static int drm_platform_get_irq(struct drm_device *dev) | 120 | static int drm_platform_get_irq(struct drm_device *dev) |
113 | { | 121 | { |