OSDN Git Service

drm/i915: Remove DRIVER_MODESET checks in load/unload/close code
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Mon, 23 Feb 2015 11:03:25 +0000 (12:03 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 27 Feb 2015 13:57:39 +0000 (14:57 +0100)
UMS is gone, this is dead code.

Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_dma.c

index f9992ca..053e178 100644 (file)
@@ -722,17 +722,6 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
 
        info = (struct intel_device_info *) flags;
 
-       /* Refuse to load on gen6+ without kms enabled. */
-       if (info->gen >= 6 && !drm_core_check_feature(dev, DRIVER_MODESET)) {
-               DRM_INFO("Your hardware requires kernel modesetting (KMS)\n");
-               DRM_INFO("See CONFIG_DRM_I915_KMS, nomodeset, and i915.modeset parameters\n");
-               return -ENODEV;
-       }
-
-       /* UMS needs agp support. */
-       if (!drm_core_check_feature(dev, DRIVER_MODESET) && !dev->agp)
-               return -EINVAL;
-
        dev_priv = kzalloc(sizeof(*dev_priv), GFP_KERNEL);
        if (dev_priv == NULL)
                return -ENOMEM;
@@ -802,20 +791,18 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
        if (ret)
                goto out_regs;
 
-       if (drm_core_check_feature(dev, DRIVER_MODESET)) {
-               /* WARNING: Apparently we must kick fbdev drivers before vgacon,
-                * otherwise the vga fbdev driver falls over. */
-               ret = i915_kick_out_firmware_fb(dev_priv);
-               if (ret) {
-                       DRM_ERROR("failed to remove conflicting framebuffer drivers\n");
-                       goto out_gtt;
-               }
+       /* WARNING: Apparently we must kick fbdev drivers before vgacon,
+        * otherwise the vga fbdev driver falls over. */
+       ret = i915_kick_out_firmware_fb(dev_priv);
+       if (ret) {
+               DRM_ERROR("failed to remove conflicting framebuffer drivers\n");
+               goto out_gtt;
+       }
 
-               ret = i915_kick_out_vgacon(dev_priv);
-               if (ret) {
-                       DRM_ERROR("failed to remove conflicting VGA console\n");
-                       goto out_gtt;
-               }
+       ret = i915_kick_out_vgacon(dev_priv);
+       if (ret) {
+               DRM_ERROR("failed to remove conflicting VGA console\n");
+               goto out_gtt;
        }
 
        pci_set_master(dev->pdev);
@@ -919,12 +906,10 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
 
        intel_power_domains_init(dev_priv);
 
-       if (drm_core_check_feature(dev, DRIVER_MODESET)) {
-               ret = i915_load_modeset_init(dev);
-               if (ret < 0) {
-                       DRM_ERROR("failed to init modeset\n");
-                       goto out_power_well;
-               }
+       ret = i915_load_modeset_init(dev);
+       if (ret < 0) {
+               DRM_ERROR("failed to init modeset\n");
+               goto out_power_well;
        }
 
        /*
@@ -1013,28 +998,25 @@ int i915_driver_unload(struct drm_device *dev)
 
        acpi_video_unregister();
 
-       if (drm_core_check_feature(dev, DRIVER_MODESET))
-               intel_fbdev_fini(dev);
+       intel_fbdev_fini(dev);
 
        drm_vblank_cleanup(dev);
 
-       if (drm_core_check_feature(dev, DRIVER_MODESET)) {
-               intel_modeset_cleanup(dev);
-
-               /*
-                * free the memory space allocated for the child device
-                * config parsed from VBT
-                */
-               if (dev_priv->vbt.child_dev && dev_priv->vbt.child_dev_num) {
-                       kfree(dev_priv->vbt.child_dev);
-                       dev_priv->vbt.child_dev = NULL;
-                       dev_priv->vbt.child_dev_num = 0;
-               }
+       intel_modeset_cleanup(dev);
 
-               vga_switcheroo_unregister_client(dev->pdev);
-               vga_client_register(dev->pdev, NULL, NULL, NULL);
+       /*
+        * free the memory space allocated for the child device
+        * config parsed from VBT
+        */
+       if (dev_priv->vbt.child_dev && dev_priv->vbt.child_dev_num) {
+               kfree(dev_priv->vbt.child_dev);
+               dev_priv->vbt.child_dev = NULL;
+               dev_priv->vbt.child_dev_num = 0;
        }
 
+       vga_switcheroo_unregister_client(dev->pdev);
+       vga_client_register(dev->pdev, NULL, NULL, NULL);
+
        /* Free error state after interrupts are fully disabled. */
        cancel_delayed_work_sync(&dev_priv->gpu_error.hangcheck_work);
        i915_destroy_error_state(dev);
@@ -1044,17 +1026,15 @@ int i915_driver_unload(struct drm_device *dev)
 
        intel_opregion_fini(dev);
 
-       if (drm_core_check_feature(dev, DRIVER_MODESET)) {
-               /* Flush any outstanding unpin_work. */
-               flush_workqueue(dev_priv->wq);
+       /* Flush any outstanding unpin_work. */
+       flush_workqueue(dev_priv->wq);
 
-               mutex_lock(&dev->struct_mutex);
-               i915_gem_cleanup_ringbuffer(dev);
-               i915_gem_batch_pool_fini(&dev_priv->mm.batch_pool);
-               i915_gem_context_fini(dev);
-               mutex_unlock(&dev->struct_mutex);
-               i915_gem_cleanup_stolen(dev);
-       }
+       mutex_lock(&dev->struct_mutex);
+       i915_gem_cleanup_ringbuffer(dev);
+       i915_gem_batch_pool_fini(&dev_priv->mm.batch_pool);
+       i915_gem_context_fini(dev);
+       mutex_unlock(&dev->struct_mutex);
+       i915_gem_cleanup_stolen(dev);
 
        intel_teardown_gmbus(dev);
        intel_teardown_mchbar(dev);
@@ -1115,8 +1095,7 @@ void i915_driver_preclose(struct drm_device *dev, struct drm_file *file)
        i915_gem_release(dev, file);
        mutex_unlock(&dev->struct_mutex);
 
-       if (drm_core_check_feature(dev, DRIVER_MODESET))
-               intel_modeset_preclose(dev, file);
+       intel_modeset_preclose(dev, file);
 }
 
 void i915_driver_postclose(struct drm_device *dev, struct drm_file *file)