drm/kms/radeon: make kms default a runtime option
authorDave Airlie <airlied@redhat.com>
Tue, 8 Sep 2009 01:09:50 +0000 (11:09 +1000)
committerDave Airlie <airlied@redhat.com>
Tue, 8 Sep 2009 01:15:59 +0000 (11:15 +1000)
This makes the kms/enable disable a runtime not a build time
option.

Signed-off-by: Dave Airlie <airlied@redhat.com>
drivers/gpu/drm/Kconfig
drivers/gpu/drm/radeon/Kconfig
drivers/gpu/drm/radeon/Makefile
drivers/gpu/drm/radeon/radeon_drv.c

index d42cf54f78044a67808ff520fd8926ab5ce4bae0..e4d971c8b9d0bebe015a80b975a05a5a9c0a9a6d 100644 (file)
@@ -56,8 +56,9 @@ config DRM_RADEON
        select FB_CFB_FILLRECT
        select FB_CFB_COPYAREA
        select FB_CFB_IMAGEBLIT
-       select FRAMEBUFFER_CONSOLE if !EMBEDDED
        select FW_LOADER
+        select DRM_KMS_HELPER
+        select DRM_TTM
        help
          Choose this option if you have an ATI Radeon graphics card.  There
          are both PCI and AGP versions.  You don't need to choose this to
index 3cc89b27112386790d60f0f62816abe54f1baf4d..5982321be4d5b9f674cfdbaee221381336afd4b3 100644 (file)
@@ -1,8 +1,6 @@
 config DRM_RADEON_KMS
        bool "Enable modesetting on radeon by default"
        depends on DRM_RADEON
-       select DRM_KMS_HELPER
-       select DRM_TTM
        help
          Choose this option if you want kernel modesetting enabled by default,
          and you have a new enough userspace to support this. Running old
index 14c3fe69272300208ea166ac13aa002e370c66cf..09a28923f46e3d6935b18a1d2b1960024764fcda 100644 (file)
@@ -3,8 +3,6 @@
 # Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher.
 
 ccflags-y := -Iinclude/drm
-radeon-y := radeon_drv.o radeon_cp.o radeon_state.o radeon_mem.o \
-       radeon_irq.o r300_cmdbuf.o r600_cp.o
 
 hostprogs-y := mkregtable
 
@@ -39,7 +37,10 @@ $(obj)/r300.o: $(obj)/r300_reg_safe.h
 
 $(obj)/rs600.o: $(obj)/rs600_reg_safe.h
 
-radeon-$(CONFIG_DRM_RADEON_KMS) += radeon_device.o radeon_kms.o \
+radeon-y := radeon_drv.o radeon_cp.o radeon_state.o radeon_mem.o \
+       radeon_irq.o r300_cmdbuf.o r600_cp.o
+# add KMS driver
+radeon-y += radeon_device.o radeon_kms.o \
        radeon_atombios.o radeon_agp.o atombios_crtc.o radeon_combios.o \
        atom.o radeon_fence.o radeon_ttm.o radeon_object.o radeon_gart.o \
        radeon_legacy_crtc.o radeon_legacy_encoders.o radeon_connectors.o \
index 133e975dbf0c2161bc204c7888cc5599d9c33b5f..29f040a7861b4e4b67a5282e4c7e9733ebb7075b 100644 (file)
@@ -38,7 +38,6 @@
 #include <linux/console.h>
 
 
-#if defined(CONFIG_DRM_RADEON_KMS)
 /*
  * KMS wrapper.
  */
@@ -77,11 +76,9 @@ int radeon_mmap(struct file *filp, struct vm_area_struct *vma);
 int radeon_debugfs_init(struct drm_minor *minor);
 void radeon_debugfs_cleanup(struct drm_minor *minor);
 #endif
-#endif
 
 
 int radeon_no_wb;
-#if defined(CONFIG_DRM_RADEON_KMS)
 int radeon_modeset = -1;
 int radeon_dynclks = -1;
 int radeon_r4xx_atom = 0;
@@ -92,12 +89,10 @@ int radeon_benchmarking = 0;
 int radeon_testing = 0;
 int radeon_connector_table = 0;
 int radeon_tv = 1;
-#endif
 
 MODULE_PARM_DESC(no_wb, "Disable AGP writeback for scratch registers");
 module_param_named(no_wb, radeon_no_wb, int, 0444);
 
-#if defined(CONFIG_DRM_RADEON_KMS)
 MODULE_PARM_DESC(modeset, "Disable/Enable modesetting");
 module_param_named(modeset, radeon_modeset, int, 0400);
 
@@ -127,7 +122,6 @@ module_param_named(connector_table, radeon_connector_table, int, 0444);
 
 MODULE_PARM_DESC(tv, "TV enable (0 = disable)");
 module_param_named(tv, radeon_tv, int, 0444);
-#endif
 
 static int radeon_suspend(struct drm_device *dev, pm_message_t state)
 {
@@ -219,7 +213,6 @@ static struct drm_driver driver_old = {
        .patchlevel = DRIVER_PATCHLEVEL,
 };
 
-#if defined(CONFIG_DRM_RADEON_KMS)
 static struct drm_driver kms_driver;
 
 static int __devinit
@@ -313,7 +306,6 @@ static struct drm_driver kms_driver = {
        .minor = KMS_DRIVER_MINOR,
        .patchlevel = KMS_DRIVER_PATCHLEVEL,
 };
-#endif
 
 static struct drm_driver *driver;
 
@@ -321,7 +313,6 @@ static int __init radeon_init(void)
 {
        driver = &driver_old;
        driver->num_ioctls = radeon_max_ioctl;
-#if defined(CONFIG_DRM_RADEON_KMS)
 #ifdef CONFIG_VGA_CONSOLE
        if (vgacon_text_force() && radeon_modeset == -1) {
                DRM_INFO("VGACON disable radeon kernel modesetting.\n");
@@ -332,8 +323,13 @@ static int __init radeon_init(void)
 #endif
        /* if enabled by default */
        if (radeon_modeset == -1) {
-               DRM_INFO("radeon default to kernel modesetting.\n");
+#ifdef CONFIG_DRM_RADEON_KMS
+               DRM_INFO("radeon defaulting to kernel modesetting.\n");
                radeon_modeset = 1;
+#else
+               DRM_INFO("radeon defaulting to userspace modesetting.\n");
+               radeon_modeset = 0;
+#endif
        }
        if (radeon_modeset == 1) {
                DRM_INFO("radeon kernel modesetting enabled.\n");
@@ -343,7 +339,6 @@ static int __init radeon_init(void)
        }
        /* if the vga console setting is enabled still
         * let modprobe override it */
-#endif
        return drm_init(driver);
 }