|
@@ -1645,6 +1645,11 @@ static int do_register_framebuffer(struct fb_info *fb_info)
|
|
|
if (!fb_info->modelist.prev || !fb_info->modelist.next)
|
|
|
INIT_LIST_HEAD(&fb_info->modelist);
|
|
|
|
|
|
+ if (fb_info->skip_vt_switch)
|
|
|
+ pm_vt_switch_required(fb_info->dev, false);
|
|
|
+ else
|
|
|
+ pm_vt_switch_required(fb_info->dev, true);
|
|
|
+
|
|
|
fb_var_to_videomode(&mode, &fb_info->var);
|
|
|
fb_add_videomode(&mode, &fb_info->modelist);
|
|
|
registered_fb[i] = fb_info;
|
|
@@ -1679,6 +1684,8 @@ static int do_unregister_framebuffer(struct fb_info *fb_info)
|
|
|
if (ret)
|
|
|
return -EINVAL;
|
|
|
|
|
|
+ pm_vt_switch_unregister(fb_info->dev);
|
|
|
+
|
|
|
unlink_framebuffer(fb_info);
|
|
|
if (fb_info->pixmap.addr &&
|
|
|
(fb_info->pixmap.flags & FB_PIXMAP_DEFAULT))
|