| From dc80e147e8acce8bd6855e236abb556169feffa2 Mon Sep 17 00:00:00 2001 |
| From: Daniel Vetter <daniel.vetter@ffwll.ch> |
| Date: Tue, 8 Oct 2013 17:44:47 +0200 |
| Subject: drm: Add separate Kconfig option for fbdev helpers |
| |
| For drivers which might want to disable fbdev legacy support. |
| |
| Select the new option in all drivers for now, so this shouldn't result |
| in any change. Drivers need some work anyway to make fbdev support |
| optional (if they have it implemented, that is), so the recommended |
| way to expose this is by adding per-driver options. At least as long |
| as most drivers don't support disabling the fbdev support. |
| |
| v2: Update for new drm drivers msm and rcar-du. Note that Rob's msm |
| driver can already take advantage of this, which allows us to build |
| msm without any fbdev depencies in the kernel! |
| |
| v3: Move the MODULE_* stuff from the fbdev helper file to |
| drm_crtc_helper.c. |
| |
| Cc: David Herrmann <dh.herrmann@gmail.com> |
| Cc: Rob Clark <robdclark@gmail.com> |
| Reviewed-by: Rob Clark <robdclark@gmail.com> |
| Acked-by: Dave Airlie <airlied@linux.ie> |
| Reviewed-by: Chon Ming Lee <chon.ming.lee@intel.com> |
| Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> |
| (cherry picked from commit 92b6f89f6b85f433ddac1f4a9eb0962dc96380fe) |
| Signed-off-by: James Ausmus <james.ausmus@intel.com> |
| |
| Conflicts: |
| drivers/gpu/drm/msm/Kconfig |
| drivers/gpu/drm/rcar-du/Kconfig |
| (drivers not in this tree) |
| Signed-off-by: Darren Hart <dvhart@linux.intel.com> |
| --- |
| drivers/gpu/drm/Kconfig | 11 ++++++++++- |
| drivers/gpu/drm/Makefile | 3 ++- |
| drivers/gpu/drm/ast/Kconfig | 1 + |
| drivers/gpu/drm/cirrus/Kconfig | 1 + |
| drivers/gpu/drm/drm_crtc_helper.c | 4 ++++ |
| drivers/gpu/drm/drm_fb_helper.c | 4 ---- |
| drivers/gpu/drm/exynos/Kconfig | 1 + |
| drivers/gpu/drm/gma500/Kconfig | 1 + |
| drivers/gpu/drm/mgag200/Kconfig | 1 + |
| drivers/gpu/drm/nouveau/Kconfig | 1 + |
| drivers/gpu/drm/omapdrm/Kconfig | 1 + |
| drivers/gpu/drm/qxl/Kconfig | 1 + |
| drivers/gpu/drm/shmobile/Kconfig | 1 + |
| drivers/gpu/drm/tilcdc/Kconfig | 1 + |
| drivers/gpu/drm/udl/Kconfig | 1 + |
| drivers/gpu/host1x/drm/Kconfig | 1 + |
| drivers/staging/imx-drm/Kconfig | 1 + |
| 17 files changed, 29 insertions(+), 6 deletions(-) |
| |
| diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig |
| index 9fb09af14d25..8847e1e90533 100644 |
| --- a/drivers/gpu/drm/Kconfig |
| +++ b/drivers/gpu/drm/Kconfig |
| @@ -29,11 +29,17 @@ config DRM_USB |
| config DRM_KMS_HELPER |
| tristate |
| depends on DRM |
| + help |
| + CRTC helpers for KMS drivers. |
| + |
| +config DRM_KMS_FB_HELPER |
| + bool |
| + depends on DRM_KMS_HELPER |
| select FB |
| select FRAMEBUFFER_CONSOLE if !EXPERT |
| select FRAMEBUFFER_CONSOLE_DETECT_PRIMARY if FRAMEBUFFER_CONSOLE |
| help |
| - FB and CRTC helpers for KMS drivers. |
| + FBDEV helpers for KMS drivers. |
| |
| config DRM_LOAD_EDID_FIRMWARE |
| bool "Allow to specify an EDID data set instead of probing for it" |
| @@ -64,6 +70,7 @@ config DRM_GEM_CMA_HELPER |
| config DRM_KMS_CMA_HELPER |
| bool |
| select DRM_GEM_CMA_HELPER |
| + select DRM_KMS_FB_HELPER |
| select FB_SYS_FILLRECT |
| select FB_SYS_COPYAREA |
| select FB_SYS_IMAGEBLIT |
| @@ -96,6 +103,7 @@ config DRM_RADEON |
| select FB_CFB_IMAGEBLIT |
| select FW_LOADER |
| select DRM_KMS_HELPER |
| + select DRM_KMS_FB_HELPER |
| select DRM_TTM |
| select POWER_SUPPLY |
| select HWMON |
| @@ -130,6 +138,7 @@ config DRM_I915 |
| select SHMEM |
| select TMPFS |
| select DRM_KMS_HELPER |
| + select DRM_KMS_FB_HELPER |
| select FB_CFB_FILLRECT |
| select FB_CFB_COPYAREA |
| select FB_CFB_IMAGEBLIT |
| diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile |
| index d7115ad6f20d..79a2dd86e90b 100644 |
| --- a/drivers/gpu/drm/Makefile |
| +++ b/drivers/gpu/drm/Makefile |
| @@ -21,8 +21,9 @@ drm-$(CONFIG_PCI) += ati_pcigart.o |
| |
| drm-usb-y := drm_usb.o |
| |
| -drm_kms_helper-y := drm_fb_helper.o drm_crtc_helper.o drm_dp_helper.o |
| +drm_kms_helper-y := drm_crtc_helper.o drm_dp_helper.o |
| drm_kms_helper-$(CONFIG_DRM_LOAD_EDID_FIRMWARE) += drm_edid_load.o |
| +drm_kms_helper-$(CONFIG_DRM_KMS_FB_HELPER) += drm_fb_helper.o |
| drm_kms_helper-$(CONFIG_DRM_KMS_CMA_HELPER) += drm_fb_cma_helper.o |
| |
| obj-$(CONFIG_DRM_KMS_HELPER) += drm_kms_helper.o |
| diff --git a/drivers/gpu/drm/ast/Kconfig b/drivers/gpu/drm/ast/Kconfig |
| index da4a51eae824..8a784c460c89 100644 |
| --- a/drivers/gpu/drm/ast/Kconfig |
| +++ b/drivers/gpu/drm/ast/Kconfig |
| @@ -6,6 +6,7 @@ config DRM_AST |
| select FB_SYS_FILLRECT |
| select FB_SYS_IMAGEBLIT |
| select DRM_KMS_HELPER |
| + select DRM_KMS_FB_HELPER |
| select DRM_TTM |
| help |
| Say yes for experimental AST GPU driver. Do not enable |
| diff --git a/drivers/gpu/drm/cirrus/Kconfig b/drivers/gpu/drm/cirrus/Kconfig |
| index bf67b22723f9..9864559e5fb9 100644 |
| --- a/drivers/gpu/drm/cirrus/Kconfig |
| +++ b/drivers/gpu/drm/cirrus/Kconfig |
| @@ -5,6 +5,7 @@ config DRM_CIRRUS_QEMU |
| select FB_SYS_COPYAREA |
| select FB_SYS_IMAGEBLIT |
| select DRM_KMS_HELPER |
| + select DRM_KMS_FB_HELPER |
| select DRM_TTM |
| help |
| This is a KMS driver for emulated cirrus device in qemu. |
| diff --git a/drivers/gpu/drm/drm_crtc_helper.c b/drivers/gpu/drm/drm_crtc_helper.c |
| index bdcdbb156d08..914f53775c8f 100644 |
| --- a/drivers/gpu/drm/drm_crtc_helper.c |
| +++ b/drivers/gpu/drm/drm_crtc_helper.c |
| @@ -39,6 +39,10 @@ |
| #include <drm/drm_fb_helper.h> |
| #include <drm/drm_edid.h> |
| |
| +MODULE_AUTHOR("David Airlie, Jesse Barnes"); |
| +MODULE_DESCRIPTION("DRM KMS helper"); |
| +MODULE_LICENSE("GPL and additional rights"); |
| + |
| /** |
| * drm_helper_move_panel_connectors_to_head() - move panels to the front in the |
| * connector list |
| diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c |
| index b78cbe74dadf..bee177e8b2cf 100644 |
| --- a/drivers/gpu/drm/drm_fb_helper.c |
| +++ b/drivers/gpu/drm/drm_fb_helper.c |
| @@ -39,10 +39,6 @@ |
| #include <drm/drm_fb_helper.h> |
| #include <drm/drm_crtc_helper.h> |
| |
| -MODULE_AUTHOR("David Airlie, Jesse Barnes"); |
| -MODULE_DESCRIPTION("DRM KMS helper"); |
| -MODULE_LICENSE("GPL and additional rights"); |
| - |
| static LIST_HEAD(kernel_fb_helper_list); |
| |
| /** |
| diff --git a/drivers/gpu/drm/exynos/Kconfig b/drivers/gpu/drm/exynos/Kconfig |
| index 772c62a6e2ac..83743e66d15f 100644 |
| --- a/drivers/gpu/drm/exynos/Kconfig |
| +++ b/drivers/gpu/drm/exynos/Kconfig |
| @@ -2,6 +2,7 @@ config DRM_EXYNOS |
| tristate "DRM Support for Samsung SoC EXYNOS Series" |
| depends on DRM && (PLAT_SAMSUNG || ARCH_MULTIPLATFORM) |
| select DRM_KMS_HELPER |
| + select DRM_KMS_FB_HELPER |
| select FB_CFB_FILLRECT |
| select FB_CFB_COPYAREA |
| select FB_CFB_IMAGEBLIT |
| diff --git a/drivers/gpu/drm/gma500/Kconfig b/drivers/gpu/drm/gma500/Kconfig |
| index 1f6e2dfaaeae..508cf99a292d 100644 |
| --- a/drivers/gpu/drm/gma500/Kconfig |
| +++ b/drivers/gpu/drm/gma500/Kconfig |
| @@ -5,6 +5,7 @@ config DRM_GMA500 |
| select FB_CFB_FILLRECT |
| select FB_CFB_IMAGEBLIT |
| select DRM_KMS_HELPER |
| + select DRM_KMS_FB_HELPER |
| select DRM_TTM |
| # GMA500 depends on ACPI_VIDEO when ACPI is enabled, just like i915 |
| select ACPI_VIDEO if ACPI |
| diff --git a/drivers/gpu/drm/mgag200/Kconfig b/drivers/gpu/drm/mgag200/Kconfig |
| index b487cdec5ee7..3a1c5fbae54a 100644 |
| --- a/drivers/gpu/drm/mgag200/Kconfig |
| +++ b/drivers/gpu/drm/mgag200/Kconfig |
| @@ -5,6 +5,7 @@ config DRM_MGAG200 |
| select FB_SYS_COPYAREA |
| select FB_SYS_IMAGEBLIT |
| select DRM_KMS_HELPER |
| + select DRM_KMS_FB_HELPER |
| select DRM_TTM |
| help |
| This is a KMS driver for the MGA G200 server chips, it |
| diff --git a/drivers/gpu/drm/nouveau/Kconfig b/drivers/gpu/drm/nouveau/Kconfig |
| index ff80f12480ea..7cf787d697b1 100644 |
| --- a/drivers/gpu/drm/nouveau/Kconfig |
| +++ b/drivers/gpu/drm/nouveau/Kconfig |
| @@ -3,6 +3,7 @@ config DRM_NOUVEAU |
| depends on DRM && PCI |
| select FW_LOADER |
| select DRM_KMS_HELPER |
| + select DRM_KMS_FB_HELPER |
| select DRM_TTM |
| select FB_CFB_FILLRECT |
| select FB_CFB_COPYAREA |
| diff --git a/drivers/gpu/drm/omapdrm/Kconfig b/drivers/gpu/drm/omapdrm/Kconfig |
| index 09f65dc3d2c8..32b2eaa4de59 100644 |
| --- a/drivers/gpu/drm/omapdrm/Kconfig |
| +++ b/drivers/gpu/drm/omapdrm/Kconfig |
| @@ -5,6 +5,7 @@ config DRM_OMAP |
| depends on ARCH_OMAP2PLUS || ARCH_MULTIPLATFORM |
| depends on OMAP2_DSS |
| select DRM_KMS_HELPER |
| + select DRM_KMS_FB_HELPER |
| select FB_SYS_FILLRECT |
| select FB_SYS_COPYAREA |
| select FB_SYS_IMAGEBLIT |
| diff --git a/drivers/gpu/drm/qxl/Kconfig b/drivers/gpu/drm/qxl/Kconfig |
| index d6c12796023c..037d324bf58f 100644 |
| --- a/drivers/gpu/drm/qxl/Kconfig |
| +++ b/drivers/gpu/drm/qxl/Kconfig |
| @@ -6,6 +6,7 @@ config DRM_QXL |
| select FB_SYS_IMAGEBLIT |
| select FB_DEFERRED_IO |
| select DRM_KMS_HELPER |
| + select DRM_KMS_FB_HELPER |
| select DRM_TTM |
| help |
| QXL virtual GPU for Spice virtualization desktop integration. Do not enable this driver unless your distro ships a corresponding X.org QXL driver that can handle kernel modesetting. |
| diff --git a/drivers/gpu/drm/shmobile/Kconfig b/drivers/gpu/drm/shmobile/Kconfig |
| index 7e7d52b2a2fc..3878d29378eb 100644 |
| --- a/drivers/gpu/drm/shmobile/Kconfig |
| +++ b/drivers/gpu/drm/shmobile/Kconfig |
| @@ -2,6 +2,7 @@ config DRM_SHMOBILE |
| tristate "DRM Support for SH Mobile" |
| depends on DRM && (SUPERH || ARCH_SHMOBILE) |
| select DRM_KMS_HELPER |
| + select DRM_KMS_FB_HELPER |
| select DRM_KMS_CMA_HELPER |
| select DRM_GEM_CMA_HELPER |
| help |
| diff --git a/drivers/gpu/drm/tilcdc/Kconfig b/drivers/gpu/drm/tilcdc/Kconfig |
| index 7a4d10106906..7c3ef79fcb37 100644 |
| --- a/drivers/gpu/drm/tilcdc/Kconfig |
| +++ b/drivers/gpu/drm/tilcdc/Kconfig |
| @@ -2,6 +2,7 @@ config DRM_TILCDC |
| tristate "DRM Support for TI LCDC Display Controller" |
| depends on DRM && OF && ARM |
| select DRM_KMS_HELPER |
| + select DRM_KMS_FB_HELPER |
| select DRM_KMS_CMA_HELPER |
| select DRM_GEM_CMA_HELPER |
| select VIDEOMODE_HELPERS |
| diff --git a/drivers/gpu/drm/udl/Kconfig b/drivers/gpu/drm/udl/Kconfig |
| index 6222af19f456..f02528686cd5 100644 |
| --- a/drivers/gpu/drm/udl/Kconfig |
| +++ b/drivers/gpu/drm/udl/Kconfig |
| @@ -8,6 +8,7 @@ config DRM_UDL |
| select FB_SYS_IMAGEBLIT |
| select FB_DEFERRED_IO |
| select DRM_KMS_HELPER |
| + select DRM_KMS_FB_HELPER |
| help |
| This is a KMS driver for the USB displaylink video adapters. |
| Say M/Y to add support for these devices via drm/kms interfaces. |
| diff --git a/drivers/gpu/host1x/drm/Kconfig b/drivers/gpu/host1x/drm/Kconfig |
| index 69853a4de40a..0f36ddd74e87 100644 |
| --- a/drivers/gpu/host1x/drm/Kconfig |
| +++ b/drivers/gpu/host1x/drm/Kconfig |
| @@ -2,6 +2,7 @@ config DRM_TEGRA |
| bool "NVIDIA Tegra DRM" |
| depends on DRM |
| select DRM_KMS_HELPER |
| + select DRM_KMS_FB_HELPER |
| select FB_SYS_FILLRECT |
| select FB_SYS_COPYAREA |
| select FB_SYS_IMAGEBLIT |
| diff --git a/drivers/staging/imx-drm/Kconfig b/drivers/staging/imx-drm/Kconfig |
| index ef699f753186..c3f3b0c502d4 100644 |
| --- a/drivers/staging/imx-drm/Kconfig |
| +++ b/drivers/staging/imx-drm/Kconfig |
| @@ -1,6 +1,7 @@ |
| config DRM_IMX |
| tristate "DRM Support for Freescale i.MX" |
| select DRM_KMS_HELPER |
| + select DRM_KMS_FB_HELPER |
| select VIDEOMODE_HELPERS |
| select DRM_GEM_CMA_HELPER |
| select DRM_KMS_CMA_HELPER |
| -- |
| 1.8.5.rc3 |
| |