diff mbox

[1/3] drm: Add separate Kconfig option for fbdev helpers

Message ID 1381247089-7960-2-git-send-email-daniel.vetter@ffwll.ch
State Accepted
Headers show

Commit Message

Daniel Vetter Oct. 8, 2013, 3:44 p.m. UTC
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>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 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(-)

Comments

Rob Clark Oct. 8, 2013, 4:52 p.m. UTC | #1
On Tue, Oct 8, 2013 at 11:44 AM, Daniel Vetter <daniel.vetter@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@gmail.com>
> Cc: Rob Clark <robdclark@gmail.com>
> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>

\o/-by: Rob Clark <robdclark@gmail.com>

(and also:
Reviewed-by: Rob Clark <robdclark@gmail.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/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 Oct. 11, 2013, 9:36 p.m. UTC | #2
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@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@gmail.com>
> > Cc: Rob Clark <robdclark@gmail.com>
> > Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> 
> \o/-by: Rob Clark <robdclark@gmail.com>
> 
> (and also:
> Reviewed-by: Rob Clark <robdclark@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
> >
diff mbox

Patch

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