drivers/gpu/drm/openchrome/openchrome_drv.c |   31 ++++++++++++++++++++++++++--
 drivers/gpu/drm/openchrome/openchrome_drv.h |    4 +--
 2 files changed, 31 insertions(+), 4 deletions(-)

New commits:
commit db2ffb68e14680f8e319d4b32a035248b6529b9e
Author: Kevin Brace <kevinbr...@gmx.com>
Date:   Sat Apr 3 17:15:16 2021 -0700

    drm/openchrome: Version bumped to 3.4.8
    
    This version adds modeset kernel parameter.  Now, OpenChrome
    DRM is by default disabled.  To activate OpenChrome DRM, add
    openchrome.modeset=1 to the kernel command line.
    
    Signed-off-by: Kevin Brace <kevinbr...@gmx.com>

diff --git a/drivers/gpu/drm/openchrome/openchrome_drv.h 
b/drivers/gpu/drm/openchrome/openchrome_drv.h
index a36cb5939968..3327cf3f3005 100644
--- a/drivers/gpu/drm/openchrome/openchrome_drv.h
+++ b/drivers/gpu/drm/openchrome/openchrome_drv.h
@@ -61,10 +61,10 @@
 
 #define DRIVER_MAJOR           3
 #define DRIVER_MINOR           4
-#define DRIVER_PATCHLEVEL      7
+#define DRIVER_PATCHLEVEL      8
 #define DRIVER_NAME            "openchrome"
 #define DRIVER_DESC            "OpenChrome DRM for VIA Technologies Chrome IGP"
-#define DRIVER_DATE            "20210402"
+#define DRIVER_DATE            "20210403"
 #define DRIVER_AUTHOR          "OpenChrome Project"
 
 
commit b0c9a88eca052c8384152c94a22af16e5ab03c73
Author: Kevin Brace <kevinbr...@gmx.com>
Date:   Sat Apr 3 17:06:31 2021 -0700

    drm/openchrome: Add modeset kernel parameter
    
    modeset kernel parameter will enable / disable this device driver.
    The default setting disables this device driver since it is still
    experimental.
    
    Signed-off-by: Kevin Brace <kevinbr...@gmx.com>

diff --git a/drivers/gpu/drm/openchrome/openchrome_drv.c 
b/drivers/gpu/drm/openchrome/openchrome_drv.c
index 7877ef1dee1f..e478fd8a139a 100644
--- a/drivers/gpu/drm/openchrome/openchrome_drv.c
+++ b/drivers/gpu/drm/openchrome/openchrome_drv.c
@@ -27,6 +27,7 @@
  * DEALINGS IN THE SOFTWARE.
  */
 
+#include <linux/console.h>
 #include <linux/module.h>
 
 #include <drm/drm_drv.h>
@@ -36,6 +37,18 @@
 #include "openchrome_drv.h"
 
 
+/*
+ * For now, this device driver will be disabled, unless the
+ * user decides to enable it.
+ */
+int openchrome_modeset = 0;
+
+MODULE_PARM_DESC(modeset, "Enable DRM device driver "
+                               "(Default: Disabled, "
+                               "0 = Disabled,"
+                               "1 = Enabled)");
+module_param_named(modeset, openchrome_modeset, int, 0400);
+
 int openchrome_hdmi_audio = 0;
 
 MODULE_PARM_DESC(audio, "HDMI Audio enable (1 = enable)");
@@ -250,14 +263,24 @@ static struct pci_driver openchrome_pci_driver = {
 
 static int __init openchrome_init(void)
 {
-       int ret;
+       int ret = 0;
 
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
+       if ((openchrome_modeset == -1) &&
+               (vgacon_text_force())) {
+               openchrome_modeset = 0;
+       }
+
+       if (!openchrome_modeset) {
+               goto exit;
+       }
+
        openchrome_driver.num_ioctls = openchrome_driver_num_ioctls;
 
        ret = pci_register_driver(&openchrome_pci_driver);
 
+exit:
        DRM_DEBUG_KMS("Exiting %s.\n", __func__);
        return ret;
 }
@@ -266,8 +289,12 @@ static void __exit openchrome_exit(void)
 {
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
-       pci_unregister_driver(&openchrome_pci_driver);
+       if (!openchrome_modeset) {
+               goto exit;
+       }
 
+       pci_unregister_driver(&openchrome_pci_driver);
+exit:
        DRM_DEBUG_KMS("Exiting %s.\n", __func__);
 }
 
_______________________________________________
openchrome-devel mailing list
openchrome-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/openchrome-devel

Reply via email to