No need for a home-grown version, the generic helper should work just
fine.  It also handles vgacon removal these days, see commit
1c74ca7a1a9a ("drm/fb-helper: call vga_remove_vgacon automatically."),
so that can be removed too.

Signed-off-by: Gerd Hoffmann <[email protected]>
---
 drivers/gpu/drm/i915/i915_drv.c | 41 ++-------------------------------
 1 file changed, 2 insertions(+), 39 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index b99d73c1c4db..ddc317ceb8de 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -766,31 +766,6 @@ static int i915_load_modeset_init(struct drm_device *dev)
        return ret;
 }
 
-static int i915_kick_out_firmware_fb(struct drm_i915_private *dev_priv)
-{
-       struct apertures_struct *ap;
-       struct pci_dev *pdev = dev_priv->drm.pdev;
-       struct i915_ggtt *ggtt = &dev_priv->ggtt;
-       bool primary;
-       int ret;
-
-       ap = alloc_apertures(1);
-       if (!ap)
-               return -ENOMEM;
-
-       ap->ranges[0].base = ggtt->gmadr.start;
-       ap->ranges[0].size = ggtt->mappable_end;
-
-       primary =
-               pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW;
-
-       ret = drm_fb_helper_remove_conflicting_framebuffers(ap, "inteldrmfb", 
primary);
-
-       kfree(ap);
-
-       return ret;
-}
-
 static void intel_init_dpio(struct drm_i915_private *dev_priv)
 {
        /*
@@ -1570,21 +1545,9 @@ static int i915_driver_init_hw(struct drm_i915_private 
*dev_priv)
        if (ret)
                goto err_perf;
 
-       /*
-        * 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");
+       ret = drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, 
"inteldrmfb");
+       if (ret)
                goto err_ggtt;
-       }
-
-       ret = vga_remove_vgacon(pdev);
-       if (ret) {
-               DRM_ERROR("failed to remove conflicting VGA console\n");
-               goto err_ggtt;
-       }
 
        ret = i915_ggtt_init_hw(dev_priv);
        if (ret)
-- 
2.18.1

_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to