Lines Matching refs:vc

65 static void complete_change_console(struct vc_data *vc);
266 do_unimap_ioctl(int cmd, struct unimapdesc __user *user_ud, int perm, struct vc_data *vc) in do_unimap_ioctl() argument
276 return con_set_unimap(vc, tmp.entry_ct, tmp.entries); in do_unimap_ioctl()
278 if (!perm && fg_console != vc->vc_num) in do_unimap_ioctl()
280 return con_get_unimap(vc, tmp.entry_ct, &(user_ud->entry_ct), tmp.entries); in do_unimap_ioctl()
288 struct vc_data *vc = NULL; in vt_disallocate() local
295 vc = vc_deallocate(vc_num); in vt_disallocate()
298 if (vc && vc_num >= MIN_NR_CONSOLES) { in vt_disallocate()
299 tty_port_destroy(&vc->port); in vt_disallocate()
300 kfree(vc); in vt_disallocate()
309 struct vc_data *vc[MAX_NR_CONSOLES]; in vt_disallocate_all() local
315 vc[i] = vc_deallocate(i); in vt_disallocate_all()
317 vc[i] = NULL; in vt_disallocate_all()
321 if (vc[i] && i >= MIN_NR_CONSOLES) { in vt_disallocate_all()
322 tty_port_destroy(&vc[i]->port); in vt_disallocate_all()
323 kfree(vc[i]); in vt_disallocate_all()
336 struct vc_data *vc = tty->driver_data; in vt_ioctl() local
345 console = vc->vc_num; in vt_ioctl()
480 if (vc->vc_mode == (unsigned char) arg) in vt_ioctl()
482 vc->vc_mode = (unsigned char) arg; in vt_ioctl()
497 uival = vc->vc_mode; in vt_ioctl()
608 vc->vt_mode = tmp; in vt_ioctl()
610 vc->vt_mode.frsig = 0; in vt_ioctl()
611 put_pid(vc->vt_pid); in vt_ioctl()
612 vc->vt_pid = get_pid(task_pid(current)); in vt_ioctl()
614 vc->vt_newvt = -1; in vt_ioctl()
625 memcpy(&tmp, &vc->vt_mode, sizeof(struct vt_mode)); in vt_ioctl()
758 if (vc->vt_mode.mode != VT_PROCESS) { in vt_ioctl()
766 if (vc->vt_newvt >= 0) { in vt_ioctl()
772 vc->vt_newvt = -1; in vt_ioctl()
780 newvt = vc->vt_newvt; in vt_ioctl()
781 vc->vt_newvt = -1; in vt_ioctl()
824 struct vc_data *vc; in vt_ioctl() local
835 vc = vc_cons[i].d; in vt_ioctl()
837 if (vc) { in vt_ioctl()
838 vc->vc_resize_user = 1; in vt_ioctl()
857 v.v_vlin = vc->vc_scan_lines; in vt_ioctl()
965 ret = con_font_op(vc, &op); in vt_ioctl()
998 con_clear_unimap(vc); in vt_ioctl()
1003 ret = do_unimap_ioctl(cmd, up, perm, vc); in vt_ioctl()
1017 ret = put_user(vc->vc_hi_font_mask, in vt_ioctl()
1030 void reset_vc(struct vc_data *vc) in reset_vc() argument
1032 vc->vc_mode = KD_TEXT; in reset_vc()
1033 vt_reset_unicode(vc->vc_num); in reset_vc()
1034 vc->vt_mode.mode = VT_AUTO; in reset_vc()
1035 vc->vt_mode.waitv = 0; in reset_vc()
1036 vc->vt_mode.relsig = 0; in reset_vc()
1037 vc->vt_mode.acqsig = 0; in reset_vc()
1038 vc->vt_mode.frsig = 0; in reset_vc()
1039 put_pid(vc->vt_pid); in reset_vc()
1040 vc->vt_pid = NULL; in reset_vc()
1041 vc->vt_newvt = -1; in reset_vc()
1043 reset_palette(vc); in reset_vc()
1048 struct vc *vc_con = in vc_SAK()
1049 container_of(work, struct vc, SAK_work); in vc_SAK()
1050 struct vc_data *vc; in vc_SAK() local
1054 vc = vc_con->d; in vc_SAK()
1055 if (vc) { in vc_SAK()
1057 tty = vc->port.tty; in vc_SAK()
1064 reset_vc(vc); in vc_SAK()
1127 int perm, struct console_font_op *op, struct vc_data *vc) in compat_kdfontop_ioctl() argument
1136 i = con_font_op(vc, op); in compat_kdfontop_ioctl()
1152 int perm, struct vc_data *vc) in compat_unimap_ioctl() argument
1164 return con_set_unimap(vc, tmp.entry_ct, tmp_entries); in compat_unimap_ioctl()
1166 if (!perm && fg_console != vc->vc_num) in compat_unimap_ioctl()
1168 return con_get_unimap(vc, tmp.entry_ct, &(user_ud->entry_ct), tmp_entries); in compat_unimap_ioctl()
1176 struct vc_data *vc = tty->driver_data; in vt_compat_ioctl() local
1178 unsigned int console = vc->vc_num; in vt_compat_ioctl()
1203 return compat_kdfontop_ioctl(up, perm, &op, vc); in vt_compat_ioctl()
1207 return compat_unimap_ioctl(cmd, up, perm, vc); in vt_compat_ioctl()
1251 static void complete_change_console(struct vc_data *vc) in complete_change_console() argument
1264 switch_screen(vc); in complete_change_console()
1276 if (old_vc_mode != vc->vc_mode) { in complete_change_console()
1277 if (vc->vc_mode == KD_TEXT) in complete_change_console()
1288 if (vc->vt_mode.mode == VT_PROCESS) { in complete_change_console()
1294 if (kill_pid(vc->vt_pid, vc->vt_mode.acqsig, 1) != 0) { in complete_change_console()
1304 reset_vc(vc); in complete_change_console()
1306 if (old_vc_mode != vc->vc_mode) { in complete_change_console()
1307 if (vc->vc_mode == KD_TEXT) in complete_change_console()
1318 vt_event_post(VT_EVENT_SWITCH, old, vc->vc_num); in complete_change_console()
1327 struct vc_data *vc; in change_console() local
1347 vc = vc_cons[fg_console].d; in change_console()
1348 if (vc->vt_mode.mode == VT_PROCESS) { in change_console()
1357 vc->vt_newvt = new_vc->vc_num; in change_console()
1358 if (kill_pid(vc->vt_pid, vc->vt_mode.relsig, 1) == 0) { in change_console()
1376 reset_vc(vc); in change_console()
1386 if (vc->vc_mode == KD_GRAPHICS) in change_console()