|
@@ -203,6 +203,7 @@ static int udl_fb_open(struct fb_info *info, int user)
|
|
|
|
|
|
ufbdev->fb_count++;
|
|
|
|
|
|
+#ifdef CONFIG_DRM_FBDEV_EMULATION
|
|
|
if (fb_defio && (info->fbdefio == NULL)) {
|
|
|
/* enable defio at last moment if not disabled by client */
|
|
|
|
|
@@ -218,6 +219,7 @@ static int udl_fb_open(struct fb_info *info, int user)
|
|
|
info->fbdefio = fbdefio;
|
|
|
fb_deferred_io_init(info);
|
|
|
}
|
|
|
+#endif
|
|
|
|
|
|
pr_notice("open /dev/fb%d user=%d fb_info=%p count=%d\n",
|
|
|
info->node, user, info, ufbdev->fb_count);
|
|
@@ -235,12 +237,14 @@ static int udl_fb_release(struct fb_info *info, int user)
|
|
|
|
|
|
ufbdev->fb_count--;
|
|
|
|
|
|
+#ifdef CONFIG_DRM_FBDEV_EMULATION
|
|
|
if ((ufbdev->fb_count == 0) && (info->fbdefio)) {
|
|
|
fb_deferred_io_cleanup(info);
|
|
|
kfree(info->fbdefio);
|
|
|
info->fbdefio = NULL;
|
|
|
info->fbops->fb_mmap = udl_fb_mmap;
|
|
|
}
|
|
|
+#endif
|
|
|
|
|
|
pr_warn("released /dev/fb%d user=%d count=%d\n",
|
|
|
info->node, user, ufbdev->fb_count);
|