Commit 5598e55a authored by Hans de Goede's avatar Hans de Goede Committed by Greg Kroah-Hartman

staging: vboxvideo: Use CONFIG_DRM_KMS_FB_HELPER to check for fbdefio availability

Checking for CONFIG_FB_DEFERRED_IO is not the right thing to do since
the fbdev code may be built as a module while vboxvideo is builtin.

This can only happen when DRM_KMS_FB_HELPER is not set:
a) DRM_VBOXVIDEO selects DRM_KMS_HELPER
b) DRM_KMS_FB_HELPER depends on DRM_KMS_HELPER
c) DRM_KMS_FB_HELPER selects FB_DEFERRED_IO

So when DRM_KMS_FB_HELPER is set and vboxvideo is builtin then
FB_DEFERRED_IO must be builtin too.

This commit moves the #ifdefs around fbdefio code over to
CONFIG_DRM_KMS_FB_HELPER, as other drm drivers already do, fixing:

drivers/staging/vboxvideo/vbox_fb.o: In function `vbox_fbdev_fini':
vbox_fb.c:(.text+0x36): undefined reference to `fb_deferred_io_cleanup'
Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent ab86dbed
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
#include "vbox_drv.h" #include "vbox_drv.h"
#include "vboxvideo.h" #include "vboxvideo.h"
#ifdef CONFIG_FB_DEFERRED_IO #ifdef CONFIG_DRM_KMS_FB_HELPER
static struct fb_deferred_io vbox_defio = { static struct fb_deferred_io vbox_defio = {
.delay = HZ / 30, .delay = HZ / 30,
.deferred_io = drm_fb_helper_deferred_io, .deferred_io = drm_fb_helper_deferred_io,
...@@ -173,7 +173,7 @@ static int vboxfb_create(struct drm_fb_helper *helper, ...@@ -173,7 +173,7 @@ static int vboxfb_create(struct drm_fb_helper *helper,
info->screen_base = bo->kmap.virtual; info->screen_base = bo->kmap.virtual;
info->screen_size = size; info->screen_size = size;
#ifdef CONFIG_FB_DEFERRED_IO #ifdef CONFIG_DRM_KMS_FB_HELPER
info->fbdefio = &vbox_defio; info->fbdefio = &vbox_defio;
fb_deferred_io_init(info); fb_deferred_io_init(info);
#endif #endif
...@@ -195,7 +195,7 @@ void vbox_fbdev_fini(struct drm_device *dev) ...@@ -195,7 +195,7 @@ void vbox_fbdev_fini(struct drm_device *dev)
struct vbox_fbdev *fbdev = vbox->fbdev; struct vbox_fbdev *fbdev = vbox->fbdev;
struct vbox_framebuffer *afb = &fbdev->afb; struct vbox_framebuffer *afb = &fbdev->afb;
#ifdef CONFIG_FB_DEFERRED_IO #ifdef CONFIG_DRM_KMS_FB_HELPER
if (fbdev->helper.fbdev && fbdev->helper.fbdev->fbdefio) if (fbdev->helper.fbdev && fbdev->helper.fbdev->fbdefio)
fb_deferred_io_cleanup(fbdev->helper.fbdev); fb_deferred_io_cleanup(fbdev->helper.fbdev);
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment