drm: split crtc/fb helpers into a separate module
authorDave Airlie <airlied@redhat.com>
Mon, 7 Sep 2009 05:45:33 +0000 (15:45 +1000)
committerDave Airlie <airlied@redhat.com>
Mon, 7 Sep 2009 05:45:33 +0000 (15:45 +1000)
I really don't want to have core drm module rely on CONFIG_FB,
so this is the easiest answer.

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

index ebafad1..8c73091 100644 (file)
@@ -18,6 +18,13 @@ menuconfig DRM
          details.  You should also select and configure AGP
          (/dev/agpgart) support.
 
+config DRM_MODE_HELPER
+       tristate
+       depends on DRM
+       select FB
+       help
+         FB and CRTC helpers for kms drivers.
+
 config DRM_TTM
        tristate
        depends on DRM
@@ -48,7 +55,6 @@ config DRM_RADEON
        select FB_CFB_FILLRECT
        select FB_CFB_COPYAREA
        select FB_CFB_IMAGEBLIT
-       select FB
        select FRAMEBUFFER_CONSOLE if !EMBEDDED
        select FW_LOADER
        help
@@ -84,10 +90,10 @@ config DRM_I830
 config DRM_I915
        tristate "i915 driver"
        depends on AGP_INTEL
+       select DRM_MODE_HELPER
        select FB_CFB_FILLRECT
        select FB_CFB_COPYAREA
        select FB_CFB_IMAGEBLIT
-       select FB
        select FRAMEBUFFER_CONSOLE if !EMBEDDED
        # i915 depends on ACPI_VIDEO when ACPI is enabled
        # but for select to work, need to select ACPI_VIDEO's dependencies, ick
index 9907168..7e96d74 100644 (file)
@@ -10,12 +10,15 @@ drm-y       :=      drm_auth.o drm_bufs.o drm_cache.o \
                drm_lock.o drm_memory.o drm_proc.o drm_stub.o drm_vm.o \
                drm_agpsupport.o drm_scatter.o ati_pcigart.o drm_pci.o \
                drm_sysfs.o drm_hashtab.o drm_sman.o drm_mm.o \
-               drm_crtc.o drm_crtc_helper.o drm_modes.o drm_edid.o \
-               drm_info.o drm_debugfs.o drm_encoder_slave.o \
-               drm_fb_helper.o
+               drm_crtc.o drm_modes.o drm_edid.o \
+               drm_info.o drm_debugfs.o drm_encoder_slave.o
 
 drm-$(CONFIG_COMPAT) += drm_ioc32.o
 
+drm_helper-y := drm_fb_helper.o drm_crtc_helper.o
+
+obj-$(CONFIG_DRM_MODE_HELPER) += drm_helper.o
+
 obj-$(CONFIG_DRM)      += drm.o
 obj-$(CONFIG_DRM_TTM)  += ttm/
 obj-$(CONFIG_DRM_TDFX) += tdfx/
index c20fcdc..ba728ad 100644 (file)
@@ -168,6 +168,7 @@ char *drm_get_encoder_name(struct drm_encoder *encoder)
                 encoder->base.id);
        return buf;
 }
+EXPORT_SYMBOL(drm_get_encoder_name);
 
 char *drm_get_connector_name(struct drm_connector *connector)
 {
index 2168d67..fdd9c89 100644 (file)
@@ -1,6 +1,7 @@
 config DRM_RADEON_KMS
        bool "Enable modesetting on radeon by default"
        depends on DRM_RADEON
+       select DRM_MODE_HELPER
        select DRM_TTM
        help
          Choose this option if you want kernel modesetting enabled by default,