[Intel-gfx] [PATCH 1/3] drm: Add separate Kconfig option for fbdev helpers

Daniel Vetter daniel at ffwll.ch
Fri Oct 11 23:36:43 CEST 2013


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 at ffwll.ch> 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 at gmail.com>
> > Cc: Rob Clark <robdclark at gmail.com>
> > Signed-off-by: Daniel Vetter <daniel.vetter at ffwll.ch>
> 
> \o/-by: Rob Clark <robdclark at gmail.com>
> 
> (and also:
> Reviewed-by: Rob Clark <robdclark at gmail.com>
> )

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



More information about the Intel-gfx mailing list