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
1183 console = vc->vc_num; in vt_compat_ioctl()
1208 ret = compat_kdfontop_ioctl(up, perm, &op, vc); in vt_compat_ioctl()
1213 ret = compat_unimap_ioctl(cmd, up, perm, vc); in vt_compat_ioctl()
1264 static void complete_change_console(struct vc_data *vc) in complete_change_console() argument
1277 switch_screen(vc); in complete_change_console()
1289 if (old_vc_mode != vc->vc_mode) { in complete_change_console()
1290 if (vc->vc_mode == KD_TEXT) in complete_change_console()
1301 if (vc->vt_mode.mode == VT_PROCESS) { in complete_change_console()
1307 if (kill_pid(vc->vt_pid, vc->vt_mode.acqsig, 1) != 0) { in complete_change_console()
1317 reset_vc(vc); in complete_change_console()
1319 if (old_vc_mode != vc->vc_mode) { in complete_change_console()
1320 if (vc->vc_mode == KD_TEXT) in complete_change_console()
1331 vt_event_post(VT_EVENT_SWITCH, old, vc->vc_num); in complete_change_console()
1340 struct vc_data *vc; in change_console() local
1360 vc = vc_cons[fg_console].d; in change_console()
1361 if (vc->vt_mode.mode == VT_PROCESS) { in change_console()
1370 vc->vt_newvt = new_vc->vc_num; in change_console()
1371 if (kill_pid(vc->vt_pid, vc->vt_mode.relsig, 1) == 0) { in change_console()
1389 reset_vc(vc); in change_console()
1399 if (vc->vc_mode == KD_GRAPHICS) in change_console()