fb: add support for drivers not needing VT switch at suspend/resume time
Use the new PM routines to indicate whether we need to VT switch at suspend and resume time. When a new driver is bound, set its flag accordingly, and when unbound, remove it from the PM's console tracking list. Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
Родитель
f43f627d2f
Коммит
3cf2667b9f
|
@ -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))
|
||||
|
|
|
@ -501,6 +501,8 @@ struct fb_info {
|
|||
resource_size_t size;
|
||||
} ranges[0];
|
||||
} *apertures;
|
||||
|
||||
bool skip_vt_switch; /* no VT switch on suspend/resume required */
|
||||
};
|
||||
|
||||
static inline struct apertures_struct *alloc_apertures(unsigned int max_num) {
|
||||
|
|
Загрузка…
Ссылка в новой задаче