|
@@ -2342,6 +2342,30 @@ static int fbcon_blank(struct vc_data *vc, int blank, int mode_switch)
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
+static int fbcon_debug_enter(struct vc_data *vc)
|
|
|
+{
|
|
|
+ struct fb_info *info = registered_fb[con2fb_map[vc->vc_num]];
|
|
|
+ struct fbcon_ops *ops = info->fbcon_par;
|
|
|
+
|
|
|
+ ops->save_graphics = ops->graphics;
|
|
|
+ ops->graphics = 0;
|
|
|
+ if (info->fbops->fb_debug_enter)
|
|
|
+ info->fbops->fb_debug_enter(info);
|
|
|
+ fbcon_set_palette(vc, color_table);
|
|
|
+ return 0;
|
|
|
+}
|
|
|
+
|
|
|
+static int fbcon_debug_leave(struct vc_data *vc)
|
|
|
+{
|
|
|
+ struct fb_info *info = registered_fb[con2fb_map[vc->vc_num]];
|
|
|
+ struct fbcon_ops *ops = info->fbcon_par;
|
|
|
+
|
|
|
+ ops->graphics = ops->save_graphics;
|
|
|
+ if (info->fbops->fb_debug_leave)
|
|
|
+ info->fbops->fb_debug_leave(info);
|
|
|
+ return 0;
|
|
|
+}
|
|
|
+
|
|
|
static int fbcon_get_font(struct vc_data *vc, struct console_font *font)
|
|
|
{
|
|
|
u8 *fontdata = vc->vc_font.data;
|
|
@@ -3276,6 +3300,8 @@ static const struct consw fb_con = {
|
|
|
.con_screen_pos = fbcon_screen_pos,
|
|
|
.con_getxy = fbcon_getxy,
|
|
|
.con_resize = fbcon_resize,
|
|
|
+ .con_debug_enter = fbcon_debug_enter,
|
|
|
+ .con_debug_leave = fbcon_debug_leave,
|
|
|
};
|
|
|
|
|
|
static struct notifier_block fbcon_event_notifier = {
|