On Tue, Oct 08, 2013 at 12:52:53PM -0400, Rob Clark wrote: > On Tue, Oct 8, 2013 at 11:44 AM, Daniel Vetter <daniel.vetter@xxxxxxxx> wrote: > > 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@xxxxxxxxx> > > Cc: Rob Clark <robdclark@xxxxxxxxx> > > Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> > > \o/-by: Rob Clark <robdclark@xxxxxxxxx> > > (and also: > Reviewed-by: Rob Clark <robdclark@xxxxxxxxx> > ) Thanks for the review, patch merged to drm-intel-next with Dave's ack on irc. -Daniel > > > --- > > 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/msm/Kconfig | 1 + > > drivers/gpu/drm/nouveau/Kconfig | 1 + > > drivers/gpu/drm/omapdrm/Kconfig | 1 + > > drivers/gpu/drm/qxl/Kconfig | 1 + > > drivers/gpu/drm/rcar-du/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 + > > 19 files changed, 31 insertions(+), 6 deletions(-) > > > > diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig > > index 955555d..3104b6d 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 f089adf..5af240b 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 da4a51e..8a784c4 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 bf67b22..9864559 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 4280e37..c4bfd69 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 f6f6cc7..b1ad5fa 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 45b6ef5..f227f54 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 OF && 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 1f6e2df..508cf99 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 b487cde..3a1c5fb 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/msm/Kconfig b/drivers/gpu/drm/msm/Kconfig > > index a06c19c..f39ab75 100644 > > --- a/drivers/gpu/drm/msm/Kconfig > > +++ b/drivers/gpu/drm/msm/Kconfig > > @@ -14,6 +14,7 @@ config DRM_MSM > > config DRM_MSM_FBDEV > > bool "Enable legacy fbdev support for MSM modesetting driver" > > depends on DRM_MSM > > + select DRM_KMS_FB_HELPER > > select FB_SYS_FILLRECT > > select FB_SYS_COPYAREA > > select FB_SYS_IMAGEBLIT > > diff --git a/drivers/gpu/drm/nouveau/Kconfig b/drivers/gpu/drm/nouveau/Kconfig > > index ff80f12..7cf787d 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 20c41e7..6c220cd 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 d6c1279..037d324 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/rcar-du/Kconfig b/drivers/gpu/drm/rcar-du/Kconfig > > index c590cd9..d8e835a 100644 > > --- a/drivers/gpu/drm/rcar-du/Kconfig > > +++ b/drivers/gpu/drm/rcar-du/Kconfig > > @@ -4,6 +4,7 @@ config DRM_RCAR_DU > > select DRM_KMS_HELPER > > select DRM_KMS_CMA_HELPER > > select DRM_GEM_CMA_HELPER > > + select DRM_KMS_FB_HELPER > > help > > Choose this option if you have an R-Car chipset. > > If M is selected the module will be called rcar-du-drm. > > diff --git a/drivers/gpu/drm/shmobile/Kconfig b/drivers/gpu/drm/shmobile/Kconfig > > index ca498d1..d137286 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 && (ARM || SUPERH) > > 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 7a4d101..7c3ef79 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 6222af1..f025286 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 69853a4..0f36ddd 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 394254f7d..5032ff7 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.1.4 > > -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel