drm/bochs: Implement nomodeset
authorMax Staudt <mstaudt@suse.de>
Wed, 18 Jan 2017 18:10:12 +0000 (19:10 +0100)
committerGerd Hoffmann <kraxel@redhat.com>
Thu, 2 Feb 2017 09:02:32 +0000 (10:02 +0100)
Up until now, the bochsdrm driver didn't handle the nomodeset option
at boot, and didn't provide a "modeset" module option either.

This patch implements both.

The new parameter can be used by specifying bochs-drm.modeset=0
at boot time.

Signed-off-by: Max Staudt <mstaudt@suse.de>
Link: http://patchwork.freedesktop.org/patch/msgid/1484763012-17783-1-git-send-email-mstaudt@suse.de
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: David Airlie <airlied@gmail.com>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: dri-devel@lists.freedesktop.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
drivers/gpu/drm/bochs/bochs_drv.c

index 8a12b3f6fc66e0027f3d362bea42c99e146b9a26..aa342515ddf43c86f00b9082812305d96eef65e3 100644 (file)
 
 #include "bochs.h"
 
+static int bochs_modeset = -1;
+module_param_named(modeset, bochs_modeset, int, 0444);
+MODULE_PARM_DESC(modeset, "enable/disable kernel modesetting");
+
 static bool enable_fbdev = true;
 module_param_named(fbdev, enable_fbdev, bool, 0444);
 MODULE_PARM_DESC(fbdev, "register fbdev device");
@@ -214,6 +218,12 @@ static struct pci_driver bochs_pci_driver = {
 
 static int __init bochs_init(void)
 {
+       if (vgacon_text_force() && bochs_modeset == -1)
+               return -EINVAL;
+
+       if (bochs_modeset == 0)
+               return -EINVAL;
+
        return drm_pci_init(&bochs_driver, &bochs_pci_driver);
 }