It can't fail really.

Also remove the redundant kms check Peter added.

Cc: Peter Antoine <peter.antoine at intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter at intel.com>
---
 drivers/gpu/drm/drm_context.c |  5 ++---
 drivers/gpu/drm/drm_drv.c     | 10 +---------
 drivers/gpu/drm/drm_legacy.h  |  2 +-
 3 files changed, 4 insertions(+), 13 deletions(-)

diff --git a/drivers/gpu/drm/drm_context.c b/drivers/gpu/drm/drm_context.c
index 32958dabd7b0..192a5f9eeb74 100644
--- a/drivers/gpu/drm/drm_context.c
+++ b/drivers/gpu/drm/drm_context.c
@@ -89,14 +89,13 @@ static int drm_legacy_ctxbitmap_next(struct drm_device * 
dev)
  *
  * Initialise the drm_device::ctx_idr
  */
-int drm_legacy_ctxbitmap_init(struct drm_device * dev)
+void drm_legacy_ctxbitmap_init(struct drm_device * dev)
 {
        if (!drm_core_check_feature(dev, DRIVER_KMS_LEGACY_CONTEXT) &&
            drm_core_check_feature(dev, DRIVER_MODESET))
-               return -EINVAL;
+               return;

        idr_init(&dev->ctx_idr);
-       return 0;
 }

 /**
diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c
index e5717116346d..ddc4943404c6 100644
--- a/drivers/gpu/drm/drm_drv.c
+++ b/drivers/gpu/drm/drm_drv.c
@@ -584,14 +584,7 @@ struct drm_device *drm_dev_alloc(struct drm_driver *driver,
        if (drm_ht_create(&dev->map_hash, 12))
                goto err_minors;

-       if (drm_core_check_feature(dev, DRIVER_KMS_LEGACY_CONTEXT) ||
-               !drm_core_check_feature(dev, DRIVER_MODESET))
-               ret = drm_legacy_ctxbitmap_init(dev);
-               if (ret) {
-                       DRM_ERROR(
-                               "Cannot allocate memory for context bitmap.\n");
-                       goto err_ht;
-               }
+       drm_legacy_ctxbitmap_init(dev);

        if (drm_core_check_feature(dev, DRIVER_GEM)) {
                ret = drm_gem_init(dev);
@@ -605,7 +598,6 @@ struct drm_device *drm_dev_alloc(struct drm_driver *driver,

 err_ctxbitmap:
        drm_legacy_ctxbitmap_cleanup(dev);
-err_ht:
        drm_ht_remove(&dev->map_hash);
 err_minors:
        drm_minor_free(dev, DRM_MINOR_LEGACY);
diff --git a/drivers/gpu/drm/drm_legacy.h b/drivers/gpu/drm/drm_legacy.h
index c1dc61473db5..9b731786e4db 100644
--- a/drivers/gpu/drm/drm_legacy.h
+++ b/drivers/gpu/drm/drm_legacy.h
@@ -42,7 +42,7 @@ struct drm_file;
 #define DRM_KERNEL_CONTEXT             0
 #define DRM_RESERVED_CONTEXTS          1

-int drm_legacy_ctxbitmap_init(struct drm_device *dev);
+void drm_legacy_ctxbitmap_init(struct drm_device *dev);
 void drm_legacy_ctxbitmap_cleanup(struct drm_device *dev);
 void drm_legacy_ctxbitmap_free(struct drm_device *dev, int ctx_handle);
 void drm_legacy_ctxbitmap_flush(struct drm_device *dev, struct drm_file *file);
-- 
2.1.4

Reply via email to