| tag | line | file | source code |
| info | 104 | arch/i386/kernel/vm86.c | struct vm86_struct info; |
| info | 114 | arch/i386/kernel/vm86.c | memcpy_fromfs(&info,v86,sizeof(info)); |
| info | 118 | arch/i386/kernel/vm86.c | info.regs.__null_ds = 0; |
| info | 119 | arch/i386/kernel/vm86.c | info.regs.__null_es = 0; |
| info | 120 | arch/i386/kernel/vm86.c | info.regs.__null_fs = 0; |
| info | 121 | arch/i386/kernel/vm86.c | info.regs.__null_gs = 0; |
| info | 127 | arch/i386/kernel/vm86.c | VEFLAGS = info.regs.eflags; |
| info | 128 | arch/i386/kernel/vm86.c | info.regs.eflags &= SAFE_MASK; |
| info | 129 | arch/i386/kernel/vm86.c | info.regs.eflags |= pt_regs->eflags & ~SAFE_MASK; |
| info | 130 | arch/i386/kernel/vm86.c | info.regs.eflags |= VM_MASK; |
| info | 132 | arch/i386/kernel/vm86.c | switch (info.cpu_type) { |
| info | 155 | arch/i386/kernel/vm86.c | current->tss.screen_bitmap = info.screen_bitmap; |
| info | 156 | arch/i386/kernel/vm86.c | if (info.flags & VM86_SCREEN_BITMAP) |
| info | 161 | arch/i386/kernel/vm86.c | :"r" (&info.regs)); |
| info | 679 | arch/i386/math-emu/fpu_entry.c | void math_abort(struct info * info, unsigned int signal) |
| info | 686 | arch/i386/math-emu/fpu_entry.c | __asm__("movl %0,%%esp ; ret": :"g" (((long) info)-4)); |
| info | 55 | arch/i386/math-emu/fpu_proto.h | extern void math_abort(struct info *info, unsigned int signal); |
| info | 21 | arch/i386/math-emu/fpu_system.h | #define SETUP_DATA_AREA(arg) FPU_info = (struct info *) &arg |
| info | 37 | arch/i386/math-emu/fpu_system.h | #define FPU_info (I387.soft.info) |
| info | 34 | arch/i386/math-emu/get_address.c | offsetof(struct info,___eax), |
| info | 35 | arch/i386/math-emu/get_address.c | offsetof(struct info,___ecx), |
| info | 36 | arch/i386/math-emu/get_address.c | offsetof(struct info,___edx), |
| info | 37 | arch/i386/math-emu/get_address.c | offsetof(struct info,___ebx), |
| info | 38 | arch/i386/math-emu/get_address.c | offsetof(struct info,___esp), |
| info | 39 | arch/i386/math-emu/get_address.c | offsetof(struct info,___ebp), |
| info | 40 | arch/i386/math-emu/get_address.c | offsetof(struct info,___esi), |
| info | 41 | arch/i386/math-emu/get_address.c | offsetof(struct info,___edi) |
| info | 47 | arch/i386/math-emu/get_address.c | offsetof(struct info,___cs), |
| info | 48 | arch/i386/math-emu/get_address.c | offsetof(struct info,___vm86_ds), |
| info | 49 | arch/i386/math-emu/get_address.c | offsetof(struct info,___vm86_es), |
| info | 50 | arch/i386/math-emu/get_address.c | offsetof(struct info,___vm86_fs), |
| info | 51 | arch/i386/math-emu/get_address.c | offsetof(struct info,___vm86_gs), |
| info | 52 | arch/i386/math-emu/get_address.c | offsetof(struct info,___ss), |
| info | 53 | arch/i386/math-emu/get_address.c | offsetof(struct info,___vm86_ds) |
| info | 60 | arch/i386/math-emu/get_address.c | offsetof(struct info,___cs), |
| info | 61 | arch/i386/math-emu/get_address.c | offsetof(struct info,___ds), |
| info | 62 | arch/i386/math-emu/get_address.c | offsetof(struct info,___es), |
| info | 63 | arch/i386/math-emu/get_address.c | offsetof(struct info,___fs), |
| info | 64 | arch/i386/math-emu/get_address.c | offsetof(struct info,___gs), |
| info | 65 | arch/i386/math-emu/get_address.c | offsetof(struct info,___ss), |
| info | 66 | arch/i386/math-emu/get_address.c | offsetof(struct info,___ds) |
| info | 479 | drivers/block/genhd.c | unsigned char info[128]; /* Informative text string */ |
| info | 842 | drivers/block/ide-cd.c | struct cdrom_info *info = &drive->cdrom_info; |
| info | 847 | drivers/block/ide-cd.c | info->nsectors_buffered); |
| info | 854 | drivers/block/ide-cd.c | if (info->sector_buffer == NULL) { |
| info | 855 | drivers/block/ide-cd.c | info->sector_buffer = (char *) kmalloc (SECTOR_BUFFER_SIZE, |
| info | 860 | drivers/block/ide-cd.c | if (info->sector_buffer == NULL) |
| info | 865 | drivers/block/ide-cd.c | if (info->nsectors_buffered == 0) |
| info | 866 | drivers/block/ide-cd.c | info->sector_buffered = sector; |
| info | 869 | drivers/block/ide-cd.c | dest = info->sector_buffer + info->nsectors_buffered * SECTOR_SIZE; |
| info | 874 | drivers/block/ide-cd.c | ++info->nsectors_buffered; |
| info | 1036 | drivers/block/ide-cd.c | struct cdrom_info *info = &drive->cdrom_info; |
| info | 1040 | drivers/block/ide-cd.c | if (info->sector_buffer == NULL) return 0; |
| info | 1045 | drivers/block/ide-cd.c | rq->sector >= info->sector_buffered && |
| info | 1046 | drivers/block/ide-cd.c | rq->sector < info->sector_buffered + info->nsectors_buffered) { |
| info | 1051 | drivers/block/ide-cd.c | info->sector_buffer + |
| info | 1052 | drivers/block/ide-cd.c | (rq->sector - info->sector_buffered) * SECTOR_SIZE, |
| info | 169 | drivers/block/ide.h | byte info[4]; |
| info | 309 | drivers/block/loop.c | struct loop_info info; |
| info | 315 | drivers/block/loop.c | memcpy_fromfs(&info, arg, sizeof(info)); |
| info | 316 | drivers/block/loop.c | if ((unsigned int) info.lo_encrypt_key_size > LO_KEY_SIZE) |
| info | 318 | drivers/block/loop.c | switch (info.lo_encrypt_type) { |
| info | 322 | drivers/block/loop.c | if (info.lo_encrypt_key_size < 0) |
| info | 327 | drivers/block/loop.c | if (info.lo_encrypt_key_size != 8) |
| info | 331 | drivers/block/loop.c | memcpy(lo->lo_des_init,info.lo_init,8); |
| info | 337 | drivers/block/loop.c | lo->lo_offset = info.lo_offset; |
| info | 338 | drivers/block/loop.c | strncpy(lo->lo_name, info.lo_name, LO_NAME_SIZE); |
| info | 339 | drivers/block/loop.c | lo->lo_encrypt_type = info.lo_encrypt_type; |
| info | 341 | drivers/block/loop.c | lo->lo_encrypt_key_size = info.lo_encrypt_key_size; |
| info | 342 | drivers/block/loop.c | if (info.lo_encrypt_key_size) |
| info | 343 | drivers/block/loop.c | memcpy(lo->lo_encrypt_key, info.lo_encrypt_key, |
| info | 344 | drivers/block/loop.c | info.lo_encrypt_key_size); |
| info | 351 | drivers/block/loop.c | struct loop_info info; |
| info | 357 | drivers/block/loop.c | memset(&info, 0, sizeof(info)); |
| info | 358 | drivers/block/loop.c | info.lo_number = lo->lo_number; |
| info | 359 | drivers/block/loop.c | info.lo_device = kdev_t_to_nr(lo->lo_inode->i_dev); |
| info | 360 | drivers/block/loop.c | info.lo_inode = lo->lo_inode->i_ino; |
| info | 361 | drivers/block/loop.c | info.lo_rdevice = kdev_t_to_nr(lo->lo_device); |
| info | 362 | drivers/block/loop.c | info.lo_offset = lo->lo_offset; |
| info | 363 | drivers/block/loop.c | info.lo_flags = lo->lo_flags; |
| info | 364 | drivers/block/loop.c | strncpy(info.lo_name, lo->lo_name, LO_NAME_SIZE); |
| info | 365 | drivers/block/loop.c | info.lo_encrypt_type = lo->lo_encrypt_type; |
| info | 367 | drivers/block/loop.c | info.lo_encrypt_key_size = lo->lo_encrypt_key_size; |
| info | 368 | drivers/block/loop.c | memcpy(info.lo_encrypt_key, lo->lo_encrypt_key, |
| info | 371 | drivers/block/loop.c | memcpy_tofs(arg, &info, sizeof(info)); |
| info | 39 | drivers/block/promise.h | u16 info; |
| info | 1704 | drivers/cdrom/mcdx.c | mcdx_requesttocdata(struct s_drive_stuff *stuffp, struct s_diskinfo *info, int tries) |
| info | 1710 | drivers/cdrom/mcdx.c | info->n_first = 0; |
| info | 1711 | drivers/cdrom/mcdx.c | info->n_last = 0; |
| info | 1713 | drivers/cdrom/mcdx.c | info->n_first = bcd2uint(buf[1]); |
| info | 1714 | drivers/cdrom/mcdx.c | info->n_last = bcd2uint(buf[2]); |
| info | 1715 | drivers/cdrom/mcdx.c | info->msf_leadout.minute = buf[3]; |
| info | 1716 | drivers/cdrom/mcdx.c | info->msf_leadout.second = buf[4]; |
| info | 1717 | drivers/cdrom/mcdx.c | info->msf_leadout.frame = buf[5]; |
| info | 1718 | drivers/cdrom/mcdx.c | info->msf_first.minute = buf[6]; |
| info | 1719 | drivers/cdrom/mcdx.c | info->msf_first.second = buf[7]; |
| info | 1720 | drivers/cdrom/mcdx.c | info->msf_first.frame = buf[8]; |
| info | 433 | drivers/cdrom/sjcd.c | struct sjcd_hw_disk_info info; |
| info | 460 | drivers/cdrom/sjcd.c | if( sjcd_load_response( &info, sizeof( info ) ) != 0 ){ |
| info | 464 | drivers/cdrom/sjcd.c | sjcd_first_track_no = bcd2bin( info.un.track_no ); |
| info | 489 | drivers/cdrom/sjcd.c | if( sjcd_load_response( &info, sizeof( info ) ) != 0 ){ |
| info | 493 | drivers/cdrom/sjcd.c | sjcd_last_track_no = bcd2bin( info.un.track_no ); |
| info | 547 | drivers/cdrom/sjcd.c | if( sjcd_load_response( &info, sizeof( info ) ) != 0 ){ |
| info | 551 | drivers/cdrom/sjcd.c | sjcd_disk_length.min = info.un.track_msf.min; |
| info | 552 | drivers/cdrom/sjcd.c | sjcd_disk_length.sec = info.un.track_msf.sec; |
| info | 553 | drivers/cdrom/sjcd.c | sjcd_disk_length.frame = info.un.track_msf.frame; |
| info | 450 | drivers/char/cyclades.c | serial_paranoia_check(struct cyclades_port *info, |
| info | 461 | drivers/char/cyclades.c | if (!info) { |
| info | 466 | drivers/char/cyclades.c | if( (long)info < (long)(&cy_port[0]) |
| info | 467 | drivers/char/cyclades.c | || (long)(&cy_port[NR_PORTS]) < (long)info ){ |
| info | 472 | drivers/char/cyclades.c | if (info->magic != CYCLADES_MAGIC) { |
| info | 546 | drivers/char/cyclades.c | struct cyclades_port *info = (struct cyclades_port *)tty->driver_data; |
| info | 552 | drivers/char/cyclades.c | printk("cy_stop ttyC%d\n", info->line); /* */ |
| info | 555 | drivers/char/cyclades.c | if (serial_paranoia_check(info, tty->device, "cy_stop")) |
| info | 558 | drivers/char/cyclades.c | cinfo = &cy_card[info->card]; |
| info | 560 | drivers/char/cyclades.c | channel = info->line - cinfo->first_line; |
| info | 564 | drivers/char/cyclades.c | (cy_card[info->card].base_addr + (cy_chip_offset[chip]<<index)); |
| info | 578 | drivers/char/cyclades.c | struct cyclades_port *info = (struct cyclades_port *)tty->driver_data; |
| info | 584 | drivers/char/cyclades.c | printk("cy_start ttyC%d\n", info->line); /* */ |
| info | 587 | drivers/char/cyclades.c | if (serial_paranoia_check(info, tty->device, "cy_start")) |
| info | 590 | drivers/char/cyclades.c | cinfo = &cy_card[info->card]; |
| info | 592 | drivers/char/cyclades.c | channel = info->line - cinfo->first_line; |
| info | 596 | drivers/char/cyclades.c | (cy_card[info->card].base_addr + (cy_chip_offset[chip]<<index)); |
| info | 614 | drivers/char/cyclades.c | cy_sched_event(struct cyclades_port *info, int event) |
| info | 616 | drivers/char/cyclades.c | info->event |= 1 << event; /* remember what kind of event and who */ |
| info | 617 | drivers/char/cyclades.c | queue_task_irq_off(&info->tqueue, &tq_cyclades); /* it belongs to */ |
| info | 669 | drivers/char/cyclades.c | struct cyclades_port *info; |
| info | 715 | drivers/char/cyclades.c | info = &cy_port[i]; |
| info | 716 | drivers/char/cyclades.c | info->last_active = jiffies; |
| info | 721 | drivers/char/cyclades.c | if(info->tty == 0){ |
| info | 732 | drivers/char/cyclades.c | tty = info->tty; |
| info | 736 | drivers/char/cyclades.c | if(data & info->ignore_status_mask){ |
| info | 741 | drivers/char/cyclades.c | if (data & info->read_status_mask){ |
| info | 747 | drivers/char/cyclades.c | if (info->flags & ASYNC_SAK){ |
| info | 796 | drivers/char/cyclades.c | ++info->mon.int_count; |
| info | 797 | drivers/char/cyclades.c | info->mon.char_count += char_count; |
| info | 798 | drivers/char/cyclades.c | if (char_count > info->mon.char_max) |
| info | 799 | drivers/char/cyclades.c | info->mon.char_max = char_count; |
| info | 800 | drivers/char/cyclades.c | info->mon.char_last = char_count; |
| info | 839 | drivers/char/cyclades.c | info = &cy_port[i]; |
| info | 840 | drivers/char/cyclades.c | info->last_active = jiffies; |
| info | 841 | drivers/char/cyclades.c | if(info->tty == 0){ |
| info | 847 | drivers/char/cyclades.c | char_count = info->xmit_fifo_size; |
| info | 850 | drivers/char/cyclades.c | if(info->x_char) { /* send special char */ |
| info | 851 | drivers/char/cyclades.c | outch = info->x_char; |
| info | 854 | drivers/char/cyclades.c | info->x_char = 0; |
| info | 857 | drivers/char/cyclades.c | if (info->x_break){ |
| info | 870 | drivers/char/cyclades.c | base_addr[CyTDR<<index] = info->x_break*200/HZ; |
| info | 874 | drivers/char/cyclades.c | info->x_break = 0; |
| info | 878 | drivers/char/cyclades.c | if (!info->xmit_cnt){ |
| info | 882 | drivers/char/cyclades.c | if (info->xmit_buf == 0){ |
| info | 886 | drivers/char/cyclades.c | if (info->tty->stopped || info->tty->hw_stopped){ |
| info | 901 | drivers/char/cyclades.c | outch = info->xmit_buf[info->xmit_tail]; |
| info | 903 | drivers/char/cyclades.c | info->xmit_cnt--; |
| info | 904 | drivers/char/cyclades.c | info->xmit_tail = (info->xmit_tail + 1) |
| info | 909 | drivers/char/cyclades.c | info->xmit_cnt--; |
| info | 910 | drivers/char/cyclades.c | info->xmit_tail = (info->xmit_tail + 1) |
| info | 921 | drivers/char/cyclades.c | if (info->xmit_cnt < WAKEUP_CHARS) { |
| info | 922 | drivers/char/cyclades.c | cy_sched_event(info, Cy_EVENT_WRITE_WAKEUP); |
| info | 936 | drivers/char/cyclades.c | info = &cy_port[channel + chip * 4 + cinfo->first_line]; |
| info | 937 | drivers/char/cyclades.c | info->last_active = jiffies; |
| info | 944 | drivers/char/cyclades.c | if(info->tty == 0){ /* nowhere to put the data, ignore it */ |
| info | 948 | drivers/char/cyclades.c | && (info->flags & ASYNC_CHECK_CD)){ |
| info | 950 | drivers/char/cyclades.c | cy_sched_event(info, Cy_EVENT_OPEN_WAKEUP); |
| info | 951 | drivers/char/cyclades.c | }else if(!((info->flags & ASYNC_CALLOUT_ACTIVE) |
| info | 952 | drivers/char/cyclades.c | &&(info->flags & ASYNC_CALLOUT_NOHUP))){ |
| info | 953 | drivers/char/cyclades.c | cy_sched_event(info, Cy_EVENT_HANGUP); |
| info | 957 | drivers/char/cyclades.c | && (info->flags & ASYNC_CTS_FLOW)){ |
| info | 958 | drivers/char/cyclades.c | if(info->tty->hw_stopped){ |
| info | 961 | drivers/char/cyclades.c | info->tty->hw_stopped = 0; |
| info | 963 | drivers/char/cyclades.c | cy_sched_event(info, Cy_EVENT_WRITE_WAKEUP); |
| info | 968 | drivers/char/cyclades.c | info->tty->hw_stopped = 1; |
| info | 1022 | drivers/char/cyclades.c | struct cyclades_port *info = (struct cyclades_port *) private_; |
| info | 1025 | drivers/char/cyclades.c | tty = info->tty; |
| info | 1029 | drivers/char/cyclades.c | if (clear_bit(Cy_EVENT_HANGUP, &info->event)) { |
| info | 1030 | drivers/char/cyclades.c | tty_hangup(info->tty); |
| info | 1031 | drivers/char/cyclades.c | wake_up_interruptible(&info->open_wait); |
| info | 1032 | drivers/char/cyclades.c | info->flags &= ~(ASYNC_NORMAL_ACTIVE| |
| info | 1035 | drivers/char/cyclades.c | if (clear_bit(Cy_EVENT_OPEN_WAKEUP, &info->event)) { |
| info | 1036 | drivers/char/cyclades.c | wake_up_interruptible(&info->open_wait); |
| info | 1038 | drivers/char/cyclades.c | if (clear_bit(Cy_EVENT_WRITE_WAKEUP, &info->event)) { |
| info | 1204 | drivers/char/cyclades.c | startup(struct cyclades_port * info) |
| info | 1210 | drivers/char/cyclades.c | if (info->flags & ASYNC_INITIALIZED){ |
| info | 1214 | drivers/char/cyclades.c | if (!info->type){ |
| info | 1215 | drivers/char/cyclades.c | if (info->tty){ |
| info | 1216 | drivers/char/cyclades.c | set_bit(TTY_IO_ERROR, &info->tty->flags); |
| info | 1220 | drivers/char/cyclades.c | if (!info->xmit_buf){ |
| info | 1221 | drivers/char/cyclades.c | info->xmit_buf = (unsigned char *) get_free_page (GFP_KERNEL); |
| info | 1222 | drivers/char/cyclades.c | if (!info->xmit_buf){ |
| info | 1227 | drivers/char/cyclades.c | config_setup(info); |
| info | 1229 | drivers/char/cyclades.c | card = info->card; |
| info | 1230 | drivers/char/cyclades.c | channel = (info->line) - (cy_card[card].first_line); |
| info | 1245 | drivers/char/cyclades.c | base_addr[CyRTPR<<index] = (info->default_timeout |
| info | 1246 | drivers/char/cyclades.c | ? info->default_timeout |
| info | 1261 | drivers/char/cyclades.c | info->flags |= ASYNC_INITIALIZED; |
| info | 1263 | drivers/char/cyclades.c | if (info->tty){ |
| info | 1264 | drivers/char/cyclades.c | clear_bit(TTY_IO_ERROR, &info->tty->flags); |
| info | 1266 | drivers/char/cyclades.c | info->xmit_cnt = info->xmit_head = info->xmit_tail = 0; |
| info | 1277 | drivers/char/cyclades.c | start_xmit( struct cyclades_port *info ) |
| info | 1283 | drivers/char/cyclades.c | card = info->card; |
| info | 1284 | drivers/char/cyclades.c | channel = (info->line) - (cy_card[card].first_line); |
| info | 1302 | drivers/char/cyclades.c | shutdown(struct cyclades_port * info) |
| info | 1308 | drivers/char/cyclades.c | if (!(info->flags & ASYNC_INITIALIZED)){ |
| info | 1312 | drivers/char/cyclades.c | card = info->card; |
| info | 1313 | drivers/char/cyclades.c | channel = info->line - cy_card[card].first_line; |
| info | 1332 | drivers/char/cyclades.c | if (info->xmit_buf){ |
| info | 1334 | drivers/char/cyclades.c | temp = info->xmit_buf; |
| info | 1335 | drivers/char/cyclades.c | info->xmit_buf = 0; |
| info | 1340 | drivers/char/cyclades.c | if (!info->tty || (info->tty->termios->c_cflag & HUPCL)) { |
| info | 1352 | drivers/char/cyclades.c | if (info->tty){ |
| info | 1353 | drivers/char/cyclades.c | set_bit(TTY_IO_ERROR, &info->tty->flags); |
| info | 1355 | drivers/char/cyclades.c | info->flags &= ~ASYNC_INITIALIZED; |
| info | 1368 | drivers/char/cyclades.c | config_setup(struct cyclades_port * info) |
| info | 1376 | drivers/char/cyclades.c | if (!info->tty || !info->tty->termios){ |
| info | 1379 | drivers/char/cyclades.c | if (info->line == -1){ |
| info | 1382 | drivers/char/cyclades.c | cflag = info->tty->termios->c_cflag; |
| info | 1405 | drivers/char/cyclades.c | info->tty->termios->c_cflag &= ~CBAUDEX; |
| info | 1409 | drivers/char/cyclades.c | if ((info->flags & ASYNC_SPD_MASK) == ASYNC_SPD_HI) |
| info | 1411 | drivers/char/cyclades.c | if ((info->flags & ASYNC_SPD_MASK) == ASYNC_SPD_VHI) |
| info | 1414 | drivers/char/cyclades.c | info->tbpr = baud_bpr[i]; /* Tx BPR */ |
| info | 1415 | drivers/char/cyclades.c | info->tco = baud_co[i]; /* Tx CO */ |
| info | 1416 | drivers/char/cyclades.c | info->rbpr = baud_bpr[i]; /* Rx BPR */ |
| info | 1417 | drivers/char/cyclades.c | info->rco = baud_co[i]; /* Rx CO */ |
| info | 1419 | drivers/char/cyclades.c | info->timeout = (info->xmit_fifo_size*HZ*30/269) + 2; |
| info | 1422 | drivers/char/cyclades.c | info->timeout = (info->xmit_fifo_size*HZ*15/baud_table[i]) + 2; |
| info | 1425 | drivers/char/cyclades.c | info->timeout = 0; |
| info | 1432 | drivers/char/cyclades.c | info->cor5 = 0; |
| info | 1433 | drivers/char/cyclades.c | info->cor4 = 0; |
| info | 1434 | drivers/char/cyclades.c | info->cor3 = (info->default_threshold |
| info | 1435 | drivers/char/cyclades.c | ? info->default_threshold |
| info | 1437 | drivers/char/cyclades.c | info->cor2 = CyETC; |
| info | 1440 | drivers/char/cyclades.c | info->cor1 = Cy_5_BITS; |
| info | 1443 | drivers/char/cyclades.c | info->cor1 = Cy_6_BITS; |
| info | 1446 | drivers/char/cyclades.c | info->cor1 = Cy_7_BITS; |
| info | 1449 | drivers/char/cyclades.c | info->cor1 = Cy_8_BITS; |
| info | 1453 | drivers/char/cyclades.c | info->cor1 |= Cy_2_STOP; |
| info | 1457 | drivers/char/cyclades.c | info->cor1 |= CyPARITY_O; |
| info | 1459 | drivers/char/cyclades.c | info->cor1 |= CyPARITY_E; |
| info | 1462 | drivers/char/cyclades.c | info->cor1 |= CyPARITY_NONE; |
| info | 1467 | drivers/char/cyclades.c | info->flags |= ASYNC_CTS_FLOW; |
| info | 1468 | drivers/char/cyclades.c | info->cor2 |= CyCtsAE; |
| info | 1470 | drivers/char/cyclades.c | info->flags &= ~ASYNC_CTS_FLOW; |
| info | 1471 | drivers/char/cyclades.c | info->cor2 &= ~CyCtsAE; |
| info | 1474 | drivers/char/cyclades.c | info->flags &= ~ASYNC_CHECK_CD; |
| info | 1476 | drivers/char/cyclades.c | info->flags |= ASYNC_CHECK_CD; |
| info | 1488 | drivers/char/cyclades.c | card = info->card; |
| info | 1489 | drivers/char/cyclades.c | channel = (info->line) - (cy_card[card].first_line); |
| info | 1501 | drivers/char/cyclades.c | base_addr[CyTCOR<<index] = info->tco; |
| info | 1502 | drivers/char/cyclades.c | base_addr[CyTBPR<<index] = info->tbpr; |
| info | 1503 | drivers/char/cyclades.c | base_addr[CyRCOR<<index] = info->rco; |
| info | 1504 | drivers/char/cyclades.c | base_addr[CyRBPR<<index] = info->rbpr; |
| info | 1508 | drivers/char/cyclades.c | base_addr[CySCHR1<<index] = START_CHAR(info->tty); |
| info | 1509 | drivers/char/cyclades.c | base_addr[CySCHR2<<index] = STOP_CHAR(info->tty); |
| info | 1510 | drivers/char/cyclades.c | base_addr[CyCOR1<<index] = info->cor1; |
| info | 1511 | drivers/char/cyclades.c | base_addr[CyCOR2<<index] = info->cor2; |
| info | 1512 | drivers/char/cyclades.c | base_addr[CyCOR3<<index] = info->cor3; |
| info | 1513 | drivers/char/cyclades.c | base_addr[CyCOR4<<index] = info->cor4; |
| info | 1514 | drivers/char/cyclades.c | base_addr[CyCOR5<<index] = info->cor5; |
| info | 1520 | drivers/char/cyclades.c | base_addr[CyRTPR<<index] = (info->default_timeout |
| info | 1521 | drivers/char/cyclades.c | ? info->default_timeout |
| info | 1524 | drivers/char/cyclades.c | if (C_CLOCAL(info->tty)) { |
| info | 1552 | drivers/char/cyclades.c | if (info->tty){ |
| info | 1553 | drivers/char/cyclades.c | clear_bit(TTY_IO_ERROR, &info->tty->flags); |
| info | 1564 | drivers/char/cyclades.c | struct cyclades_port *info = (struct cyclades_port *)tty->driver_data; |
| info | 1568 | drivers/char/cyclades.c | printk("cy_put_char ttyC%d\n", info->line); |
| info | 1571 | drivers/char/cyclades.c | if (serial_paranoia_check(info, tty->device, "cy_put_char")) |
| info | 1574 | drivers/char/cyclades.c | if (!tty || !info->xmit_buf) |
| info | 1578 | drivers/char/cyclades.c | if (info->xmit_cnt >= PAGE_SIZE - 1) { |
| info | 1583 | drivers/char/cyclades.c | info->xmit_buf[info->xmit_head++] = ch; |
| info | 1584 | drivers/char/cyclades.c | info->xmit_head &= PAGE_SIZE - 1; |
| info | 1585 | drivers/char/cyclades.c | info->xmit_cnt++; |
| info | 1593 | drivers/char/cyclades.c | struct cyclades_port *info = (struct cyclades_port *)tty->driver_data; |
| info | 1599 | drivers/char/cyclades.c | printk("cy_flush_chars ttyC%d\n", info->line); /* */ |
| info | 1602 | drivers/char/cyclades.c | if (serial_paranoia_check(info, tty->device, "cy_flush_chars")) |
| info | 1605 | drivers/char/cyclades.c | if (info->xmit_cnt <= 0 || tty->stopped |
| info | 1606 | drivers/char/cyclades.c | || tty->hw_stopped || !info->xmit_buf) |
| info | 1609 | drivers/char/cyclades.c | card = info->card; |
| info | 1610 | drivers/char/cyclades.c | channel = info->line - cy_card[card].first_line; |
| info | 1634 | drivers/char/cyclades.c | struct cyclades_port *info = (struct cyclades_port *)tty->driver_data; |
| info | 1639 | drivers/char/cyclades.c | printk("cy_write ttyC%d\n", info->line); /* */ |
| info | 1642 | drivers/char/cyclades.c | if (serial_paranoia_check(info, tty->device, "cy_write")){ |
| info | 1646 | drivers/char/cyclades.c | if (!tty || !info->xmit_buf || !tmp_buf){ |
| info | 1652 | drivers/char/cyclades.c | c = MIN(count, MIN(SERIAL_XMIT_SIZE - info->xmit_cnt - 1, |
| info | 1653 | drivers/char/cyclades.c | SERIAL_XMIT_SIZE - info->xmit_head)); |
| info | 1662 | drivers/char/cyclades.c | c = MIN(c, MIN(SERIAL_XMIT_SIZE - info->xmit_cnt - 1, |
| info | 1663 | drivers/char/cyclades.c | SERIAL_XMIT_SIZE - info->xmit_head)); |
| info | 1664 | drivers/char/cyclades.c | memcpy(info->xmit_buf + info->xmit_head, tmp_buf, c); |
| info | 1667 | drivers/char/cyclades.c | memcpy(info->xmit_buf + info->xmit_head, buf, c); |
| info | 1668 | drivers/char/cyclades.c | info->xmit_head = (info->xmit_head + c) & (SERIAL_XMIT_SIZE-1); |
| info | 1669 | drivers/char/cyclades.c | info->xmit_cnt += c; |
| info | 1677 | drivers/char/cyclades.c | if (info->xmit_cnt |
| info | 1680 | drivers/char/cyclades.c | start_xmit(info); |
| info | 1689 | drivers/char/cyclades.c | struct cyclades_port *info = (struct cyclades_port *)tty->driver_data; |
| info | 1693 | drivers/char/cyclades.c | printk("cy_write_room ttyC%d\n", info->line); /* */ |
| info | 1696 | drivers/char/cyclades.c | if (serial_paranoia_check(info, tty->device, "cy_write_room")) |
| info | 1698 | drivers/char/cyclades.c | ret = PAGE_SIZE - info->xmit_cnt - 1; |
| info | 1708 | drivers/char/cyclades.c | struct cyclades_port *info = (struct cyclades_port *)tty->driver_data; |
| info | 1711 | drivers/char/cyclades.c | printk("cy_chars_in_buffer ttyC%d %d\n", info->line, info->xmit_cnt); /* */ |
| info | 1714 | drivers/char/cyclades.c | if (serial_paranoia_check(info, tty->device, "cy_chars_in_buffer")) |
| info | 1717 | drivers/char/cyclades.c | return info->xmit_cnt; |
| info | 1724 | drivers/char/cyclades.c | struct cyclades_port *info = (struct cyclades_port *)tty->driver_data; |
| info | 1728 | drivers/char/cyclades.c | printk("cy_flush_buffer ttyC%d\n", info->line); /* */ |
| info | 1731 | drivers/char/cyclades.c | if (serial_paranoia_check(info, tty->device, "cy_flush_buffer")) |
| info | 1734 | drivers/char/cyclades.c | info->xmit_cnt = info->xmit_head = info->xmit_tail = 0; |
| info | 1750 | drivers/char/cyclades.c | struct cyclades_port *info = (struct cyclades_port *)tty->driver_data; |
| info | 1760 | drivers/char/cyclades.c | printk("cy_throttle ttyC%d\n", info->line); |
| info | 1763 | drivers/char/cyclades.c | if (serial_paranoia_check(info, tty->device, "cy_nthrottle")){ |
| info | 1768 | drivers/char/cyclades.c | info->x_char = STOP_CHAR(tty); |
| info | 1772 | drivers/char/cyclades.c | card = info->card; |
| info | 1773 | drivers/char/cyclades.c | channel = info->line - cy_card[card].first_line; |
| info | 1792 | drivers/char/cyclades.c | struct cyclades_port *info = (struct cyclades_port *)tty->driver_data; |
| info | 1802 | drivers/char/cyclades.c | printk("cy_unthrottle ttyC%d\n", info->line); |
| info | 1805 | drivers/char/cyclades.c | if (serial_paranoia_check(info, tty->device, "cy_nthrottle")){ |
| info | 1810 | drivers/char/cyclades.c | info->x_char = START_CHAR(tty); |
| info | 1814 | drivers/char/cyclades.c | card = info->card; |
| info | 1815 | drivers/char/cyclades.c | channel = info->line - cy_card[card].first_line; |
| info | 1831 | drivers/char/cyclades.c | get_serial_info(struct cyclades_port * info, |
| info | 1835 | drivers/char/cyclades.c | struct cyclades_card *cinfo = &cy_card[info->card]; |
| info | 1840 | drivers/char/cyclades.c | tmp.type = info->type; |
| info | 1841 | drivers/char/cyclades.c | tmp.line = info->line; |
| info | 1842 | drivers/char/cyclades.c | tmp.port = info->card * 0x100 + info->line - cinfo->first_line; |
| info | 1844 | drivers/char/cyclades.c | tmp.flags = info->flags; |
| info | 1846 | drivers/char/cyclades.c | tmp.close_delay = info->close_delay; |
| info | 1854 | drivers/char/cyclades.c | set_serial_info(struct cyclades_port * info, |
| info | 1863 | drivers/char/cyclades.c | old_info = *info; |
| info | 1866 | drivers/char/cyclades.c | if ((new_serial.close_delay != info->close_delay) || |
| info | 1868 | drivers/char/cyclades.c | (info->flags & ASYNC_FLAGS & ~ASYNC_USR_MASK))) |
| info | 1870 | drivers/char/cyclades.c | info->flags = ((info->flags & ~ASYNC_USR_MASK) | |
| info | 1881 | drivers/char/cyclades.c | info->flags = ((info->flags & ~ASYNC_FLAGS) | |
| info | 1883 | drivers/char/cyclades.c | info->close_delay = new_serial.close_delay; |
| info | 1887 | drivers/char/cyclades.c | if (info->flags & ASYNC_INITIALIZED){ |
| info | 1888 | drivers/char/cyclades.c | config_setup(info); |
| info | 1891 | drivers/char/cyclades.c | return startup(info); |
| info | 1896 | drivers/char/cyclades.c | get_modem_info(struct cyclades_port * info, unsigned int *value) |
| info | 1904 | drivers/char/cyclades.c | card = info->card; |
| info | 1905 | drivers/char/cyclades.c | channel = (info->line) - (cy_card[card].first_line); |
| info | 1929 | drivers/char/cyclades.c | set_modem_info(struct cyclades_port * info, unsigned int cmd, |
| info | 1937 | drivers/char/cyclades.c | card = info->card; |
| info | 1938 | drivers/char/cyclades.c | channel = (info->line) - (cy_card[card].first_line); |
| info | 2021 | drivers/char/cyclades.c | send_break( struct cyclades_port * info, int duration) |
| info | 2025 | drivers/char/cyclades.c | info->x_break = duration; |
| info | 2026 | drivers/char/cyclades.c | if (!info->xmit_cnt ) { |
| info | 2027 | drivers/char/cyclades.c | start_xmit(info); |
| info | 2032 | drivers/char/cyclades.c | get_mon_info(struct cyclades_port * info, struct cyclades_monitor * mon) |
| info | 2035 | drivers/char/cyclades.c | memcpy_tofs(mon, &info->mon, sizeof(struct cyclades_monitor)); |
| info | 2036 | drivers/char/cyclades.c | info->mon.int_count = 0; |
| info | 2037 | drivers/char/cyclades.c | info->mon.char_count = 0; |
| info | 2038 | drivers/char/cyclades.c | info->mon.char_max = 0; |
| info | 2039 | drivers/char/cyclades.c | info->mon.char_last = 0; |
| info | 2044 | drivers/char/cyclades.c | set_threshold(struct cyclades_port * info, unsigned long value) |
| info | 2049 | drivers/char/cyclades.c | card = info->card; |
| info | 2050 | drivers/char/cyclades.c | channel = info->line - cy_card[card].first_line; |
| info | 2057 | drivers/char/cyclades.c | info->cor3 &= ~CyREC_FIFO; |
| info | 2058 | drivers/char/cyclades.c | info->cor3 |= value & CyREC_FIFO; |
| info | 2059 | drivers/char/cyclades.c | base_addr[CyCOR3<<index] = info->cor3; |
| info | 2065 | drivers/char/cyclades.c | get_threshold(struct cyclades_port * info, unsigned long *value) |
| info | 2071 | drivers/char/cyclades.c | card = info->card; |
| info | 2072 | drivers/char/cyclades.c | channel = info->line - cy_card[card].first_line; |
| info | 2085 | drivers/char/cyclades.c | set_default_threshold(struct cyclades_port * info, unsigned long value) |
| info | 2087 | drivers/char/cyclades.c | info->default_threshold = value & 0x0f; |
| info | 2092 | drivers/char/cyclades.c | get_default_threshold(struct cyclades_port * info, unsigned long *value) |
| info | 2094 | drivers/char/cyclades.c | put_fs_long(info->default_threshold,value); |
| info | 2099 | drivers/char/cyclades.c | set_timeout(struct cyclades_port * info, unsigned long value) |
| info | 2104 | drivers/char/cyclades.c | card = info->card; |
| info | 2105 | drivers/char/cyclades.c | channel = info->line - cy_card[card].first_line; |
| info | 2117 | drivers/char/cyclades.c | get_timeout(struct cyclades_port * info, unsigned long *value) |
| info | 2123 | drivers/char/cyclades.c | card = info->card; |
| info | 2124 | drivers/char/cyclades.c | channel = info->line - cy_card[card].first_line; |
| info | 2137 | drivers/char/cyclades.c | set_default_timeout(struct cyclades_port * info, unsigned long value) |
| info | 2139 | drivers/char/cyclades.c | info->default_timeout = value & 0xff; |
| info | 2144 | drivers/char/cyclades.c | get_default_timeout(struct cyclades_port * info, unsigned long *value) |
| info | 2146 | drivers/char/cyclades.c | put_fs_long(info->default_timeout,value); |
| info | 2155 | drivers/char/cyclades.c | struct cyclades_port * info = (struct cyclades_port *)tty->driver_data; |
| info | 2159 | drivers/char/cyclades.c | printk("cy_ioctl ttyC%d, cmd = %x arg = %lx\n", info->line, cmd, arg); /* */ |
| info | 2170 | drivers/char/cyclades.c | ret_val = get_mon_info(info, (struct cyclades_monitor *)arg); |
| info | 2179 | drivers/char/cyclades.c | ret_val = get_threshold(info, (unsigned long *)arg); |
| info | 2182 | drivers/char/cyclades.c | ret_val = set_threshold(info, (unsigned long)arg); |
| info | 2191 | drivers/char/cyclades.c | ret_val = get_default_threshold(info, (unsigned long *)arg); |
| info | 2194 | drivers/char/cyclades.c | ret_val = set_default_threshold(info, (unsigned long)arg); |
| info | 2203 | drivers/char/cyclades.c | ret_val = get_timeout(info, (unsigned long *)arg); |
| info | 2206 | drivers/char/cyclades.c | ret_val = set_timeout(info, (unsigned long)arg); |
| info | 2215 | drivers/char/cyclades.c | ret_val = get_default_timeout(info, (unsigned long *)arg); |
| info | 2218 | drivers/char/cyclades.c | ret_val = set_default_timeout(info, (unsigned long)arg); |
| info | 2226 | drivers/char/cyclades.c | send_break(info, HZ/4); /* 1/4 second */ |
| info | 2233 | drivers/char/cyclades.c | send_break(info, arg ? arg*(HZ/10) : HZ/4); |
| info | 2238 | drivers/char/cyclades.c | ret_val = set_modem_info(info, cmd, (unsigned int *) arg); |
| info | 2265 | drivers/char/cyclades.c | ret_val = get_modem_info(info, (unsigned int *) arg); |
| info | 2274 | drivers/char/cyclades.c | ret_val = get_serial_info(info, |
| info | 2278 | drivers/char/cyclades.c | ret_val = set_serial_info(info, |
| info | 2298 | drivers/char/cyclades.c | struct cyclades_port *info = (struct cyclades_port *)tty->driver_data; |
| info | 2301 | drivers/char/cyclades.c | printk("cy_set_termios ttyC%d\n", info->line); |
| info | 2306 | drivers/char/cyclades.c | config_setup(info); |
| info | 2316 | drivers/char/cyclades.c | wake_up_interruptible(&info->open_wait); |
| info | 2326 | drivers/char/cyclades.c | struct cyclades_port * info = (struct cyclades_port *)tty->driver_data; |
| info | 2330 | drivers/char/cyclades.c | printk("cy_close ttyC%d\n", info->line); |
| info | 2333 | drivers/char/cyclades.c | if (!info |
| info | 2334 | drivers/char/cyclades.c | || serial_paranoia_check(info, tty->device, "cy_close")){ |
| info | 2338 | drivers/char/cyclades.c | printk("cy_close ttyC%d, count = %d\n", info->line, info->count); |
| info | 2349 | drivers/char/cyclades.c | if ((tty->count == 1) && (info->count != 1)) { |
| info | 2358 | drivers/char/cyclades.c | "info->count is %d\n", info->count); |
| info | 2359 | drivers/char/cyclades.c | info->count = 1; |
| info | 2362 | drivers/char/cyclades.c | printk("cyc: %d(%d): decrementing count to %d\n", __LINE__, current->pid, info->count - 1); |
| info | 2364 | drivers/char/cyclades.c | if (--info->count < 0) { |
| info | 2368 | drivers/char/cyclades.c | info->count = 0; |
| info | 2370 | drivers/char/cyclades.c | if (info->count) |
| info | 2376 | drivers/char/cyclades.c | info->flags |= ASYNC_CLOSING; |
| info | 2381 | drivers/char/cyclades.c | if (info->flags & ASYNC_NORMAL_ACTIVE) |
| info | 2382 | drivers/char/cyclades.c | info->normal_termios = *tty->termios; |
| info | 2383 | drivers/char/cyclades.c | if (info->flags & ASYNC_CALLOUT_ACTIVE) |
| info | 2384 | drivers/char/cyclades.c | info->callout_termios = *tty->termios; |
| info | 2385 | drivers/char/cyclades.c | if (info->flags & ASYNC_INITIALIZED) |
| info | 2387 | drivers/char/cyclades.c | shutdown(info); |
| info | 2392 | drivers/char/cyclades.c | info->event = 0; |
| info | 2393 | drivers/char/cyclades.c | info->tty = 0; |
| info | 2394 | drivers/char/cyclades.c | if (info->blocked_open) { |
| info | 2395 | drivers/char/cyclades.c | if (info->close_delay) { |
| info | 2397 | drivers/char/cyclades.c | current->timeout = jiffies + info->close_delay; |
| info | 2400 | drivers/char/cyclades.c | wake_up_interruptible(&info->open_wait); |
| info | 2402 | drivers/char/cyclades.c | info->flags &= ~(ASYNC_NORMAL_ACTIVE|ASYNC_CALLOUT_ACTIVE| |
| info | 2404 | drivers/char/cyclades.c | wake_up_interruptible(&info->close_wait); |
| info | 2421 | drivers/char/cyclades.c | struct cyclades_port * info = (struct cyclades_port *)tty->driver_data; |
| info | 2424 | drivers/char/cyclades.c | printk("cy_hangup ttyC%d\n", info->line); /* */ |
| info | 2427 | drivers/char/cyclades.c | if (serial_paranoia_check(info, tty->device, "cy_hangup")) |
| info | 2430 | drivers/char/cyclades.c | shutdown(info); |
| info | 2431 | drivers/char/cyclades.c | info->event = 0; |
| info | 2432 | drivers/char/cyclades.c | info->count = 0; |
| info | 2436 | drivers/char/cyclades.c | info->tty = 0; |
| info | 2437 | drivers/char/cyclades.c | info->flags &= ~(ASYNC_NORMAL_ACTIVE|ASYNC_CALLOUT_ACTIVE); |
| info | 2438 | drivers/char/cyclades.c | wake_up_interruptible(&info->open_wait); |
| info | 2451 | drivers/char/cyclades.c | struct cyclades_port *info) |
| info | 2464 | drivers/char/cyclades.c | if (info->flags & ASYNC_CLOSING) { |
| info | 2465 | drivers/char/cyclades.c | interruptible_sleep_on(&info->close_wait); |
| info | 2466 | drivers/char/cyclades.c | if (info->flags & ASYNC_HUP_NOTIFY){ |
| info | 2478 | drivers/char/cyclades.c | if (info->flags & ASYNC_NORMAL_ACTIVE){ |
| info | 2481 | drivers/char/cyclades.c | if ((info->flags & ASYNC_CALLOUT_ACTIVE) && |
| info | 2482 | drivers/char/cyclades.c | (info->flags & ASYNC_SESSION_LOCKOUT) && |
| info | 2483 | drivers/char/cyclades.c | (info->session != current->session)){ |
| info | 2486 | drivers/char/cyclades.c | if ((info->flags & ASYNC_CALLOUT_ACTIVE) && |
| info | 2487 | drivers/char/cyclades.c | (info->flags & ASYNC_PGRP_LOCKOUT) && |
| info | 2488 | drivers/char/cyclades.c | (info->pgrp != current->pgrp)){ |
| info | 2491 | drivers/char/cyclades.c | info->flags |= ASYNC_CALLOUT_ACTIVE; |
| info | 2500 | drivers/char/cyclades.c | if (info->flags & ASYNC_CALLOUT_ACTIVE){ |
| info | 2503 | drivers/char/cyclades.c | info->flags |= ASYNC_NORMAL_ACTIVE; |
| info | 2515 | drivers/char/cyclades.c | add_wait_queue(&info->open_wait, &wait); |
| info | 2518 | drivers/char/cyclades.c | info->line, info->count);/**/ |
| info | 2520 | drivers/char/cyclades.c | info->count--; |
| info | 2522 | drivers/char/cyclades.c | printk("cyc: %d(%d): decrementing count to %d\n", __LINE__, current->pid, info->count); |
| info | 2524 | drivers/char/cyclades.c | info->blocked_open++; |
| info | 2526 | drivers/char/cyclades.c | cinfo = &cy_card[info->card]; |
| info | 2527 | drivers/char/cyclades.c | channel = info->line - cinfo->first_line; |
| info | 2535 | drivers/char/cyclades.c | if (!(info->flags & ASYNC_CALLOUT_ACTIVE)){ |
| info | 2547 | drivers/char/cyclades.c | || !(info->flags & ASYNC_INITIALIZED) ){ |
| info | 2548 | drivers/char/cyclades.c | if (info->flags & ASYNC_HUP_NOTIFY) { |
| info | 2557 | drivers/char/cyclades.c | if (!(info->flags & ASYNC_CALLOUT_ACTIVE) |
| info | 2558 | drivers/char/cyclades.c | && !(info->flags & ASYNC_CLOSING) |
| info | 2571 | drivers/char/cyclades.c | info->line, info->count);/**/ |
| info | 2576 | drivers/char/cyclades.c | remove_wait_queue(&info->open_wait, &wait); |
| info | 2578 | drivers/char/cyclades.c | info->count++; |
| info | 2580 | drivers/char/cyclades.c | printk("cyc: %d(%d): incrementing count to %d\n", __LINE__, current->pid, info->count); |
| info | 2583 | drivers/char/cyclades.c | info->blocked_open--; |
| info | 2586 | drivers/char/cyclades.c | info->line, info->count);/**/ |
| info | 2590 | drivers/char/cyclades.c | info->flags |= ASYNC_NORMAL_ACTIVE; |
| info | 2601 | drivers/char/cyclades.c | struct cyclades_port *info; |
| info | 2608 | drivers/char/cyclades.c | info = &cy_port[line]; |
| info | 2609 | drivers/char/cyclades.c | if (info->line < 0){ |
| info | 2613 | drivers/char/cyclades.c | printk("cy_open ttyC%d\n", info->line); /* */ |
| info | 2615 | drivers/char/cyclades.c | if (serial_paranoia_check(info, tty->device, "cy_open")){ |
| info | 2619 | drivers/char/cyclades.c | printk("cy_open ttyC%d, count = %d\n", info->line, info->count);/**/ |
| info | 2621 | drivers/char/cyclades.c | info->count++; |
| info | 2623 | drivers/char/cyclades.c | printk("cyc: %d(%d): incrementing count to %d\n", __LINE__, current->pid, info->count); |
| info | 2625 | drivers/char/cyclades.c | tty->driver_data = info; |
| info | 2626 | drivers/char/cyclades.c | info->tty = tty; |
| info | 2635 | drivers/char/cyclades.c | if ((info->count == 1) && (info->flags & ASYNC_SPLIT_TERMIOS)) { |
| info | 2637 | drivers/char/cyclades.c | *tty->termios = info->normal_termios; |
| info | 2639 | drivers/char/cyclades.c | *tty->termios = info->callout_termios; |
| info | 2644 | drivers/char/cyclades.c | retval = startup(info); |
| info | 2649 | drivers/char/cyclades.c | retval = block_til_ready(tty, filp, info); |
| info | 2658 | drivers/char/cyclades.c | info->session = current->session; |
| info | 2659 | drivers/char/cyclades.c | info->pgrp = current->pgrp; |
| info | 2775 | drivers/char/cyclades.c | struct cyclades_port *info; |
| info | 2874 | drivers/char/cyclades.c | info = &cy_port[port]; |
| info | 2875 | drivers/char/cyclades.c | info->magic = CYCLADES_MAGIC; |
| info | 2876 | drivers/char/cyclades.c | info->type = PORT_CIRRUS; |
| info | 2877 | drivers/char/cyclades.c | info->card = board; |
| info | 2878 | drivers/char/cyclades.c | info->line = port; |
| info | 2879 | drivers/char/cyclades.c | info->flags = STD_COM_FLAGS; |
| info | 2880 | drivers/char/cyclades.c | info->tty = 0; |
| info | 2881 | drivers/char/cyclades.c | info->xmit_fifo_size = 12; |
| info | 2882 | drivers/char/cyclades.c | info->cor1 = CyPARITY_NONE|Cy_1_STOP|Cy_8_BITS; |
| info | 2883 | drivers/char/cyclades.c | info->cor2 = CyETC; |
| info | 2884 | drivers/char/cyclades.c | info->cor3 = 0x08; /* _very_ small receive threshold */ |
| info | 2885 | drivers/char/cyclades.c | info->cor4 = 0; |
| info | 2886 | drivers/char/cyclades.c | info->cor5 = 0; |
| info | 2887 | drivers/char/cyclades.c | info->tbpr = baud_bpr[13]; /* Tx BPR */ |
| info | 2888 | drivers/char/cyclades.c | info->tco = baud_co[13]; /* Tx CO */ |
| info | 2889 | drivers/char/cyclades.c | info->rbpr = baud_bpr[13]; /* Rx BPR */ |
| info | 2890 | drivers/char/cyclades.c | info->rco = baud_co[13]; /* Rx CO */ |
| info | 2891 | drivers/char/cyclades.c | info->close_delay = 0; |
| info | 2892 | drivers/char/cyclades.c | info->x_char = 0; |
| info | 2893 | drivers/char/cyclades.c | info->event = 0; |
| info | 2894 | drivers/char/cyclades.c | info->count = 0; |
| info | 2898 | drivers/char/cyclades.c | info->blocked_open = 0; |
| info | 2899 | drivers/char/cyclades.c | info->default_threshold = 0; |
| info | 2900 | drivers/char/cyclades.c | info->default_timeout = 0; |
| info | 2901 | drivers/char/cyclades.c | info->tqueue.routine = do_softint; |
| info | 2902 | drivers/char/cyclades.c | info->tqueue.data = info; |
| info | 2903 | drivers/char/cyclades.c | info->callout_termios =cy_callout_driver.init_termios; |
| info | 2904 | drivers/char/cyclades.c | info->normal_termios = cy_serial_driver.init_termios; |
| info | 2905 | drivers/char/cyclades.c | info->open_wait = 0; |
| info | 2906 | drivers/char/cyclades.c | info->close_wait = 0; |
| info | 2909 | drivers/char/cyclades.c | info->read_status_mask = CyTIMEOUT| CySPECHAR| CyBREAK |
| info | 3144 | drivers/char/cyclades.c | struct cyclades_port * info; |
| info | 3147 | drivers/char/cyclades.c | info = &cy_port[line_num]; |
| info | 3148 | drivers/char/cyclades.c | card = info->card; |
| info | 3150 | drivers/char/cyclades.c | channel = (info->line) - (cy_card[card].first_line); |
| info | 3162 | drivers/char/cyclades.c | info->card, info->line, info->flags); |
| info | 3164 | drivers/char/cyclades.c | (long)info->tty, info->read_status_mask, |
| info | 3165 | drivers/char/cyclades.c | info->timeout, info->xmit_fifo_size); |
| info | 3167 | drivers/char/cyclades.c | info->cor1, info->cor2, info->cor3, info->cor4, info->cor5); |
| info | 3169 | drivers/char/cyclades.c | info->tbpr, info->tco, info->rbpr, info->rco); |
| info | 3171 | drivers/char/cyclades.c | info->close_delay, info->event, info->count); |
| info | 3173 | drivers/char/cyclades.c | info->x_char, info->blocked_open); |
| info | 3175 | drivers/char/cyclades.c | info->session, info->pgrp, (long)info->open_wait); |
| info | 219 | drivers/char/pcxx.c | static inline void pcxe_sched_event(struct channel *info, int event) |
| info | 221 | drivers/char/pcxx.c | info->event |= 1 << event; |
| info | 222 | drivers/char/pcxx.c | queue_task_irq_off(&info->tqueue, &tq_pcxx); |
| info | 231 | drivers/char/pcxx.c | static int pcxx_waitcarrier(struct tty_struct *tty,struct file *filp,struct channel *info) |
| info | 237 | drivers/char/pcxx.c | if (info->asyncflags & ASYNC_CALLOUT_ACTIVE) { |
| info | 238 | drivers/char/pcxx.c | if (info->normal_termios.c_cflag & CLOCAL) |
| info | 250 | drivers/char/pcxx.c | add_wait_queue(&info->open_wait, &wait); |
| info | 251 | drivers/char/pcxx.c | info->count--; |
| info | 252 | drivers/char/pcxx.c | info->blocked_open++; |
| info | 256 | drivers/char/pcxx.c | if ((info->asyncflags & ASYNC_CALLOUT_ACTIVE) == 0) { |
| info | 257 | drivers/char/pcxx.c | globalwinon(info); |
| info | 258 | drivers/char/pcxx.c | info->omodem |= DTR|RTS; |
| info | 259 | drivers/char/pcxx.c | fepcmd(info, SETMODEM, DTR|RTS, 0, 10, 1); |
| info | 260 | drivers/char/pcxx.c | memoff(info); |
| info | 264 | drivers/char/pcxx.c | if(tty_hung_up_p(filp) || (info->asyncflags & ASYNC_INITIALIZED) == 0) { |
| info | 265 | drivers/char/pcxx.c | if(info->asyncflags & ASYNC_HUP_NOTIFY) |
| info | 271 | drivers/char/pcxx.c | if ((info->asyncflags & ASYNC_CALLOUT_ACTIVE) == 0 && |
| info | 272 | drivers/char/pcxx.c | (info->asyncflags & ASYNC_CLOSING) == 0 && |
| info | 273 | drivers/char/pcxx.c | (do_clocal || (info->imodem & info->dcd))) |
| info | 282 | drivers/char/pcxx.c | remove_wait_queue(&info->open_wait, &wait); |
| info | 285 | drivers/char/pcxx.c | info->count++; |
| info | 286 | drivers/char/pcxx.c | info->blocked_open--; |
| info | 420 | drivers/char/pcxx.c | static void shutdown(struct channel *info) |
| info | 426 | drivers/char/pcxx.c | if (!(info->asyncflags & ASYNC_INITIALIZED)) |
| info | 431 | drivers/char/pcxx.c | globalwinon(info); |
| info | 433 | drivers/char/pcxx.c | bc = info->brdchan; |
| info | 437 | drivers/char/pcxx.c | tty = info->tty; |
| info | 443 | drivers/char/pcxx.c | info->omodem &= ~(RTS|DTR); |
| info | 444 | drivers/char/pcxx.c | fepcmd(info, SETMODEM, 0, DTR|RTS, 10, 1); |
| info | 447 | drivers/char/pcxx.c | memoff(info); |
| info | 448 | drivers/char/pcxx.c | info->asyncflags &= ~ASYNC_INITIALIZED; |
| info | 455 | drivers/char/pcxx.c | struct channel *info; |
| info | 457 | drivers/char/pcxx.c | if ((info=chan(tty))!=NULL) { |
| info | 466 | drivers/char/pcxx.c | if (info->count-- > 1) { |
| info | 470 | drivers/char/pcxx.c | if (info->count < 0) { |
| info | 471 | drivers/char/pcxx.c | info->count = 0; |
| info | 474 | drivers/char/pcxx.c | info->asyncflags |= ASYNC_CLOSING; |
| info | 480 | drivers/char/pcxx.c | if(info->asyncflags & ASYNC_NORMAL_ACTIVE) |
| info | 481 | drivers/char/pcxx.c | info->normal_termios = *tty->termios; |
| info | 482 | drivers/char/pcxx.c | if(info->asyncflags & ASYNC_CALLOUT_ACTIVE) |
| info | 483 | drivers/char/pcxx.c | info->callout_termios = *tty->termios; |
| info | 485 | drivers/char/pcxx.c | if(info->asyncflags & ASYNC_INITIALIZED) { |
| info | 486 | drivers/char/pcxx.c | setup_empty_event(tty,info); |
| info | 494 | drivers/char/pcxx.c | shutdown(info); |
| info | 496 | drivers/char/pcxx.c | info->event = 0; |
| info | 497 | drivers/char/pcxx.c | info->tty = NULL; |
| info | 506 | drivers/char/pcxx.c | if(info->blocked_open) { |
| info | 507 | drivers/char/pcxx.c | if(info->close_delay) { |
| info | 509 | drivers/char/pcxx.c | current->timeout = jiffies + info->close_delay; |
| info | 512 | drivers/char/pcxx.c | wake_up_interruptible(&info->open_wait); |
| info | 514 | drivers/char/pcxx.c | info->asyncflags &= ~(ASYNC_NORMAL_ACTIVE| |
| info | 516 | drivers/char/pcxx.c | wake_up_interruptible(&info->close_wait); |
| info | 2069 | drivers/char/pcxx.c | struct channel *info; |
| info | 2071 | drivers/char/pcxx.c | if ((info=chan(tty))!=NULL) { |
| info | 2075 | drivers/char/pcxx.c | globalwinon(info); |
| info | 2076 | drivers/char/pcxx.c | pcxxparam(tty,info); |
| info | 2077 | drivers/char/pcxx.c | memoff(info); |
| info | 2084 | drivers/char/pcxx.c | wake_up_interruptible(&info->open_wait); |
| info | 2098 | drivers/char/pcxx.c | struct channel *info = (struct channel *) private_; |
| info | 2100 | drivers/char/pcxx.c | if(info && info->magic == PCXX_MAGIC) { |
| info | 2101 | drivers/char/pcxx.c | struct tty_struct *tty = info->tty; |
| info | 2103 | drivers/char/pcxx.c | if(clear_bit(PCXE_EVENT_HANGUP, &info->event)) { |
| info | 2105 | drivers/char/pcxx.c | wake_up_interruptible(&info->open_wait); |
| info | 2106 | drivers/char/pcxx.c | info->asyncflags &= ~(ASYNC_NORMAL_ACTIVE|ASYNC_CALLOUT_ACTIVE); |
| info | 2115 | drivers/char/pcxx.c | struct channel *info; |
| info | 2117 | drivers/char/pcxx.c | if ((info=chan(tty))!=NULL) { |
| info | 2121 | drivers/char/pcxx.c | if ((info->statusflags & TXSTOPPED) == 0) { |
| info | 2122 | drivers/char/pcxx.c | globalwinon(info); |
| info | 2123 | drivers/char/pcxx.c | fepcmd(info, PAUSETX, 0, 0, 0, 0); |
| info | 2124 | drivers/char/pcxx.c | info->statusflags |= TXSTOPPED; |
| info | 2125 | drivers/char/pcxx.c | memoff(info); |
| info | 2133 | drivers/char/pcxx.c | struct channel *info; |
| info | 2135 | drivers/char/pcxx.c | if ((info=chan(tty))!=NULL) { |
| info | 2139 | drivers/char/pcxx.c | if ((info->statusflags & RXSTOPPED) == 0) { |
| info | 2140 | drivers/char/pcxx.c | globalwinon(info); |
| info | 2141 | drivers/char/pcxx.c | fepcmd(info, PAUSERX, 0, 0, 0, 0); |
| info | 2142 | drivers/char/pcxx.c | info->statusflags |= RXSTOPPED; |
| info | 2143 | drivers/char/pcxx.c | memoff(info); |
| info | 2151 | drivers/char/pcxx.c | struct channel *info; |
| info | 2153 | drivers/char/pcxx.c | if ((info=chan(tty)) != NULL) { |
| info | 2159 | drivers/char/pcxx.c | if(info->statusflags & RXSTOPPED) { |
| info | 2161 | drivers/char/pcxx.c | globalwinon(info); |
| info | 2162 | drivers/char/pcxx.c | bc = info->brdchan; |
| info | 2163 | drivers/char/pcxx.c | fepcmd(info, RESUMERX, 0, 0, 0, 0); |
| info | 2164 | drivers/char/pcxx.c | info->statusflags &= ~RXSTOPPED; |
| info | 2165 | drivers/char/pcxx.c | memoff(info); |
| info | 2174 | drivers/char/pcxx.c | struct channel *info; |
| info | 2176 | drivers/char/pcxx.c | if ((info=chan(tty))!=NULL) { |
| info | 2182 | drivers/char/pcxx.c | if(info->statusflags & TXSTOPPED) { |
| info | 2184 | drivers/char/pcxx.c | globalwinon(info); |
| info | 2185 | drivers/char/pcxx.c | bc = info->brdchan; |
| info | 2186 | drivers/char/pcxx.c | if(info->statusflags & LOWWAIT) |
| info | 2188 | drivers/char/pcxx.c | fepcmd(info, RESUMETX, 0, 0, 0, 0); |
| info | 2189 | drivers/char/pcxx.c | info->statusflags &= ~TXSTOPPED; |
| info | 2190 | drivers/char/pcxx.c | memoff(info); |
| info | 85 | drivers/char/serial.c | #define IRQ_T(info) ((info->flags & ASYNC_SHARE_IRQ) ? SA_SHIRQ : SA_INTERRUPT) |
| info | 91 | drivers/char/serial.c | kdevname(tty->device), (info->flags), serial_refcount,info->count,tty->count,s) |
| info | 108 | drivers/char/serial.c | static void autoconfig(struct async_struct * info); |
| info | 109 | drivers/char/serial.c | static void change_speed(struct async_struct *info); |
| info | 225 | drivers/char/serial.c | static inline int serial_paranoia_check(struct async_struct *info, |
| info | 234 | drivers/char/serial.c | if (!info) { |
| info | 238 | drivers/char/serial.c | if (info->magic != SERIAL_MAGIC) { |
| info | 253 | drivers/char/serial.c | static inline unsigned int serial_in(struct async_struct *info, int offset) |
| info | 256 | drivers/char/serial.c | if (info->hub6) { |
| info | 257 | drivers/char/serial.c | outb(info->hub6 - 1 + offset, info->port); |
| info | 258 | drivers/char/serial.c | return inb(info->port+1); |
| info | 261 | drivers/char/serial.c | return inb(info->port + offset); |
| info | 264 | drivers/char/serial.c | static inline unsigned int serial_inp(struct async_struct *info, int offset) |
| info | 267 | drivers/char/serial.c | if (info->hub6) { |
| info | 268 | drivers/char/serial.c | outb(info->hub6 - 1 + offset, info->port); |
| info | 269 | drivers/char/serial.c | return inb_p(info->port+1); |
| info | 273 | drivers/char/serial.c | return inb(info->port + offset); |
| info | 275 | drivers/char/serial.c | return inb_p(info->port + offset); |
| info | 279 | drivers/char/serial.c | static inline void serial_out(struct async_struct *info, int offset, int value) |
| info | 282 | drivers/char/serial.c | if (info->hub6) { |
| info | 283 | drivers/char/serial.c | outb(info->hub6 - 1 + offset, info->port); |
| info | 284 | drivers/char/serial.c | outb(value, info->port+1); |
| info | 287 | drivers/char/serial.c | outb(value, info->port+offset); |
| info | 290 | drivers/char/serial.c | static inline void serial_outp(struct async_struct *info, int offset, |
| info | 294 | drivers/char/serial.c | if (info->hub6) { |
| info | 295 | drivers/char/serial.c | outb(info->hub6 - 1 + offset, info->port); |
| info | 296 | drivers/char/serial.c | outb_p(value, info->port+1); |
| info | 300 | drivers/char/serial.c | outb(value, info->port+offset); |
| info | 302 | drivers/char/serial.c | outb_p(value, info->port+offset); |
| info | 316 | drivers/char/serial.c | struct async_struct *info = (struct async_struct *)tty->driver_data; |
| info | 319 | drivers/char/serial.c | if (serial_paranoia_check(info, tty->device, "rs_stop")) |
| info | 323 | drivers/char/serial.c | if (info->IER & UART_IER_THRI) { |
| info | 324 | drivers/char/serial.c | info->IER &= ~UART_IER_THRI; |
| info | 325 | drivers/char/serial.c | serial_out(info, UART_IER, info->IER); |
| info | 332 | drivers/char/serial.c | struct async_struct *info = (struct async_struct *)tty->driver_data; |
| info | 335 | drivers/char/serial.c | if (serial_paranoia_check(info, tty->device, "rs_start")) |
| info | 339 | drivers/char/serial.c | if (info->xmit_cnt && info->xmit_buf && !(info->IER & UART_IER_THRI)) { |
| info | 340 | drivers/char/serial.c | info->IER |= UART_IER_THRI; |
| info | 341 | drivers/char/serial.c | serial_out(info, UART_IER, info->IER); |
| info | 382 | drivers/char/serial.c | static _INLINE_ void rs_sched_event(struct async_struct *info, |
| info | 385 | drivers/char/serial.c | info->event |= 1 << event; |
| info | 386 | drivers/char/serial.c | queue_task_irq_off(&info->tqueue, &tq_serial); |
| info | 390 | drivers/char/serial.c | static _INLINE_ void receive_chars(struct async_struct *info, |
| info | 393 | drivers/char/serial.c | struct tty_struct *tty = info->tty; |
| info | 398 | drivers/char/serial.c | ch = serial_inp(info, UART_RX); |
| info | 399 | drivers/char/serial.c | if (*status & info->ignore_status_mask) { |
| info | 410 | drivers/char/serial.c | if (info->flags & ASYNC_SAK) |
| info | 422 | drivers/char/serial.c | *status = serial_inp(info, UART_LSR) & info->read_status_mask; |
| info | 430 | drivers/char/serial.c | static _INLINE_ void transmit_chars(struct async_struct *info, int *intr_done) |
| info | 434 | drivers/char/serial.c | if (info->x_char) { |
| info | 435 | drivers/char/serial.c | serial_outp(info, UART_TX, info->x_char); |
| info | 436 | drivers/char/serial.c | info->x_char = 0; |
| info | 441 | drivers/char/serial.c | if ((info->xmit_cnt <= 0) || info->tty->stopped || |
| info | 442 | drivers/char/serial.c | info->tty->hw_stopped) { |
| info | 443 | drivers/char/serial.c | info->IER &= ~UART_IER_THRI; |
| info | 444 | drivers/char/serial.c | serial_out(info, UART_IER, info->IER); |
| info | 448 | drivers/char/serial.c | count = info->xmit_fifo_size; |
| info | 450 | drivers/char/serial.c | serial_out(info, UART_TX, info->xmit_buf[info->xmit_tail++]); |
| info | 451 | drivers/char/serial.c | info->xmit_tail = info->xmit_tail & (SERIAL_XMIT_SIZE-1); |
| info | 452 | drivers/char/serial.c | if (--info->xmit_cnt <= 0) |
| info | 456 | drivers/char/serial.c | if (info->xmit_cnt < WAKEUP_CHARS) |
| info | 457 | drivers/char/serial.c | rs_sched_event(info, RS_EVENT_WRITE_WAKEUP); |
| info | 465 | drivers/char/serial.c | if (info->xmit_cnt <= 0) { |
| info | 466 | drivers/char/serial.c | info->IER &= ~UART_IER_THRI; |
| info | 467 | drivers/char/serial.c | serial_out(info, UART_IER, info->IER); |
| info | 471 | drivers/char/serial.c | static _INLINE_ void check_modem_status(struct async_struct *info) |
| info | 475 | drivers/char/serial.c | status = serial_in(info, UART_MSR); |
| info | 480 | drivers/char/serial.c | info->icount.rng++; |
| info | 482 | drivers/char/serial.c | info->icount.dsr++; |
| info | 484 | drivers/char/serial.c | info->icount.dcd++; |
| info | 486 | drivers/char/serial.c | info->icount.cts++; |
| info | 487 | drivers/char/serial.c | wake_up_interruptible(&info->delta_msr_wait); |
| info | 490 | drivers/char/serial.c | if ((info->flags & ASYNC_CHECK_CD) && (status & UART_MSR_DDCD)) { |
| info | 492 | drivers/char/serial.c | printk("ttys%d CD now %s...", info->line, |
| info | 496 | drivers/char/serial.c | wake_up_interruptible(&info->open_wait); |
| info | 497 | drivers/char/serial.c | else if (!((info->flags & ASYNC_CALLOUT_ACTIVE) && |
| info | 498 | drivers/char/serial.c | (info->flags & ASYNC_CALLOUT_NOHUP))) { |
| info | 502 | drivers/char/serial.c | queue_task_irq_off(&info->tqueue_hangup, |
| info | 506 | drivers/char/serial.c | if (info->flags & ASYNC_CTS_FLOW) { |
| info | 507 | drivers/char/serial.c | if (info->tty->hw_stopped) { |
| info | 512 | drivers/char/serial.c | info->tty->hw_stopped = 0; |
| info | 513 | drivers/char/serial.c | info->IER |= UART_IER_THRI; |
| info | 514 | drivers/char/serial.c | serial_out(info, UART_IER, info->IER); |
| info | 515 | drivers/char/serial.c | rs_sched_event(info, RS_EVENT_WRITE_WAKEUP); |
| info | 523 | drivers/char/serial.c | info->tty->hw_stopped = 1; |
| info | 524 | drivers/char/serial.c | info->IER &= ~UART_IER_THRI; |
| info | 525 | drivers/char/serial.c | serial_out(info, UART_IER, info->IER); |
| info | 537 | drivers/char/serial.c | struct async_struct * info; |
| info | 547 | drivers/char/serial.c | info = IRQ_ports[irq]; |
| info | 548 | drivers/char/serial.c | if (!info) |
| info | 556 | drivers/char/serial.c | if (!info->tty || |
| info | 557 | drivers/char/serial.c | (serial_in(info, UART_IIR) & UART_IIR_NO_INT)) { |
| info | 559 | drivers/char/serial.c | end_mark = info; |
| info | 564 | drivers/char/serial.c | info->last_active = jiffies; |
| info | 566 | drivers/char/serial.c | status = serial_inp(info, UART_LSR) & info->read_status_mask; |
| info | 571 | drivers/char/serial.c | receive_chars(info, &status); |
| info | 572 | drivers/char/serial.c | check_modem_status(info); |
| info | 574 | drivers/char/serial.c | transmit_chars(info, 0); |
| info | 577 | drivers/char/serial.c | info = info->next_port; |
| info | 578 | drivers/char/serial.c | if (!info) { |
| info | 579 | drivers/char/serial.c | info = IRQ_ports[irq]; |
| info | 588 | drivers/char/serial.c | } while (end_mark != info); |
| info | 591 | drivers/char/serial.c | info->irq, first_multi, inb(multi->port_monitor)); |
| info | 605 | drivers/char/serial.c | struct async_struct * info; |
| info | 612 | drivers/char/serial.c | info = IRQ_ports[irq]; |
| info | 613 | drivers/char/serial.c | if (!info || !info->tty) |
| info | 621 | drivers/char/serial.c | status = serial_inp(info, UART_LSR) & info->read_status_mask; |
| info | 626 | drivers/char/serial.c | receive_chars(info, &status); |
| info | 627 | drivers/char/serial.c | check_modem_status(info); |
| info | 629 | drivers/char/serial.c | transmit_chars(info, 0); |
| info | 636 | drivers/char/serial.c | } while (!(serial_in(info, UART_IIR) & UART_IIR_NO_INT)); |
| info | 637 | drivers/char/serial.c | info->last_active = jiffies; |
| info | 640 | drivers/char/serial.c | info->irq, first_multi, inb(multi->port_monitor)); |
| info | 652 | drivers/char/serial.c | struct async_struct * info; |
| info | 661 | drivers/char/serial.c | info = IRQ_ports[irq]; |
| info | 662 | drivers/char/serial.c | if (!info) |
| info | 674 | drivers/char/serial.c | if (!info->tty || |
| info | 675 | drivers/char/serial.c | (serial_in(info, UART_IIR) & UART_IIR_NO_INT)) |
| info | 678 | drivers/char/serial.c | info->last_active = jiffies; |
| info | 680 | drivers/char/serial.c | status = serial_inp(info, UART_LSR) & info->read_status_mask; |
| info | 685 | drivers/char/serial.c | receive_chars(info, &status); |
| info | 686 | drivers/char/serial.c | check_modem_status(info); |
| info | 688 | drivers/char/serial.c | transmit_chars(info, 0); |
| info | 691 | drivers/char/serial.c | info = info->next_port; |
| info | 692 | drivers/char/serial.c | if (info) |
| info | 695 | drivers/char/serial.c | info = IRQ_ports[irq]; |
| info | 704 | drivers/char/serial.c | info->irq, first_multi, |
| info | 750 | drivers/char/serial.c | struct async_struct *info = (struct async_struct *) private_; |
| info | 753 | drivers/char/serial.c | tty = info->tty; |
| info | 757 | drivers/char/serial.c | if (clear_bit(RS_EVENT_WRITE_WAKEUP, &info->event)) { |
| info | 776 | drivers/char/serial.c | struct async_struct *info = (struct async_struct *) private_; |
| info | 779 | drivers/char/serial.c | tty = info->tty; |
| info | 797 | drivers/char/serial.c | struct async_struct *info; |
| info | 802 | drivers/char/serial.c | info = IRQ_ports[i]; |
| info | 803 | drivers/char/serial.c | if (!info) |
| info | 806 | drivers/char/serial.c | if (info->next_port) { |
| info | 808 | drivers/char/serial.c | serial_out(info, UART_IER, 0); |
| info | 809 | drivers/char/serial.c | info->IER |= UART_IER_THRI; |
| info | 810 | drivers/char/serial.c | serial_out(info, UART_IER, info->IER); |
| info | 811 | drivers/char/serial.c | info = info->next_port; |
| info | 812 | drivers/char/serial.c | } while (info); |
| info | 883 | drivers/char/serial.c | struct async_struct *info; |
| info | 886 | drivers/char/serial.c | info = IRQ_ports[irq]; |
| info | 887 | drivers/char/serial.c | if (!info) { |
| info | 891 | drivers/char/serial.c | while (info) { |
| info | 892 | drivers/char/serial.c | if (info->timeout < timeout) |
| info | 893 | drivers/char/serial.c | timeout = info->timeout; |
| info | 894 | drivers/char/serial.c | info = info->next_port; |
| info | 901 | drivers/char/serial.c | static int startup(struct async_struct * info) |
| info | 916 | drivers/char/serial.c | if (info->flags & ASYNC_INITIALIZED) { |
| info | 922 | drivers/char/serial.c | if (!info->port || !info->type) { |
| info | 923 | drivers/char/serial.c | if (info->tty) |
| info | 924 | drivers/char/serial.c | set_bit(TTY_IO_ERROR, &info->tty->flags); |
| info | 929 | drivers/char/serial.c | if (info->xmit_buf) |
| info | 932 | drivers/char/serial.c | info->xmit_buf = (unsigned char *) page; |
| info | 935 | drivers/char/serial.c | printk("starting up ttys%d (irq %d)...", info->line, info->irq); |
| info | 942 | drivers/char/serial.c | if (info->type == PORT_16650) { |
| info | 943 | drivers/char/serial.c | serial_outp(info, UART_FCR, (UART_FCR_CLEAR_RCVR | |
| info | 945 | drivers/char/serial.c | info->xmit_fifo_size = 1; /* disabled for now */ |
| info | 946 | drivers/char/serial.c | } else if (info->type == PORT_16550A) { |
| info | 947 | drivers/char/serial.c | serial_outp(info, UART_FCR, (UART_FCR_CLEAR_RCVR | |
| info | 949 | drivers/char/serial.c | info->xmit_fifo_size = 16; |
| info | 951 | drivers/char/serial.c | info->xmit_fifo_size = 1; |
| info | 958 | drivers/char/serial.c | if (serial_inp(info, UART_LSR) == 0xff) { |
| info | 961 | drivers/char/serial.c | if (info->tty) |
| info | 962 | drivers/char/serial.c | set_bit(TTY_IO_ERROR, &info->tty->flags); |
| info | 971 | drivers/char/serial.c | if (info->irq && (!IRQ_ports[info->irq] || |
| info | 972 | drivers/char/serial.c | !IRQ_ports[info->irq]->next_port)) { |
| info | 973 | drivers/char/serial.c | if (IRQ_ports[info->irq]) { |
| info | 974 | drivers/char/serial.c | free_irq(info->irq, NULL); |
| info | 975 | drivers/char/serial.c | if (rs_multiport[info->irq].port1) |
| info | 982 | drivers/char/serial.c | retval = request_irq(info->irq, handler, IRQ_T(info), |
| info | 987 | drivers/char/serial.c | if (info->tty) |
| info | 989 | drivers/char/serial.c | &info->tty->flags); |
| info | 1000 | drivers/char/serial.c | (void) serial_inp(info, UART_RX); |
| info | 1001 | drivers/char/serial.c | (void) serial_inp(info, UART_IIR); |
| info | 1002 | drivers/char/serial.c | (void) serial_inp(info, UART_MSR); |
| info | 1007 | drivers/char/serial.c | serial_outp(info, UART_LCR, UART_LCR_WLEN8); /* reset DLAB */ |
| info | 1008 | drivers/char/serial.c | if (info->flags & ASYNC_FOURPORT) { |
| info | 1009 | drivers/char/serial.c | info->MCR = UART_MCR_DTR | UART_MCR_RTS; |
| info | 1010 | drivers/char/serial.c | info->MCR_noint = UART_MCR_DTR | UART_MCR_OUT1; |
| info | 1012 | drivers/char/serial.c | info->MCR = UART_MCR_DTR | UART_MCR_RTS | UART_MCR_OUT2; |
| info | 1013 | drivers/char/serial.c | info->MCR_noint = UART_MCR_DTR | UART_MCR_RTS; |
| info | 1016 | drivers/char/serial.c | info->MCR |= UART_MCR_OUT1 | UART_MCR_OUT2; |
| info | 1017 | drivers/char/serial.c | info->MCR_noint |= UART_MCR_OUT1 | UART_MCR_OUT2; |
| info | 1019 | drivers/char/serial.c | if (info->irq == 0) |
| info | 1020 | drivers/char/serial.c | info->MCR = info->MCR_noint; |
| info | 1021 | drivers/char/serial.c | serial_outp(info, UART_MCR, info->MCR); |
| info | 1026 | drivers/char/serial.c | info->IER = UART_IER_MSI | UART_IER_RLSI | UART_IER_RDI; |
| info | 1027 | drivers/char/serial.c | serial_outp(info, UART_IER, info->IER); /* enable interrupts */ |
| info | 1029 | drivers/char/serial.c | if (info->flags & ASYNC_FOURPORT) { |
| info | 1031 | drivers/char/serial.c | ICP = (info->port & 0xFE0) | 0x01F; |
| info | 1039 | drivers/char/serial.c | (void)serial_inp(info, UART_LSR); |
| info | 1040 | drivers/char/serial.c | (void)serial_inp(info, UART_RX); |
| info | 1041 | drivers/char/serial.c | (void)serial_inp(info, UART_IIR); |
| info | 1042 | drivers/char/serial.c | (void)serial_inp(info, UART_MSR); |
| info | 1044 | drivers/char/serial.c | if (info->tty) |
| info | 1045 | drivers/char/serial.c | clear_bit(TTY_IO_ERROR, &info->tty->flags); |
| info | 1046 | drivers/char/serial.c | info->xmit_cnt = info->xmit_head = info->xmit_tail = 0; |
| info | 1051 | drivers/char/serial.c | info->prev_port = 0; |
| info | 1052 | drivers/char/serial.c | info->next_port = IRQ_ports[info->irq]; |
| info | 1053 | drivers/char/serial.c | if (info->next_port) |
| info | 1054 | drivers/char/serial.c | info->next_port->prev_port = info; |
| info | 1055 | drivers/char/serial.c | IRQ_ports[info->irq] = info; |
| info | 1056 | drivers/char/serial.c | figure_IRQ_timeout(info->irq); |
| info | 1067 | drivers/char/serial.c | change_speed(info); |
| info | 1069 | drivers/char/serial.c | info->flags |= ASYNC_INITIALIZED; |
| info | 1078 | drivers/char/serial.c | static void shutdown(struct async_struct * info) |
| info | 1083 | drivers/char/serial.c | if (!(info->flags & ASYNC_INITIALIZED)) |
| info | 1087 | drivers/char/serial.c | printk("Shutting down serial port %d (irq %d)....", info->line, |
| info | 1088 | drivers/char/serial.c | info->irq); |
| info | 1097 | drivers/char/serial.c | wake_up_interruptible(&info->delta_msr_wait); |
| info | 1102 | drivers/char/serial.c | if (info->next_port) |
| info | 1103 | drivers/char/serial.c | info->next_port->prev_port = info->prev_port; |
| info | 1104 | drivers/char/serial.c | if (info->prev_port) |
| info | 1105 | drivers/char/serial.c | info->prev_port->next_port = info->next_port; |
| info | 1107 | drivers/char/serial.c | IRQ_ports[info->irq] = info->next_port; |
| info | 1108 | drivers/char/serial.c | figure_IRQ_timeout(info->irq); |
| info | 1113 | drivers/char/serial.c | if (info->irq && (!IRQ_ports[info->irq] || |
| info | 1114 | drivers/char/serial.c | !IRQ_ports[info->irq]->next_port)) { |
| info | 1115 | drivers/char/serial.c | if (IRQ_ports[info->irq]) { |
| info | 1116 | drivers/char/serial.c | free_irq(info->irq, NULL); |
| info | 1117 | drivers/char/serial.c | retval = request_irq(info->irq, rs_interrupt_single, |
| info | 1118 | drivers/char/serial.c | IRQ_T(info), "serial", NULL); |
| info | 1124 | drivers/char/serial.c | free_irq(info->irq, NULL); |
| info | 1127 | drivers/char/serial.c | if (info->xmit_buf) { |
| info | 1128 | drivers/char/serial.c | free_page((unsigned long) info->xmit_buf); |
| info | 1129 | drivers/char/serial.c | info->xmit_buf = 0; |
| info | 1132 | drivers/char/serial.c | info->IER = 0; |
| info | 1133 | drivers/char/serial.c | serial_outp(info, UART_IER, 0x00); /* disable all intrs */ |
| info | 1134 | drivers/char/serial.c | if (info->flags & ASYNC_FOURPORT) { |
| info | 1136 | drivers/char/serial.c | (void) inb((info->port & 0xFE0) | 0x01F); |
| info | 1139 | drivers/char/serial.c | if (!info->tty || (info->tty->termios->c_cflag & HUPCL)) { |
| info | 1140 | drivers/char/serial.c | info->MCR &= ~(UART_MCR_DTR|UART_MCR_RTS); |
| info | 1141 | drivers/char/serial.c | info->MCR_noint &= ~(UART_MCR_DTR|UART_MCR_RTS); |
| info | 1143 | drivers/char/serial.c | serial_outp(info, UART_MCR, info->MCR_noint); |
| info | 1146 | drivers/char/serial.c | serial_outp(info, UART_FCR, (UART_FCR_CLEAR_RCVR | |
| info | 1148 | drivers/char/serial.c | (void)serial_in(info, UART_RX); /* read data port to reset things */ |
| info | 1150 | drivers/char/serial.c | if (info->tty) |
| info | 1151 | drivers/char/serial.c | set_bit(TTY_IO_ERROR, &info->tty->flags); |
| info | 1153 | drivers/char/serial.c | info->flags &= ~ASYNC_INITIALIZED; |
| info | 1161 | drivers/char/serial.c | static void change_speed(struct async_struct *info) |
| info | 1168 | drivers/char/serial.c | if (!info->tty || !info->tty->termios) |
| info | 1170 | drivers/char/serial.c | cflag = info->tty->termios->c_cflag; |
| info | 1171 | drivers/char/serial.c | if (!(port = info->port)) |
| info | 1177 | drivers/char/serial.c | info->tty->termios->c_cflag &= ~CBAUDEX; |
| info | 1182 | drivers/char/serial.c | if ((info->flags & ASYNC_SPD_MASK) == ASYNC_SPD_HI) |
| info | 1184 | drivers/char/serial.c | if ((info->flags & ASYNC_SPD_MASK) == ASYNC_SPD_VHI) |
| info | 1186 | drivers/char/serial.c | if ((info->flags & ASYNC_SPD_MASK) == ASYNC_SPD_CUST) |
| info | 1187 | drivers/char/serial.c | quot = info->custom_divisor; |
| info | 1190 | drivers/char/serial.c | info->timeout = ((info->xmit_fifo_size*HZ*15*quot) / |
| info | 1191 | drivers/char/serial.c | info->baud_base) + 2; |
| info | 1193 | drivers/char/serial.c | quot = (2*info->baud_base / 269); |
| info | 1194 | drivers/char/serial.c | info->timeout = (info->xmit_fifo_size*HZ*30/269) + 2; |
| info | 1196 | drivers/char/serial.c | quot = info->baud_base / baud_table[i]; |
| info | 1197 | drivers/char/serial.c | info->timeout = (info->xmit_fifo_size*HZ*15/baud_table[i]) + 2; |
| info | 1200 | drivers/char/serial.c | info->timeout = 0; |
| info | 1203 | drivers/char/serial.c | info->MCR |= UART_MCR_DTR; |
| info | 1204 | drivers/char/serial.c | info->MCR_noint |= UART_MCR_DTR; |
| info | 1206 | drivers/char/serial.c | serial_out(info, UART_MCR, info->MCR); |
| info | 1209 | drivers/char/serial.c | info->MCR &= ~UART_MCR_DTR; |
| info | 1210 | drivers/char/serial.c | info->MCR_noint &= ~UART_MCR_DTR; |
| info | 1212 | drivers/char/serial.c | serial_out(info, UART_MCR, info->MCR); |
| info | 1231 | drivers/char/serial.c | if (info->type == PORT_16550A) { |
| info | 1232 | drivers/char/serial.c | if ((info->baud_base / quot) < 2400) |
| info | 1236 | drivers/char/serial.c | } else if (info->type == PORT_16650) { |
| info | 1252 | drivers/char/serial.c | info->IER &= ~UART_IER_MSI; |
| info | 1254 | drivers/char/serial.c | info->flags |= ASYNC_CTS_FLOW; |
| info | 1255 | drivers/char/serial.c | info->IER |= UART_IER_MSI; |
| info | 1257 | drivers/char/serial.c | info->flags &= ~ASYNC_CTS_FLOW; |
| info | 1259 | drivers/char/serial.c | info->flags &= ~ASYNC_CHECK_CD; |
| info | 1261 | drivers/char/serial.c | info->flags |= ASYNC_CHECK_CD; |
| info | 1262 | drivers/char/serial.c | info->IER |= UART_IER_MSI; |
| info | 1264 | drivers/char/serial.c | serial_out(info, UART_IER, info->IER); |
| info | 1269 | drivers/char/serial.c | info->read_status_mask = UART_LSR_OE | UART_LSR_THRE | UART_LSR_DR; |
| info | 1270 | drivers/char/serial.c | if (I_INPCK(info->tty)) |
| info | 1271 | drivers/char/serial.c | info->read_status_mask |= UART_LSR_FE | UART_LSR_PE; |
| info | 1272 | drivers/char/serial.c | if (I_BRKINT(info->tty) || I_PARMRK(info->tty)) |
| info | 1273 | drivers/char/serial.c | info->read_status_mask |= UART_LSR_BI; |
| info | 1275 | drivers/char/serial.c | info->ignore_status_mask = 0; |
| info | 1276 | drivers/char/serial.c | if (I_IGNPAR(info->tty)) { |
| info | 1277 | drivers/char/serial.c | info->ignore_status_mask |= UART_LSR_PE | UART_LSR_FE; |
| info | 1278 | drivers/char/serial.c | info->read_status_mask |= UART_LSR_PE | UART_LSR_FE; |
| info | 1280 | drivers/char/serial.c | if (I_IGNBRK(info->tty)) { |
| info | 1281 | drivers/char/serial.c | info->ignore_status_mask |= UART_LSR_BI; |
| info | 1282 | drivers/char/serial.c | info->read_status_mask |= UART_LSR_BI; |
| info | 1287 | drivers/char/serial.c | if (I_IGNPAR(info->tty)) { |
| info | 1288 | drivers/char/serial.c | info->ignore_status_mask |= UART_LSR_OE; |
| info | 1289 | drivers/char/serial.c | info->read_status_mask |= UART_LSR_OE; |
| info | 1294 | drivers/char/serial.c | serial_outp(info, UART_LCR, cval | UART_LCR_DLAB); /* set DLAB */ |
| info | 1295 | drivers/char/serial.c | serial_outp(info, UART_DLL, quot & 0xff); /* LS of divisor */ |
| info | 1296 | drivers/char/serial.c | serial_outp(info, UART_DLM, quot >> 8); /* MS of divisor */ |
| info | 1297 | drivers/char/serial.c | serial_outp(info, UART_LCR, cval); /* reset DLAB */ |
| info | 1298 | drivers/char/serial.c | serial_outp(info, UART_FCR, fcr); /* set fcr */ |
| info | 1304 | drivers/char/serial.c | struct async_struct *info = (struct async_struct *)tty->driver_data; |
| info | 1307 | drivers/char/serial.c | if (serial_paranoia_check(info, tty->device, "rs_put_char")) |
| info | 1310 | drivers/char/serial.c | if (!tty || !info->xmit_buf) |
| info | 1314 | drivers/char/serial.c | if (info->xmit_cnt >= SERIAL_XMIT_SIZE - 1) { |
| info | 1319 | drivers/char/serial.c | info->xmit_buf[info->xmit_head++] = ch; |
| info | 1320 | drivers/char/serial.c | info->xmit_head &= SERIAL_XMIT_SIZE-1; |
| info | 1321 | drivers/char/serial.c | info->xmit_cnt++; |
| info | 1327 | drivers/char/serial.c | struct async_struct *info = (struct async_struct *)tty->driver_data; |
| info | 1330 | drivers/char/serial.c | if (serial_paranoia_check(info, tty->device, "rs_flush_chars")) |
| info | 1333 | drivers/char/serial.c | if (info->xmit_cnt <= 0 || tty->stopped || tty->hw_stopped || |
| info | 1334 | drivers/char/serial.c | !info->xmit_buf) |
| info | 1338 | drivers/char/serial.c | info->IER |= UART_IER_THRI; |
| info | 1339 | drivers/char/serial.c | serial_out(info, UART_IER, info->IER); |
| info | 1347 | drivers/char/serial.c | struct async_struct *info = (struct async_struct *)tty->driver_data; |
| info | 1350 | drivers/char/serial.c | if (serial_paranoia_check(info, tty->device, "rs_write")) |
| info | 1353 | drivers/char/serial.c | if (!tty || !info->xmit_buf || !tmp_buf) |
| info | 1361 | drivers/char/serial.c | c = MIN(count, MIN(SERIAL_XMIT_SIZE - info->xmit_cnt - 1, |
| info | 1362 | drivers/char/serial.c | SERIAL_XMIT_SIZE - info->xmit_head)); |
| info | 1368 | drivers/char/serial.c | c = MIN(c, MIN(SERIAL_XMIT_SIZE - info->xmit_cnt - 1, |
| info | 1369 | drivers/char/serial.c | SERIAL_XMIT_SIZE - info->xmit_head)); |
| info | 1370 | drivers/char/serial.c | memcpy(info->xmit_buf + info->xmit_head, tmp_buf, c); |
| info | 1372 | drivers/char/serial.c | memcpy(info->xmit_buf + info->xmit_head, buf, c); |
| info | 1373 | drivers/char/serial.c | info->xmit_head = (info->xmit_head + c) & (SERIAL_XMIT_SIZE-1); |
| info | 1374 | drivers/char/serial.c | info->xmit_cnt += c; |
| info | 1382 | drivers/char/serial.c | if (info->xmit_cnt && !tty->stopped && !tty->hw_stopped && |
| info | 1383 | drivers/char/serial.c | !(info->IER & UART_IER_THRI)) { |
| info | 1384 | drivers/char/serial.c | info->IER |= UART_IER_THRI; |
| info | 1385 | drivers/char/serial.c | serial_out(info, UART_IER, info->IER); |
| info | 1393 | drivers/char/serial.c | struct async_struct *info = (struct async_struct *)tty->driver_data; |
| info | 1396 | drivers/char/serial.c | if (serial_paranoia_check(info, tty->device, "rs_write_room")) |
| info | 1398 | drivers/char/serial.c | ret = SERIAL_XMIT_SIZE - info->xmit_cnt - 1; |
| info | 1406 | drivers/char/serial.c | struct async_struct *info = (struct async_struct *)tty->driver_data; |
| info | 1408 | drivers/char/serial.c | if (serial_paranoia_check(info, tty->device, "rs_chars_in_buffer")) |
| info | 1410 | drivers/char/serial.c | return info->xmit_cnt; |
| info | 1415 | drivers/char/serial.c | struct async_struct *info = (struct async_struct *)tty->driver_data; |
| info | 1417 | drivers/char/serial.c | if (serial_paranoia_check(info, tty->device, "rs_flush_buffer")) |
| info | 1420 | drivers/char/serial.c | info->xmit_cnt = info->xmit_head = info->xmit_tail = 0; |
| info | 1438 | drivers/char/serial.c | struct async_struct *info = (struct async_struct *)tty->driver_data; |
| info | 1446 | drivers/char/serial.c | if (serial_paranoia_check(info, tty->device, "rs_throttle")) |
| info | 1450 | drivers/char/serial.c | info->x_char = STOP_CHAR(tty); |
| info | 1452 | drivers/char/serial.c | info->MCR &= ~UART_MCR_RTS; |
| info | 1453 | drivers/char/serial.c | info->MCR_noint &= ~UART_MCR_RTS; |
| info | 1455 | drivers/char/serial.c | serial_out(info, UART_MCR, info->MCR); |
| info | 1461 | drivers/char/serial.c | struct async_struct *info = (struct async_struct *)tty->driver_data; |
| info | 1469 | drivers/char/serial.c | if (serial_paranoia_check(info, tty->device, "rs_unthrottle")) |
| info | 1473 | drivers/char/serial.c | if (info->x_char) |
| info | 1474 | drivers/char/serial.c | info->x_char = 0; |
| info | 1476 | drivers/char/serial.c | info->x_char = START_CHAR(tty); |
| info | 1478 | drivers/char/serial.c | info->MCR |= UART_MCR_RTS; |
| info | 1479 | drivers/char/serial.c | info->MCR_noint |= UART_MCR_RTS; |
| info | 1481 | drivers/char/serial.c | serial_out(info, UART_MCR, info->MCR); |
| info | 1491 | drivers/char/serial.c | static int get_serial_info(struct async_struct * info, |
| info | 1499 | drivers/char/serial.c | tmp.type = info->type; |
| info | 1500 | drivers/char/serial.c | tmp.line = info->line; |
| info | 1501 | drivers/char/serial.c | tmp.port = info->port; |
| info | 1502 | drivers/char/serial.c | tmp.irq = info->irq; |
| info | 1503 | drivers/char/serial.c | tmp.flags = info->flags; |
| info | 1504 | drivers/char/serial.c | tmp.baud_base = info->baud_base; |
| info | 1505 | drivers/char/serial.c | tmp.close_delay = info->close_delay; |
| info | 1506 | drivers/char/serial.c | tmp.closing_wait = info->closing_wait; |
| info | 1507 | drivers/char/serial.c | tmp.custom_divisor = info->custom_divisor; |
| info | 1508 | drivers/char/serial.c | tmp.hub6 = info->hub6; |
| info | 1513 | drivers/char/serial.c | static int set_serial_info(struct async_struct * info, |
| info | 1524 | drivers/char/serial.c | old_info = *info; |
| info | 1526 | drivers/char/serial.c | change_irq = new_serial.irq != info->irq; |
| info | 1527 | drivers/char/serial.c | change_port = (new_serial.port != info->port) || (new_serial.hub6 != info->hub6); |
| info | 1531 | drivers/char/serial.c | (new_serial.baud_base != info->baud_base) || |
| info | 1532 | drivers/char/serial.c | (new_serial.type != info->type) || |
| info | 1533 | drivers/char/serial.c | (new_serial.close_delay != info->close_delay) || |
| info | 1535 | drivers/char/serial.c | (info->flags & ~ASYNC_USR_MASK))) |
| info | 1537 | drivers/char/serial.c | info->flags = ((info->flags & ~ASYNC_USR_MASK) | |
| info | 1539 | drivers/char/serial.c | info->custom_divisor = new_serial.custom_divisor; |
| info | 1554 | drivers/char/serial.c | if ((info != &rs_table[i]) && |
| info | 1560 | drivers/char/serial.c | if ((change_port || change_irq) && (info->count > 1)) |
| info | 1568 | drivers/char/serial.c | info->baud_base = new_serial.baud_base; |
| info | 1569 | drivers/char/serial.c | info->flags = ((info->flags & ~ASYNC_FLAGS) | |
| info | 1571 | drivers/char/serial.c | info->custom_divisor = new_serial.custom_divisor; |
| info | 1572 | drivers/char/serial.c | info->type = new_serial.type; |
| info | 1573 | drivers/char/serial.c | info->close_delay = new_serial.close_delay * HZ/100; |
| info | 1574 | drivers/char/serial.c | info->closing_wait = new_serial.closing_wait * HZ/100; |
| info | 1576 | drivers/char/serial.c | release_region(info->port,8); |
| info | 1582 | drivers/char/serial.c | shutdown(info); |
| info | 1583 | drivers/char/serial.c | info->irq = new_serial.irq; |
| info | 1584 | drivers/char/serial.c | info->port = new_serial.port; |
| info | 1585 | drivers/char/serial.c | info->hub6 = new_serial.hub6; |
| info | 1587 | drivers/char/serial.c | if(info->type != PORT_UNKNOWN) |
| info | 1588 | drivers/char/serial.c | request_region(info->port,8,"serial(set)"); |
| info | 1592 | drivers/char/serial.c | if (!info->port || !info->type) |
| info | 1594 | drivers/char/serial.c | if (info->flags & ASYNC_INITIALIZED) { |
| info | 1596 | drivers/char/serial.c | (info->flags & ASYNC_SPD_MASK)) || |
| info | 1597 | drivers/char/serial.c | (old_info.custom_divisor != info->custom_divisor)) |
| info | 1598 | drivers/char/serial.c | change_speed(info); |
| info | 1600 | drivers/char/serial.c | retval = startup(info); |
| info | 1615 | drivers/char/serial.c | static int get_lsr_info(struct async_struct * info, unsigned int *value) |
| info | 1621 | drivers/char/serial.c | status = serial_in(info, UART_LSR); |
| info | 1629 | drivers/char/serial.c | static int get_modem_info(struct async_struct * info, unsigned int *value) |
| info | 1634 | drivers/char/serial.c | control = info->MCR; |
| info | 1636 | drivers/char/serial.c | status = serial_in(info, UART_MSR); |
| info | 1648 | drivers/char/serial.c | static int set_modem_info(struct async_struct * info, unsigned int cmd, |
| info | 1661 | drivers/char/serial.c | info->MCR |= UART_MCR_RTS; |
| info | 1662 | drivers/char/serial.c | info->MCR_noint |= UART_MCR_RTS; |
| info | 1665 | drivers/char/serial.c | info->MCR |= UART_MCR_DTR; |
| info | 1666 | drivers/char/serial.c | info->MCR_noint |= UART_MCR_DTR; |
| info | 1671 | drivers/char/serial.c | info->MCR &= ~UART_MCR_RTS; |
| info | 1672 | drivers/char/serial.c | info->MCR_noint &= ~UART_MCR_RTS; |
| info | 1675 | drivers/char/serial.c | info->MCR &= ~UART_MCR_DTR; |
| info | 1676 | drivers/char/serial.c | info->MCR_noint &= ~UART_MCR_DTR; |
| info | 1680 | drivers/char/serial.c | info->MCR = ((info->MCR & ~(UART_MCR_RTS | UART_MCR_DTR)) |
| info | 1683 | drivers/char/serial.c | info->MCR_noint = ((info->MCR_noint |
| info | 1692 | drivers/char/serial.c | serial_out(info, UART_MCR, info->MCR); |
| info | 1697 | drivers/char/serial.c | static int do_autoconfig(struct async_struct * info) |
| info | 1704 | drivers/char/serial.c | if (info->count > 1) |
| info | 1707 | drivers/char/serial.c | shutdown(info); |
| info | 1710 | drivers/char/serial.c | autoconfig(info); |
| info | 1713 | drivers/char/serial.c | retval = startup(info); |
| info | 1723 | drivers/char/serial.c | static void send_break( struct async_struct * info, int duration) |
| info | 1725 | drivers/char/serial.c | if (!info->port) |
| info | 1730 | drivers/char/serial.c | serial_out(info, UART_LCR, serial_inp(info, UART_LCR) | UART_LCR_SBC); |
| info | 1732 | drivers/char/serial.c | serial_out(info, UART_LCR, serial_inp(info, UART_LCR) & ~UART_LCR_SBC); |
| info | 1780 | drivers/char/serial.c | static int get_multiport_struct(struct async_struct * info, |
| info | 1786 | drivers/char/serial.c | multi = &rs_multiport[info->irq]; |
| info | 1806 | drivers/char/serial.c | ret.irq = info->irq; |
| info | 1813 | drivers/char/serial.c | static int set_multiport_struct(struct async_struct * info, |
| info | 1829 | drivers/char/serial.c | if (new_multi.irq != info->irq || info->irq == 0 || |
| info | 1830 | drivers/char/serial.c | !IRQ_ports[info->irq]) |
| info | 1833 | drivers/char/serial.c | multi = &rs_multiport[info->irq]; |
| info | 1872 | drivers/char/serial.c | if (IRQ_ports[info->irq]->next_port && |
| info | 1874 | drivers/char/serial.c | free_irq(info->irq, NULL); |
| info | 1880 | drivers/char/serial.c | retval = request_irq(info->irq, handler, IRQ_T(info), |
| info | 1895 | drivers/char/serial.c | struct async_struct * info = (struct async_struct *)tty->driver_data; |
| info | 1900 | drivers/char/serial.c | if (serial_paranoia_check(info, tty->device, "rs_ioctl")) |
| info | 1918 | drivers/char/serial.c | send_break(info, HZ/4); /* 1/4 second */ |
| info | 1925 | drivers/char/serial.c | send_break(info, arg ? arg*(HZ/10) : HZ/4); |
| info | 1945 | drivers/char/serial.c | return get_modem_info(info, (unsigned int *) arg); |
| info | 1949 | drivers/char/serial.c | return set_modem_info(info, cmd, (unsigned int *) arg); |
| info | 1955 | drivers/char/serial.c | return get_serial_info(info, |
| info | 1958 | drivers/char/serial.c | return set_serial_info(info, |
| info | 1961 | drivers/char/serial.c | return do_autoconfig(info); |
| info | 1977 | drivers/char/serial.c | return get_lsr_info(info, (unsigned int *) arg); |
| info | 1993 | drivers/char/serial.c | info, sizeof(struct async_struct)); |
| info | 2001 | drivers/char/serial.c | return get_multiport_struct(info, |
| info | 2004 | drivers/char/serial.c | return set_multiport_struct(info, |
| info | 2014 | drivers/char/serial.c | cprev = info->icount; /* note the counters on entry */ |
| info | 2017 | drivers/char/serial.c | interruptible_sleep_on(&info->delta_msr_wait); |
| info | 2022 | drivers/char/serial.c | cnow = info->icount; /* atomic copy */ |
| info | 2049 | drivers/char/serial.c | cnow = info->icount; |
| info | 2066 | drivers/char/serial.c | struct async_struct *info = (struct async_struct *)tty->driver_data; |
| info | 2071 | drivers/char/serial.c | change_speed(info); |
| info | 2088 | drivers/char/serial.c | wake_up_interruptible(&info->open_wait); |
| info | 2104 | drivers/char/serial.c | struct async_struct * info = (struct async_struct *)tty->driver_data; |
| info | 2108 | drivers/char/serial.c | if (!info || serial_paranoia_check(info, tty->device, "rs_close")) |
| info | 2121 | drivers/char/serial.c | printk("rs_close ttys%d, count = %d\n", info->line, info->count); |
| info | 2123 | drivers/char/serial.c | if ((tty->count == 1) && (info->count != 1)) { |
| info | 2132 | drivers/char/serial.c | "info->count is %d\n", info->count); |
| info | 2133 | drivers/char/serial.c | info->count = 1; |
| info | 2135 | drivers/char/serial.c | if (--info->count < 0) { |
| info | 2137 | drivers/char/serial.c | info->line, info->count); |
| info | 2138 | drivers/char/serial.c | info->count = 0; |
| info | 2140 | drivers/char/serial.c | if (info->count) { |
| info | 2146 | drivers/char/serial.c | info->flags |= ASYNC_CLOSING; |
| info | 2151 | drivers/char/serial.c | if (info->flags & ASYNC_NORMAL_ACTIVE) |
| info | 2152 | drivers/char/serial.c | info->normal_termios = *tty->termios; |
| info | 2153 | drivers/char/serial.c | if (info->flags & ASYNC_CALLOUT_ACTIVE) |
| info | 2154 | drivers/char/serial.c | info->callout_termios = *tty->termios; |
| info | 2160 | drivers/char/serial.c | if (info->closing_wait != ASYNC_CLOSING_WAIT_NONE) |
| info | 2161 | drivers/char/serial.c | tty_wait_until_sent(tty, info->closing_wait); |
| info | 2168 | drivers/char/serial.c | info->IER &= ~UART_IER_RLSI; |
| info | 2169 | drivers/char/serial.c | info->read_status_mask &= ~UART_LSR_DR; |
| info | 2170 | drivers/char/serial.c | if (info->flags & ASYNC_INITIALIZED) { |
| info | 2171 | drivers/char/serial.c | serial_out(info, UART_IER, info->IER); |
| info | 2178 | drivers/char/serial.c | while (!(serial_inp(info, UART_LSR) & UART_LSR_TEMT)) { |
| info | 2180 | drivers/char/serial.c | current->timeout = jiffies + info->timeout; |
| info | 2186 | drivers/char/serial.c | shutdown(info); |
| info | 2192 | drivers/char/serial.c | info->event = 0; |
| info | 2193 | drivers/char/serial.c | info->tty = 0; |
| info | 2194 | drivers/char/serial.c | if (info->blocked_open) { |
| info | 2195 | drivers/char/serial.c | if (info->close_delay) { |
| info | 2197 | drivers/char/serial.c | current->timeout = jiffies + info->close_delay; |
| info | 2200 | drivers/char/serial.c | wake_up_interruptible(&info->open_wait); |
| info | 2202 | drivers/char/serial.c | info->flags &= ~(ASYNC_NORMAL_ACTIVE|ASYNC_CALLOUT_ACTIVE| |
| info | 2204 | drivers/char/serial.c | wake_up_interruptible(&info->close_wait); |
| info | 2214 | drivers/char/serial.c | struct async_struct * info = (struct async_struct *)tty->driver_data; |
| info | 2216 | drivers/char/serial.c | if (serial_paranoia_check(info, tty->device, "rs_hangup")) |
| info | 2220 | drivers/char/serial.c | shutdown(info); |
| info | 2221 | drivers/char/serial.c | info->event = 0; |
| info | 2222 | drivers/char/serial.c | info->count = 0; |
| info | 2223 | drivers/char/serial.c | info->flags &= ~(ASYNC_NORMAL_ACTIVE|ASYNC_CALLOUT_ACTIVE); |
| info | 2224 | drivers/char/serial.c | info->tty = 0; |
| info | 2225 | drivers/char/serial.c | wake_up_interruptible(&info->open_wait); |
| info | 2234 | drivers/char/serial.c | struct async_struct *info) |
| info | 2245 | drivers/char/serial.c | (info->flags & ASYNC_CLOSING)) { |
| info | 2246 | drivers/char/serial.c | if (info->flags & ASYNC_CLOSING) |
| info | 2247 | drivers/char/serial.c | interruptible_sleep_on(&info->close_wait); |
| info | 2249 | drivers/char/serial.c | if (info->flags & ASYNC_HUP_NOTIFY) |
| info | 2263 | drivers/char/serial.c | if (info->flags & ASYNC_NORMAL_ACTIVE) |
| info | 2265 | drivers/char/serial.c | if ((info->flags & ASYNC_CALLOUT_ACTIVE) && |
| info | 2266 | drivers/char/serial.c | (info->flags & ASYNC_SESSION_LOCKOUT) && |
| info | 2267 | drivers/char/serial.c | (info->session != current->session)) |
| info | 2269 | drivers/char/serial.c | if ((info->flags & ASYNC_CALLOUT_ACTIVE) && |
| info | 2270 | drivers/char/serial.c | (info->flags & ASYNC_PGRP_LOCKOUT) && |
| info | 2271 | drivers/char/serial.c | (info->pgrp != current->pgrp)) |
| info | 2273 | drivers/char/serial.c | info->flags |= ASYNC_CALLOUT_ACTIVE; |
| info | 2283 | drivers/char/serial.c | if (info->flags & ASYNC_CALLOUT_ACTIVE) |
| info | 2285 | drivers/char/serial.c | info->flags |= ASYNC_NORMAL_ACTIVE; |
| info | 2289 | drivers/char/serial.c | if (info->flags & ASYNC_CALLOUT_ACTIVE) { |
| info | 2290 | drivers/char/serial.c | if (info->normal_termios.c_cflag & CLOCAL) |
| info | 2305 | drivers/char/serial.c | add_wait_queue(&info->open_wait, &wait); |
| info | 2308 | drivers/char/serial.c | info->line, info->count); |
| info | 2312 | drivers/char/serial.c | info->count--; |
| info | 2314 | drivers/char/serial.c | info->blocked_open++; |
| info | 2317 | drivers/char/serial.c | if (!(info->flags & ASYNC_CALLOUT_ACTIVE)) |
| info | 2318 | drivers/char/serial.c | serial_out(info, UART_MCR, |
| info | 2319 | drivers/char/serial.c | serial_inp(info, UART_MCR) | |
| info | 2324 | drivers/char/serial.c | !(info->flags & ASYNC_INITIALIZED)) { |
| info | 2326 | drivers/char/serial.c | if (info->flags & ASYNC_HUP_NOTIFY) |
| info | 2335 | drivers/char/serial.c | if (!(info->flags & ASYNC_CALLOUT_ACTIVE) && |
| info | 2336 | drivers/char/serial.c | !(info->flags & ASYNC_CLOSING) && |
| info | 2337 | drivers/char/serial.c | (do_clocal || (serial_in(info, UART_MSR) & |
| info | 2346 | drivers/char/serial.c | info->line, info->count); |
| info | 2351 | drivers/char/serial.c | remove_wait_queue(&info->open_wait, &wait); |
| info | 2353 | drivers/char/serial.c | info->count++; |
| info | 2354 | drivers/char/serial.c | info->blocked_open--; |
| info | 2357 | drivers/char/serial.c | info->line, info->count); |
| info | 2361 | drivers/char/serial.c | info->flags |= ASYNC_NORMAL_ACTIVE; |
| info | 2373 | drivers/char/serial.c | struct async_struct *info; |
| info | 2380 | drivers/char/serial.c | info = rs_table + line; |
| info | 2381 | drivers/char/serial.c | if (serial_paranoia_check(info, tty->device, "rs_open")) |
| info | 2385 | drivers/char/serial.c | printk("rs_open %s%d, count = %d\n", tty->driver.name, info->line, |
| info | 2386 | drivers/char/serial.c | info->count); |
| info | 2388 | drivers/char/serial.c | info->count++; |
| info | 2389 | drivers/char/serial.c | tty->driver_data = info; |
| info | 2390 | drivers/char/serial.c | info->tty = tty; |
| info | 2405 | drivers/char/serial.c | retval = startup(info); |
| info | 2410 | drivers/char/serial.c | retval = block_til_ready(tty, filp, info); |
| info | 2419 | drivers/char/serial.c | if ((info->count == 1) && (info->flags & ASYNC_SPLIT_TERMIOS)) { |
| info | 2421 | drivers/char/serial.c | *tty->termios = info->normal_termios; |
| info | 2423 | drivers/char/serial.c | *tty->termios = info->callout_termios; |
| info | 2424 | drivers/char/serial.c | change_speed(info); |
| info | 2427 | drivers/char/serial.c | info->session = current->session; |
| info | 2428 | drivers/char/serial.c | info->pgrp = current->pgrp; |
| info | 2431 | drivers/char/serial.c | printk("rs_open ttys%d successful...", info->line); |
| info | 2469 | drivers/char/serial.c | static int get_auto_irq(struct async_struct *info) |
| info | 2472 | drivers/char/serial.c | unsigned short ICP=0, port = info->port; |
| info | 2480 | drivers/char/serial.c | save_IER = serial_inp(info, UART_IER); |
| info | 2481 | drivers/char/serial.c | save_MCR = serial_inp(info, UART_MCR); |
| info | 2482 | drivers/char/serial.c | if (info->flags & ASYNC_FOURPORT) { |
| info | 2483 | drivers/char/serial.c | serial_outp(info, UART_MCR, UART_MCR_DTR | UART_MCR_RTS); |
| info | 2484 | drivers/char/serial.c | serial_outp(info, UART_IER, 0x0f); /* enable all intrs */ |
| info | 2490 | drivers/char/serial.c | serial_outp(info, UART_MCR, |
| info | 2492 | drivers/char/serial.c | serial_outp(info, UART_IER, 0x0f); /* enable all intrs */ |
| info | 2498 | drivers/char/serial.c | (void)serial_inp(info, UART_LSR); |
| info | 2499 | drivers/char/serial.c | (void)serial_inp(info, UART_RX); |
| info | 2500 | drivers/char/serial.c | (void)serial_inp(info, UART_IIR); |
| info | 2501 | drivers/char/serial.c | (void)serial_inp(info, UART_MSR); |
| info | 2512 | drivers/char/serial.c | serial_outp(info, UART_IER, save_IER); |
| info | 2513 | drivers/char/serial.c | serial_outp(info, UART_MCR, save_MCR); |
| info | 2514 | drivers/char/serial.c | if (info->flags & ASYNC_FOURPORT) |
| info | 2524 | drivers/char/serial.c | static int do_auto_irq(struct async_struct * info) |
| info | 2526 | drivers/char/serial.c | unsigned port = info->port; |
| info | 2542 | drivers/char/serial.c | irq_try_1 = get_auto_irq(info); |
| info | 2544 | drivers/char/serial.c | irq_try_2 = get_auto_irq(info); |
| info | 2563 | drivers/char/serial.c | static void autoconfig(struct async_struct * info) |
| info | 2566 | drivers/char/serial.c | unsigned port = info->port; |
| info | 2569 | drivers/char/serial.c | info->type = PORT_UNKNOWN; |
| info | 2585 | drivers/char/serial.c | scratch = serial_inp(info, UART_IER); |
| info | 2586 | drivers/char/serial.c | serial_outp(info, UART_IER, 0); |
| info | 2588 | drivers/char/serial.c | scratch2 = serial_inp(info, UART_IER); |
| info | 2589 | drivers/char/serial.c | serial_outp(info, UART_IER, scratch); |
| info | 2604 | drivers/char/serial.c | if (!(info->flags & ASYNC_SKIP_TEST)) { |
| info | 2605 | drivers/char/serial.c | scratch = serial_inp(info, UART_MCR); |
| info | 2606 | drivers/char/serial.c | serial_outp(info, UART_MCR, UART_MCR_LOOP | scratch); |
| info | 2607 | drivers/char/serial.c | scratch2 = serial_inp(info, UART_MSR); |
| info | 2608 | drivers/char/serial.c | serial_outp(info, UART_MCR, UART_MCR_LOOP | 0x0A); |
| info | 2609 | drivers/char/serial.c | status1 = serial_inp(info, UART_MSR) & 0xF0; |
| info | 2610 | drivers/char/serial.c | serial_outp(info, UART_MCR, scratch); |
| info | 2611 | drivers/char/serial.c | serial_outp(info, UART_MSR, scratch2); |
| info | 2622 | drivers/char/serial.c | if (info->flags & ASYNC_AUTO_IRQ) |
| info | 2623 | drivers/char/serial.c | info->irq = do_auto_irq(info); |
| info | 2625 | drivers/char/serial.c | scratch2 = serial_in(info, UART_LCR); |
| info | 2626 | drivers/char/serial.c | serial_outp(info, UART_LCR, scratch2 | UART_LCR_DLAB); |
| info | 2627 | drivers/char/serial.c | serial_outp(info, UART_EFR, 0); /* EFR is the same as FCR */ |
| info | 2628 | drivers/char/serial.c | serial_outp(info, UART_LCR, scratch2); |
| info | 2629 | drivers/char/serial.c | serial_outp(info, UART_FCR, UART_FCR_ENABLE_FIFO); |
| info | 2630 | drivers/char/serial.c | scratch = serial_in(info, UART_IIR) >> 6; |
| info | 2631 | drivers/char/serial.c | info->xmit_fifo_size = 1; |
| info | 2634 | drivers/char/serial.c | info->type = PORT_16450; |
| info | 2637 | drivers/char/serial.c | info->type = PORT_UNKNOWN; |
| info | 2640 | drivers/char/serial.c | info->type = PORT_16550; |
| info | 2643 | drivers/char/serial.c | serial_outp(info, UART_LCR, scratch2 | UART_LCR_DLAB); |
| info | 2644 | drivers/char/serial.c | if (serial_in(info, UART_EFR) == 0) { |
| info | 2645 | drivers/char/serial.c | info->type = PORT_16650; |
| info | 2646 | drivers/char/serial.c | info->xmit_fifo_size = 32; |
| info | 2648 | drivers/char/serial.c | info->type = PORT_16550A; |
| info | 2649 | drivers/char/serial.c | info->xmit_fifo_size = 16; |
| info | 2651 | drivers/char/serial.c | serial_outp(info, UART_LCR, scratch2); |
| info | 2654 | drivers/char/serial.c | if (info->type == PORT_16450) { |
| info | 2655 | drivers/char/serial.c | scratch = serial_in(info, UART_SCR); |
| info | 2656 | drivers/char/serial.c | serial_outp(info, UART_SCR, 0xa5); |
| info | 2657 | drivers/char/serial.c | status1 = serial_in(info, UART_SCR); |
| info | 2658 | drivers/char/serial.c | serial_outp(info, UART_SCR, 0x5a); |
| info | 2659 | drivers/char/serial.c | status2 = serial_in(info, UART_SCR); |
| info | 2660 | drivers/char/serial.c | serial_outp(info, UART_SCR, scratch); |
| info | 2663 | drivers/char/serial.c | info->type = PORT_8250; |
| info | 2665 | drivers/char/serial.c | request_region(info->port,8,"serial(auto)"); |
| info | 2675 | drivers/char/serial.c | serial_outp(info, UART_MCR, 0x0c); |
| info | 2677 | drivers/char/serial.c | serial_outp(info, UART_MCR, 0x00); |
| info | 2679 | drivers/char/serial.c | serial_outp(info, UART_FCR, (UART_FCR_CLEAR_RCVR | |
| info | 2681 | drivers/char/serial.c | (void)serial_in(info, UART_RX); |
| info | 2702 | drivers/char/serial.c | struct async_struct * info; |
| info | 2768 | drivers/char/serial.c | for (i = 0, info = rs_table; i < NR_PORTS; i++,info++) { |
| info | 2769 | drivers/char/serial.c | info->magic = SERIAL_MAGIC; |
| info | 2770 | drivers/char/serial.c | info->line = i; |
| info | 2771 | drivers/char/serial.c | info->tty = 0; |
| info | 2772 | drivers/char/serial.c | info->type = PORT_UNKNOWN; |
| info | 2773 | drivers/char/serial.c | info->custom_divisor = 0; |
| info | 2774 | drivers/char/serial.c | info->close_delay = 5*HZ/10; |
| info | 2775 | drivers/char/serial.c | info->closing_wait = 30*HZ; |
| info | 2776 | drivers/char/serial.c | info->x_char = 0; |
| info | 2777 | drivers/char/serial.c | info->event = 0; |
| info | 2778 | drivers/char/serial.c | info->count = 0; |
| info | 2779 | drivers/char/serial.c | info->blocked_open = 0; |
| info | 2780 | drivers/char/serial.c | info->tqueue.routine = do_softint; |
| info | 2781 | drivers/char/serial.c | info->tqueue.data = info; |
| info | 2782 | drivers/char/serial.c | info->tqueue_hangup.routine = do_serial_hangup; |
| info | 2783 | drivers/char/serial.c | info->tqueue_hangup.data = info; |
| info | 2784 | drivers/char/serial.c | info->callout_termios =callout_driver.init_termios; |
| info | 2785 | drivers/char/serial.c | info->normal_termios = serial_driver.init_termios; |
| info | 2786 | drivers/char/serial.c | info->open_wait = 0; |
| info | 2787 | drivers/char/serial.c | info->close_wait = 0; |
| info | 2788 | drivers/char/serial.c | info->delta_msr_wait = 0; |
| info | 2789 | drivers/char/serial.c | info->icount.cts = info->icount.dsr = |
| info | 2790 | drivers/char/serial.c | info->icount.rng = info->icount.dcd = 0; |
| info | 2791 | drivers/char/serial.c | info->next_port = 0; |
| info | 2792 | drivers/char/serial.c | info->prev_port = 0; |
| info | 2793 | drivers/char/serial.c | if (info->irq == 2) |
| info | 2794 | drivers/char/serial.c | info->irq = 9; |
| info | 2795 | drivers/char/serial.c | if (!(info->flags & ASYNC_BOOT_AUTOCONF)) |
| info | 2797 | drivers/char/serial.c | autoconfig(info); |
| info | 2798 | drivers/char/serial.c | if (info->type == PORT_UNKNOWN) |
| info | 2800 | drivers/char/serial.c | printk(KERN_INFO "tty%02d%s at 0x%04x (irq = %d)", info->line, |
| info | 2801 | drivers/char/serial.c | (info->flags & ASYNC_FOURPORT) ? " FourPort" : "", |
| info | 2802 | drivers/char/serial.c | info->port, info->irq); |
| info | 2803 | drivers/char/serial.c | switch (info->type) { |
| info | 2836 | drivers/char/serial.c | struct async_struct *info; |
| info | 2854 | drivers/char/serial.c | info = &rs_table[i]; |
| info | 2861 | drivers/char/serial.c | info->irq = req->irq; |
| info | 2862 | drivers/char/serial.c | info->port = req->port; |
| info | 2863 | drivers/char/serial.c | info->flags = req->flags; |
| info | 2864 | drivers/char/serial.c | autoconfig(info); |
| info | 2865 | drivers/char/serial.c | if (info->type == PORT_UNKNOWN) { |
| info | 2870 | drivers/char/serial.c | printk(KERN_INFO "tty%02d at 0x%04x (irq = %d)", info->line, |
| info | 2871 | drivers/char/serial.c | info->port, info->irq); |
| info | 2872 | drivers/char/serial.c | switch (info->type) { |
| info | 2885 | drivers/char/serial.c | return info->line; |
| info | 2891 | drivers/char/serial.c | struct async_struct *info = &rs_table[line]; |
| info | 2895 | drivers/char/serial.c | if (info->tty) |
| info | 2896 | drivers/char/serial.c | tty_hangup(info->tty); |
| info | 2897 | drivers/char/serial.c | info->type = PORT_UNKNOWN; |
| info | 2898 | drivers/char/serial.c | printk(KERN_INFO "tty%02d unloaded\n", info->line); |
| info | 370 | drivers/isdn/isdn_common.c | isdn_tty_modem_result(2, &dev->mdm.info[mi]); |
| info | 433 | drivers/isdn/isdn_common.c | if (dev->mdm.info[mi].flags & |
| info | 460 | drivers/isdn/isdn_common.c | if (dev->mdm.info[mi].flags & |
| info | 464 | drivers/isdn/isdn_common.c | isdn_tty_modem_result(7, &dev->mdm.info[mi]); |
| info | 467 | drivers/isdn/isdn_common.c | isdn_tty_modem_result(3, &dev->mdm.info[mi]); |
| info | 471 | drivers/isdn/isdn_common.c | isdn_tty_modem_hup(&dev->mdm.info[mi]); |
| info | 494 | drivers/isdn/isdn_common.c | if (dev->mdm.info[mi].flags & |
| info | 500 | drivers/isdn/isdn_common.c | isdn_tty_modem_result(5, &dev->mdm.info[mi]); |
| info | 516 | drivers/isdn/isdn_common.c | if (dev->mdm.info[mi].flags & |
| info | 520 | drivers/isdn/isdn_common.c | isdn_tty_modem_result(3, &dev->mdm.info[mi]); |
| info | 524 | drivers/isdn/isdn_common.c | isdn_tty_modem_hup(&dev->mdm.info[mi]); |
| info | 539 | drivers/isdn/isdn_common.c | if (dev->mdm.info[mi].flags & |
| info | 543 | drivers/isdn/isdn_common.c | isdn_tty_modem_result(6, &dev->mdm.info[mi]); |
| info | 547 | drivers/isdn/isdn_common.c | isdn_tty_modem_result(3, &dev->mdm.info[mi]); |
| info | 562 | drivers/isdn/isdn_common.c | dev->mdm.info[i].isdn_driver = -1; |
| info | 563 | drivers/isdn/isdn_common.c | dev->mdm.info[i].isdn_channel = -1; |
| info | 1897 | drivers/isdn/isdn_common.c | kfree(dev->mdm.info[i].xmit_buf - 4); |
| info | 1953 | drivers/isdn/isdn_common.c | kfree(dev->mdm.info[i].xmit_buf - 4); |
| info | 67 | drivers/isdn/isdn_tty.c | if ((tty = dev->mdm.info[i].tty)) { |
| info | 68 | drivers/isdn/isdn_tty.c | if (dev->mdm.info[i].MCR & UART_MCR_RTS) { |
| info | 99 | drivers/isdn/isdn_tty.c | modem_info *info; |
| info | 107 | drivers/isdn/isdn_tty.c | info = &dev->mdm.info[midx]; |
| info | 108 | drivers/isdn/isdn_tty.c | if ((tty = info->tty)) { |
| info | 109 | drivers/isdn/isdn_tty.c | if (info->MCR & UART_MCR_RTS) { |
| info | 112 | drivers/isdn/isdn_tty.c | r = isdn_readbchan(info->isdn_driver, info->isdn_channel, |
| info | 147 | drivers/isdn/isdn_tty.c | static void isdn_tty_dial(char *n, modem_info * info, atemu * m) |
| info | 158 | drivers/isdn/isdn_tty.c | isdn_tty_modem_result(6, info); |
| info | 161 | drivers/isdn/isdn_tty.c | info->isdn_driver = dev->drvmap[i]; |
| info | 162 | drivers/isdn/isdn_tty.c | info->isdn_channel = dev->chanmap[i]; |
| info | 163 | drivers/isdn/isdn_tty.c | info->drv_index = i; |
| info | 164 | drivers/isdn/isdn_tty.c | dev->m_idx[i] = info->line; |
| info | 168 | drivers/isdn/isdn_tty.c | cmd.driver = info->isdn_driver; |
| info | 169 | drivers/isdn/isdn_tty.c | cmd.arg = info->isdn_channel; |
| info | 171 | drivers/isdn/isdn_tty.c | dev->drv[info->isdn_driver]->interface->command(&cmd); |
| info | 172 | drivers/isdn/isdn_tty.c | strcpy(cmd.num, isdn_map_eaz2msn(m->msn, info->isdn_driver)); |
| info | 173 | drivers/isdn/isdn_tty.c | cmd.driver = info->isdn_driver; |
| info | 175 | drivers/isdn/isdn_tty.c | dev->drv[info->isdn_driver]->interface->command(&cmd); |
| info | 176 | drivers/isdn/isdn_tty.c | cmd.driver = info->isdn_driver; |
| info | 178 | drivers/isdn/isdn_tty.c | cmd.arg = info->isdn_channel + (m->mdmreg[14] << 8); |
| info | 179 | drivers/isdn/isdn_tty.c | dev->drv[info->isdn_driver]->interface->command(&cmd); |
| info | 180 | drivers/isdn/isdn_tty.c | cmd.driver = info->isdn_driver; |
| info | 182 | drivers/isdn/isdn_tty.c | cmd.arg = info->isdn_channel + (m->mdmreg[15] << 8); |
| info | 183 | drivers/isdn/isdn_tty.c | dev->drv[info->isdn_driver]->interface->command(&cmd); |
| info | 184 | drivers/isdn/isdn_tty.c | cmd.driver = info->isdn_driver; |
| info | 185 | drivers/isdn/isdn_tty.c | cmd.arg = info->isdn_channel; |
| info | 186 | drivers/isdn/isdn_tty.c | sprintf(cmd.num, "%s,%s,%d,%d", n, isdn_map_eaz2msn(m->msn, info->isdn_driver), |
| info | 189 | drivers/isdn/isdn_tty.c | dev->mdm.dialing[info->line] = 1; |
| info | 192 | drivers/isdn/isdn_tty.c | dev->drv[info->isdn_driver]->interface->command(&cmd); |
| info | 198 | drivers/isdn/isdn_tty.c | void isdn_tty_modem_hup(modem_info * info) |
| info | 202 | drivers/isdn/isdn_tty.c | if (!info) |
| info | 204 | drivers/isdn/isdn_tty.c | dev->mdm.rcvsched[info->line] = 0; |
| info | 205 | drivers/isdn/isdn_tty.c | dev->mdm.online[info->line] = 0; |
| info | 206 | drivers/isdn/isdn_tty.c | if (info->isdn_driver >= 0) { |
| info | 207 | drivers/isdn/isdn_tty.c | cmd.driver = info->isdn_driver; |
| info | 209 | drivers/isdn/isdn_tty.c | cmd.arg = info->isdn_channel; |
| info | 210 | drivers/isdn/isdn_tty.c | dev->drv[info->isdn_driver]->interface->command(&cmd); |
| info | 211 | drivers/isdn/isdn_tty.c | isdn_all_eaz(info->isdn_driver, info->isdn_channel); |
| info | 212 | drivers/isdn/isdn_tty.c | isdn_free_channel(info->isdn_driver, info->isdn_channel, ISDN_USAGE_MODEM); |
| info | 214 | drivers/isdn/isdn_tty.c | info->isdn_driver = -1; |
| info | 215 | drivers/isdn/isdn_tty.c | info->isdn_channel = -1; |
| info | 216 | drivers/isdn/isdn_tty.c | if (info->drv_index >= 0) { |
| info | 217 | drivers/isdn/isdn_tty.c | info->drv_index = -1; |
| info | 218 | drivers/isdn/isdn_tty.c | dev->m_idx[info->drv_index] = -1; |
| info | 222 | drivers/isdn/isdn_tty.c | static inline int isdn_tty_paranoia_check(modem_info * info, dev_t device, const char *routine) |
| info | 225 | drivers/isdn/isdn_tty.c | if (!info) { |
| info | 230 | drivers/isdn/isdn_tty.c | if (info->magic != ISDN_ASYNC_MAGIC) { |
| info | 243 | drivers/isdn/isdn_tty.c | static void isdn_tty_change_speed(modem_info * info) |
| info | 248 | drivers/isdn/isdn_tty.c | if (!info->tty || !info->tty->termios) |
| info | 250 | drivers/isdn/isdn_tty.c | cflag = info->tty->termios->c_cflag; |
| info | 256 | drivers/isdn/isdn_tty.c | info->tty->termios->c_cflag &= ~CBAUDEX; |
| info | 261 | drivers/isdn/isdn_tty.c | info->MCR |= UART_MCR_DTR; |
| info | 263 | drivers/isdn/isdn_tty.c | info->MCR &= ~UART_MCR_DTR; |
| info | 264 | drivers/isdn/isdn_tty.c | isdn_tty_modem_reset_regs(&dev->mdm.atmodem[info->line], 0); |
| info | 268 | drivers/isdn/isdn_tty.c | isdn_tty_modem_hup(info); |
| info | 269 | drivers/isdn/isdn_tty.c | if (dev->mdm.online[info->line]) |
| info | 270 | drivers/isdn/isdn_tty.c | isdn_tty_modem_result(3, info); |
| info | 284 | drivers/isdn/isdn_tty.c | info->flags |= ISDN_ASYNC_CTS_FLOW; |
| info | 286 | drivers/isdn/isdn_tty.c | info->flags &= ~ISDN_ASYNC_CTS_FLOW; |
| info | 288 | drivers/isdn/isdn_tty.c | info->flags &= ~ISDN_ASYNC_CHECK_CD; |
| info | 290 | drivers/isdn/isdn_tty.c | info->flags |= ISDN_ASYNC_CHECK_CD; |
| info | 294 | drivers/isdn/isdn_tty.c | static int isdn_tty_startup(modem_info * info) |
| info | 298 | drivers/isdn/isdn_tty.c | if (info->flags & ISDN_ASYNC_INITIALIZED) |
| info | 300 | drivers/isdn/isdn_tty.c | if (!info->type) { |
| info | 301 | drivers/isdn/isdn_tty.c | if (info->tty) |
| info | 302 | drivers/isdn/isdn_tty.c | set_bit(TTY_IO_ERROR, &info->tty->flags); |
| info | 309 | drivers/isdn/isdn_tty.c | printk(KERN_DEBUG "starting up ttyi%d ...\n", info->line); |
| info | 314 | drivers/isdn/isdn_tty.c | info->MCR = UART_MCR_DTR | UART_MCR_RTS | UART_MCR_OUT2; |
| info | 315 | drivers/isdn/isdn_tty.c | if (info->tty) |
| info | 316 | drivers/isdn/isdn_tty.c | clear_bit(TTY_IO_ERROR, &info->tty->flags); |
| info | 320 | drivers/isdn/isdn_tty.c | isdn_tty_change_speed(info); |
| info | 322 | drivers/isdn/isdn_tty.c | info->flags |= ISDN_ASYNC_INITIALIZED; |
| info | 323 | drivers/isdn/isdn_tty.c | dev->mdm.msr[info->line] |= UART_MSR_DSR; |
| info | 325 | drivers/isdn/isdn_tty.c | info->send_outstanding = 0; |
| info | 335 | drivers/isdn/isdn_tty.c | static void isdn_tty_shutdown(modem_info * info) |
| info | 339 | drivers/isdn/isdn_tty.c | if (!(info->flags & ISDN_ASYNC_INITIALIZED)) |
| info | 342 | drivers/isdn/isdn_tty.c | printk(KERN_DEBUG "Shutting down isdnmodem port %d ....\n", info->line); |
| info | 346 | drivers/isdn/isdn_tty.c | if (!info->tty || (info->tty->termios->c_cflag & HUPCL)) { |
| info | 347 | drivers/isdn/isdn_tty.c | info->MCR &= ~(UART_MCR_DTR | UART_MCR_RTS); |
| info | 348 | drivers/isdn/isdn_tty.c | isdn_tty_modem_reset_regs(&dev->mdm.atmodem[info->line], 0); |
| info | 352 | drivers/isdn/isdn_tty.c | isdn_tty_modem_hup(info); |
| info | 354 | drivers/isdn/isdn_tty.c | if (info->tty) |
| info | 355 | drivers/isdn/isdn_tty.c | set_bit(TTY_IO_ERROR, &info->tty->flags); |
| info | 357 | drivers/isdn/isdn_tty.c | info->flags &= ~ISDN_ASYNC_INITIALIZED; |
| info | 364 | drivers/isdn/isdn_tty.c | modem_info *info = (modem_info *) tty->driver_data; |
| info | 368 | drivers/isdn/isdn_tty.c | if (isdn_tty_paranoia_check(info, tty->device, "isdn_tty_write")) |
| info | 375 | drivers/isdn/isdn_tty.c | c = MIN(count, info->xmit_size - info->xmit_count - 1); |
| info | 376 | drivers/isdn/isdn_tty.c | if (info->isdn_driver >= 0) { |
| info | 378 | drivers/isdn/isdn_tty.c | if (info->isdn_driver != 0) { |
| info | 382 | drivers/isdn/isdn_tty.c | int drvidx = info->isdn_driver; |
| info | 386 | drivers/isdn/isdn_tty.c | i = dev->drv[info->isdn_driver]->maxbufsize; |
| info | 392 | drivers/isdn/isdn_tty.c | i = info->line; |
| info | 398 | drivers/isdn/isdn_tty.c | memcpy_fromfs(&(info->xmit_buf[info->xmit_count]), buf, c); |
| info | 400 | drivers/isdn/isdn_tty.c | memcpy(&(info->xmit_buf[info->xmit_count]), buf, c); |
| info | 401 | drivers/isdn/isdn_tty.c | info->xmit_count += c; |
| info | 406 | drivers/isdn/isdn_tty.c | printk(KERN_DEBUG "WB1: %d\n", info->xmit_count); |
| info | 408 | drivers/isdn/isdn_tty.c | bufptr = info->xmit_buf; |
| info | 409 | drivers/isdn/isdn_tty.c | buflen = info->xmit_count; |
| info | 423 | drivers/isdn/isdn_tty.c | if (isdn_writebuf_stub(info->isdn_driver, info->isdn_channel, bufptr, |
| info | 425 | drivers/isdn/isdn_tty.c | info->xmit_count = 0; |
| info | 426 | drivers/isdn/isdn_tty.c | info->xmit_size = dev->mdm.atmodem[i].mdmreg[16] * 16; |
| info | 428 | drivers/isdn/isdn_tty.c | info->send_outstanding++; |
| info | 443 | drivers/isdn/isdn_tty.c | isdn_tty_modem_hup(info); |
| info | 444 | drivers/isdn/isdn_tty.c | isdn_tty_modem_result(3, info); |
| info | 446 | drivers/isdn/isdn_tty.c | c = isdn_tty_edit_at(buf, c, info, from_user); |
| info | 452 | drivers/isdn/isdn_tty.c | if (info->xmit_count) |
| info | 460 | drivers/isdn/isdn_tty.c | modem_info *info = (modem_info *) tty->driver_data; |
| info | 463 | drivers/isdn/isdn_tty.c | if (isdn_tty_paranoia_check(info, tty->device, "isdn_tty_write_room")) |
| info | 465 | drivers/isdn/isdn_tty.c | if (!dev->mdm.online[info->line]) |
| info | 466 | drivers/isdn/isdn_tty.c | return info->xmit_size - 1; |
| info | 467 | drivers/isdn/isdn_tty.c | ret = info->xmit_size - info->xmit_count - 1; |
| info | 473 | drivers/isdn/isdn_tty.c | modem_info *info = (modem_info *) tty->driver_data; |
| info | 475 | drivers/isdn/isdn_tty.c | if (isdn_tty_paranoia_check(info, tty->device, "isdn_tty_chars_in_buffer")) |
| info | 477 | drivers/isdn/isdn_tty.c | if (!dev->mdm.online[info->line]) |
| info | 479 | drivers/isdn/isdn_tty.c | return (info->xmit_count); |
| info | 484 | drivers/isdn/isdn_tty.c | modem_info *info = (modem_info *) tty->driver_data; |
| info | 487 | drivers/isdn/isdn_tty.c | if (isdn_tty_paranoia_check(info, tty->device, "isdn_tty_flush_buffer")) |
| info | 491 | drivers/isdn/isdn_tty.c | info->xmit_count = 0; |
| info | 501 | drivers/isdn/isdn_tty.c | modem_info *info = (modem_info *) tty->driver_data; |
| info | 503 | drivers/isdn/isdn_tty.c | if (isdn_tty_paranoia_check(info, tty->device, "isdn_tty_flush_chars")) |
| info | 505 | drivers/isdn/isdn_tty.c | if (info->xmit_count > 0) |
| info | 519 | drivers/isdn/isdn_tty.c | modem_info *info = (modem_info *) tty->driver_data; |
| info | 521 | drivers/isdn/isdn_tty.c | if (isdn_tty_paranoia_check(info, tty->device, "isdn_tty_throttle")) |
| info | 524 | drivers/isdn/isdn_tty.c | info->x_char = STOP_CHAR(tty); |
| info | 525 | drivers/isdn/isdn_tty.c | info->MCR &= ~UART_MCR_RTS; |
| info | 530 | drivers/isdn/isdn_tty.c | modem_info *info = (modem_info *) tty->driver_data; |
| info | 532 | drivers/isdn/isdn_tty.c | if (isdn_tty_paranoia_check(info, tty->device, "isdn_tty_unthrottle")) |
| info | 535 | drivers/isdn/isdn_tty.c | if (info->x_char) |
| info | 536 | drivers/isdn/isdn_tty.c | info->x_char = 0; |
| info | 538 | drivers/isdn/isdn_tty.c | info->x_char = START_CHAR(tty); |
| info | 540 | drivers/isdn/isdn_tty.c | info->MCR |= UART_MCR_RTS; |
| info | 559 | drivers/isdn/isdn_tty.c | static int isdn_tty_get_lsr_info(modem_info * info, uint * value) |
| info | 567 | drivers/isdn/isdn_tty.c | status = dev->mdm.msr[info->line]; |
| info | 575 | drivers/isdn/isdn_tty.c | static int isdn_tty_get_modem_info(modem_info * info, uint * value) |
| info | 581 | drivers/isdn/isdn_tty.c | control = info->MCR; |
| info | 584 | drivers/isdn/isdn_tty.c | status = dev->mdm.msr[info->line]; |
| info | 596 | drivers/isdn/isdn_tty.c | static int isdn_tty_set_modem_info(modem_info * info, uint cmd, uint * value) |
| info | 603 | drivers/isdn/isdn_tty.c | info->MCR |= UART_MCR_RTS; |
| info | 606 | drivers/isdn/isdn_tty.c | info->MCR |= UART_MCR_DTR; |
| info | 611 | drivers/isdn/isdn_tty.c | info->MCR &= ~UART_MCR_RTS; |
| info | 614 | drivers/isdn/isdn_tty.c | info->MCR &= ~UART_MCR_DTR; |
| info | 615 | drivers/isdn/isdn_tty.c | isdn_tty_modem_reset_regs(&dev->mdm.atmodem[info->line], 0); |
| info | 619 | drivers/isdn/isdn_tty.c | isdn_tty_modem_hup(info); |
| info | 620 | drivers/isdn/isdn_tty.c | if (dev->mdm.online[info->line]) |
| info | 621 | drivers/isdn/isdn_tty.c | isdn_tty_modem_result(3, info); |
| info | 625 | drivers/isdn/isdn_tty.c | info->MCR = ((info->MCR & ~(UART_MCR_RTS | UART_MCR_DTR)) |
| info | 628 | drivers/isdn/isdn_tty.c | if (!(info->MCR & UART_MCR_DTR)) { |
| info | 629 | drivers/isdn/isdn_tty.c | isdn_tty_modem_reset_regs(&dev->mdm.atmodem[info->line], 0); |
| info | 633 | drivers/isdn/isdn_tty.c | isdn_tty_modem_hup(info); |
| info | 634 | drivers/isdn/isdn_tty.c | if (dev->mdm.online[info->line]) |
| info | 635 | drivers/isdn/isdn_tty.c | isdn_tty_modem_result(3, info); |
| info | 647 | drivers/isdn/isdn_tty.c | modem_info *info = (modem_info *) tty->driver_data; |
| info | 651 | drivers/isdn/isdn_tty.c | if (isdn_tty_paranoia_check(info, tty->device, "isdn_tty_ioctl")) |
| info | 682 | drivers/isdn/isdn_tty.c | return isdn_tty_get_modem_info(info, (uint *) arg); |
| info | 686 | drivers/isdn/isdn_tty.c | return isdn_tty_set_modem_info(info, cmd, (uint *) arg); |
| info | 692 | drivers/isdn/isdn_tty.c | return isdn_tty_get_lsr_info(info, (uint *) arg); |
| info | 701 | drivers/isdn/isdn_tty.c | return get_serial_info(info, |
| info | 707 | drivers/isdn/isdn_tty.c | return set_serial_info(info, |
| info | 713 | drivers/isdn/isdn_tty.c | return do_autoconfig(info); |
| info | 744 | drivers/isdn/isdn_tty.c | info, sizeof(modem_info)); |
| info | 749 | drivers/isdn/isdn_tty.c | printk(KERN_DEBUG "unsupp. ioctl 0x%08x on ttyi%d\n", cmd, info->line); |
| info | 758 | drivers/isdn/isdn_tty.c | modem_info *info = (modem_info *) tty->driver_data; |
| info | 762 | drivers/isdn/isdn_tty.c | isdn_tty_change_speed(info); |
| info | 774 | drivers/isdn/isdn_tty.c | static int isdn_tty_block_til_ready(struct tty_struct *tty, struct file *filp, modem_info * info) |
| info | 786 | drivers/isdn/isdn_tty.c | (info->flags & ISDN_ASYNC_CLOSING)) { |
| info | 787 | drivers/isdn/isdn_tty.c | if (info->flags & ISDN_ASYNC_CLOSING) |
| info | 788 | drivers/isdn/isdn_tty.c | interruptible_sleep_on(&info->close_wait); |
| info | 790 | drivers/isdn/isdn_tty.c | if (info->flags & ISDN_ASYNC_HUP_NOTIFY) |
| info | 803 | drivers/isdn/isdn_tty.c | if (info->flags & ISDN_ASYNC_NORMAL_ACTIVE) |
| info | 805 | drivers/isdn/isdn_tty.c | if ((info->flags & ISDN_ASYNC_CALLOUT_ACTIVE) && |
| info | 806 | drivers/isdn/isdn_tty.c | (info->flags & ISDN_ASYNC_SESSION_LOCKOUT) && |
| info | 807 | drivers/isdn/isdn_tty.c | (info->session != current->session)) |
| info | 809 | drivers/isdn/isdn_tty.c | if ((info->flags & ISDN_ASYNC_CALLOUT_ACTIVE) && |
| info | 810 | drivers/isdn/isdn_tty.c | (info->flags & ISDN_ASYNC_PGRP_LOCKOUT) && |
| info | 811 | drivers/isdn/isdn_tty.c | (info->pgrp != current->pgrp)) |
| info | 813 | drivers/isdn/isdn_tty.c | info->flags |= ISDN_ASYNC_CALLOUT_ACTIVE; |
| info | 821 | drivers/isdn/isdn_tty.c | if (info->flags & ISDN_ASYNC_CALLOUT_ACTIVE) |
| info | 823 | drivers/isdn/isdn_tty.c | info->flags |= ISDN_ASYNC_NORMAL_ACTIVE; |
| info | 826 | drivers/isdn/isdn_tty.c | if (info->flags & ISDN_ASYNC_CALLOUT_ACTIVE) { |
| info | 827 | drivers/isdn/isdn_tty.c | if (info->normal_termios.c_cflag & CLOCAL) |
| info | 841 | drivers/isdn/isdn_tty.c | add_wait_queue(&info->open_wait, &wait); |
| info | 844 | drivers/isdn/isdn_tty.c | info->line, info->count); |
| info | 849 | drivers/isdn/isdn_tty.c | info->count--; |
| info | 851 | drivers/isdn/isdn_tty.c | info->blocked_open++; |
| info | 855 | drivers/isdn/isdn_tty.c | !(info->flags & ISDN_ASYNC_INITIALIZED)) { |
| info | 857 | drivers/isdn/isdn_tty.c | if (info->flags & ISDN_ASYNC_HUP_NOTIFY) |
| info | 866 | drivers/isdn/isdn_tty.c | if (!(info->flags & ISDN_ASYNC_CALLOUT_ACTIVE) && |
| info | 867 | drivers/isdn/isdn_tty.c | !(info->flags & ISDN_ASYNC_CLOSING) && |
| info | 869 | drivers/isdn/isdn_tty.c | dev->mdm.msr[info->line] & |
| info | 879 | drivers/isdn/isdn_tty.c | info->line, info->count); |
| info | 884 | drivers/isdn/isdn_tty.c | remove_wait_queue(&info->open_wait, &wait); |
| info | 886 | drivers/isdn/isdn_tty.c | info->count++; |
| info | 887 | drivers/isdn/isdn_tty.c | info->blocked_open--; |
| info | 890 | drivers/isdn/isdn_tty.c | info->line, info->count); |
| info | 894 | drivers/isdn/isdn_tty.c | info->flags |= ISDN_ASYNC_NORMAL_ACTIVE; |
| info | 906 | drivers/isdn/isdn_tty.c | modem_info *info; |
| info | 912 | drivers/isdn/isdn_tty.c | info = &dev->mdm.info[line]; |
| info | 913 | drivers/isdn/isdn_tty.c | if (isdn_tty_paranoia_check(info, tty->device, "isdn_tty_open")) |
| info | 917 | drivers/isdn/isdn_tty.c | info->line, info->count); |
| info | 919 | drivers/isdn/isdn_tty.c | info->count++; |
| info | 920 | drivers/isdn/isdn_tty.c | tty->driver_data = info; |
| info | 921 | drivers/isdn/isdn_tty.c | info->tty = tty; |
| info | 925 | drivers/isdn/isdn_tty.c | retval = isdn_tty_startup(info); |
| info | 932 | drivers/isdn/isdn_tty.c | retval = isdn_tty_block_til_ready(tty, filp, info); |
| info | 939 | drivers/isdn/isdn_tty.c | if ((info->count == 1) && (info->flags & ISDN_ASYNC_SPLIT_TERMIOS)) { |
| info | 941 | drivers/isdn/isdn_tty.c | *tty->termios = info->normal_termios; |
| info | 943 | drivers/isdn/isdn_tty.c | *tty->termios = info->callout_termios; |
| info | 944 | drivers/isdn/isdn_tty.c | isdn_tty_change_speed(info); |
| info | 946 | drivers/isdn/isdn_tty.c | info->session = current->session; |
| info | 947 | drivers/isdn/isdn_tty.c | info->pgrp = current->pgrp; |
| info | 949 | drivers/isdn/isdn_tty.c | printk(KERN_DEBUG "isdn_tty_open ttyi%d successful...\n", info->line); |
| info | 960 | drivers/isdn/isdn_tty.c | modem_info *info = (modem_info *) tty->driver_data; |
| info | 964 | drivers/isdn/isdn_tty.c | if (!info || isdn_tty_paranoia_check(info, tty->device, "isdn_tty_close")) |
| info | 976 | drivers/isdn/isdn_tty.c | if ((tty->count == 1) && (info->count != 1)) { |
| info | 985 | drivers/isdn/isdn_tty.c | "info->count is %d\n", info->count); |
| info | 986 | drivers/isdn/isdn_tty.c | info->count = 1; |
| info | 988 | drivers/isdn/isdn_tty.c | if (--info->count < 0) { |
| info | 990 | drivers/isdn/isdn_tty.c | info->line, info->count); |
| info | 991 | drivers/isdn/isdn_tty.c | info->count = 0; |
| info | 993 | drivers/isdn/isdn_tty.c | if (info->count) { |
| info | 1000 | drivers/isdn/isdn_tty.c | info->flags |= ISDN_ASYNC_CLOSING; |
| info | 1005 | drivers/isdn/isdn_tty.c | if (info->flags & ISDN_ASYNC_NORMAL_ACTIVE) |
| info | 1006 | drivers/isdn/isdn_tty.c | info->normal_termios = *tty->termios; |
| info | 1007 | drivers/isdn/isdn_tty.c | if (info->flags & ISDN_ASYNC_CALLOUT_ACTIVE) |
| info | 1008 | drivers/isdn/isdn_tty.c | info->callout_termios = *tty->termios; |
| info | 1018 | drivers/isdn/isdn_tty.c | if (info->flags & ISDN_ASYNC_INITIALIZED) { |
| info | 1026 | drivers/isdn/isdn_tty.c | while (!(dev->mdm.mlr[info->line] |
| info | 1035 | drivers/isdn/isdn_tty.c | isdn_tty_shutdown(info); |
| info | 1040 | drivers/isdn/isdn_tty.c | info->tty = 0; |
| info | 1052 | drivers/isdn/isdn_tty.c | if (info->blocked_open) { |
| info | 1053 | drivers/isdn/isdn_tty.c | if (info->close_delay) { |
| info | 1055 | drivers/isdn/isdn_tty.c | current->timeout = jiffies + info->close_delay; |
| info | 1058 | drivers/isdn/isdn_tty.c | wake_up_interruptible(&info->open_wait); |
| info | 1060 | drivers/isdn/isdn_tty.c | info->flags &= ~(ISDN_ASYNC_NORMAL_ACTIVE | ISDN_ASYNC_CALLOUT_ACTIVE | |
| info | 1062 | drivers/isdn/isdn_tty.c | wake_up_interruptible(&info->close_wait); |
| info | 1074 | drivers/isdn/isdn_tty.c | modem_info *info = (modem_info *) tty->driver_data; |
| info | 1076 | drivers/isdn/isdn_tty.c | if (isdn_tty_paranoia_check(info, tty->device, "isdn_tty_hangup")) |
| info | 1078 | drivers/isdn/isdn_tty.c | isdn_tty_shutdown(info); |
| info | 1079 | drivers/isdn/isdn_tty.c | info->count = 0; |
| info | 1080 | drivers/isdn/isdn_tty.c | info->flags &= ~(ISDN_ASYNC_NORMAL_ACTIVE | ISDN_ASYNC_CALLOUT_ACTIVE); |
| info | 1081 | drivers/isdn/isdn_tty.c | info->tty = 0; |
| info | 1082 | drivers/isdn/isdn_tty.c | wake_up_interruptible(&info->open_wait); |
| info | 1131 | drivers/isdn/isdn_tty.c | modem_info *info; |
| info | 1187 | drivers/isdn/isdn_tty.c | info = &(m->info[i]); |
| info | 1188 | drivers/isdn/isdn_tty.c | info->magic = ISDN_ASYNC_MAGIC; |
| info | 1189 | drivers/isdn/isdn_tty.c | info->line = i; |
| info | 1190 | drivers/isdn/isdn_tty.c | info->tty = 0; |
| info | 1191 | drivers/isdn/isdn_tty.c | info->close_delay = 50; |
| info | 1192 | drivers/isdn/isdn_tty.c | info->x_char = 0; |
| info | 1193 | drivers/isdn/isdn_tty.c | info->count = 0; |
| info | 1194 | drivers/isdn/isdn_tty.c | info->blocked_open = 0; |
| info | 1195 | drivers/isdn/isdn_tty.c | info->callout_termios = m->cua_modem.init_termios; |
| info | 1196 | drivers/isdn/isdn_tty.c | info->normal_termios = m->tty_modem.init_termios; |
| info | 1197 | drivers/isdn/isdn_tty.c | info->open_wait = 0; |
| info | 1198 | drivers/isdn/isdn_tty.c | info->close_wait = 0; |
| info | 1199 | drivers/isdn/isdn_tty.c | info->type = ISDN_PORT_16550A; |
| info | 1200 | drivers/isdn/isdn_tty.c | info->isdn_driver = -1; |
| info | 1201 | drivers/isdn/isdn_tty.c | info->isdn_channel = -1; |
| info | 1202 | drivers/isdn/isdn_tty.c | info->drv_index = -1; |
| info | 1203 | drivers/isdn/isdn_tty.c | info->xmit_size = ISDN_SERIAL_XMIT_SIZE; |
| info | 1204 | drivers/isdn/isdn_tty.c | if (!(info->xmit_buf = kmalloc(ISDN_SERIAL_XMIT_SIZE + 5, GFP_KERNEL))) { |
| info | 1208 | drivers/isdn/isdn_tty.c | info->xmit_buf += 4; /* Make room for T.70 header */ |
| info | 1273 | drivers/isdn/isdn_tty.c | modem_info *info = &dev->mdm.info[i]; |
| info | 1278 | drivers/isdn/isdn_tty.c | info->flags, info->isdn_driver, info->isdn_channel, |
| info | 1281 | drivers/isdn/isdn_tty.c | if ((info->flags & ISDN_ASYNC_NORMAL_ACTIVE) && |
| info | 1282 | drivers/isdn/isdn_tty.c | (info->isdn_driver == -1) && |
| info | 1283 | drivers/isdn/isdn_tty.c | (info->isdn_channel == -1) && |
| info | 1285 | drivers/isdn/isdn_tty.c | info->isdn_driver = di; |
| info | 1286 | drivers/isdn/isdn_tty.c | info->isdn_channel = ch; |
| info | 1287 | drivers/isdn/isdn_tty.c | info->drv_index = idx; |
| info | 1288 | drivers/isdn/isdn_tty.c | dev->m_idx[idx] = info->line; |
| info | 1295 | drivers/isdn/isdn_tty.c | info->line); |
| info | 1296 | drivers/isdn/isdn_tty.c | return info->line; |
| info | 1316 | drivers/isdn/isdn_tty.c | static void isdn_tty_at_cout(char *msg, modem_info * info) |
| info | 1319 | drivers/isdn/isdn_tty.c | atemu *m = &(dev->mdm.atmodem[info->line]); |
| info | 1330 | drivers/isdn/isdn_tty.c | tty = info->tty; |
| info | 1345 | drivers/isdn/isdn_tty.c | if ((info->flags & ISDN_ASYNC_CLOSING) || (!tty)) { |
| info | 1360 | drivers/isdn/isdn_tty.c | static void isdn_tty_on_hook(modem_info * info) |
| info | 1362 | drivers/isdn/isdn_tty.c | if (info->isdn_channel >= 0) { |
| info | 1366 | drivers/isdn/isdn_tty.c | isdn_tty_modem_hup(info); |
| info | 1367 | drivers/isdn/isdn_tty.c | isdn_tty_modem_result(3, info); |
| info | 1434 | drivers/isdn/isdn_tty.c | void isdn_tty_modem_result(int code, modem_info * info) |
| info | 1436 | drivers/isdn/isdn_tty.c | atemu *m = &dev->mdm.atmodem[info->line]; |
| info | 1451 | drivers/isdn/isdn_tty.c | dev->mdm.msr[info->line] &= ~UART_MSR_RI; |
| info | 1452 | drivers/isdn/isdn_tty.c | cmd.driver = info->isdn_driver; |
| info | 1453 | drivers/isdn/isdn_tty.c | cmd.arg = info->isdn_channel; |
| info | 1455 | drivers/isdn/isdn_tty.c | dev->drv[info->isdn_driver]->interface->command(&cmd); |
| info | 1462 | drivers/isdn/isdn_tty.c | dev->mdm.msr[info->line] &= ~(UART_MSR_DCD | UART_MSR_RI); |
| info | 1463 | drivers/isdn/isdn_tty.c | if ((info->flags & ISDN_ASYNC_CLOSING) || (!info->tty)) { |
| info | 1471 | drivers/isdn/isdn_tty.c | dev->mdm.online[info->line] = 1; |
| info | 1476 | drivers/isdn/isdn_tty.c | isdn_tty_at_cout("\r\n", info); |
| info | 1480 | drivers/isdn/isdn_tty.c | isdn_tty_at_cout(s, info); |
| info | 1483 | drivers/isdn/isdn_tty.c | isdn_tty_at_cout("CALLER NUMBER: ", info); |
| info | 1484 | drivers/isdn/isdn_tty.c | isdn_tty_at_cout(dev->num[info->drv_index], info); |
| info | 1485 | drivers/isdn/isdn_tty.c | isdn_tty_at_cout("\r\n", info); |
| info | 1487 | drivers/isdn/isdn_tty.c | isdn_tty_at_cout(msg[code], info); |
| info | 1490 | drivers/isdn/isdn_tty.c | isdn_tty_at_cout((m->mdmreg[14] != 3) ? "/X.75" : "/HDLC", info); |
| info | 1492 | drivers/isdn/isdn_tty.c | isdn_tty_at_cout("/T.70", info); |
| info | 1495 | drivers/isdn/isdn_tty.c | isdn_tty_at_cout("\r\n", info); |
| info | 1500 | drivers/isdn/isdn_tty.c | if ((info->flags & ISDN_ASYNC_CLOSING) || (!info->tty)) { |
| info | 1504 | drivers/isdn/isdn_tty.c | if ((info->flags & ISDN_ASYNC_CHECK_CD) && |
| info | 1505 | drivers/isdn/isdn_tty.c | (!((info->flags & ISDN_ASYNC_CALLOUT_ACTIVE) && |
| info | 1506 | drivers/isdn/isdn_tty.c | (info->flags & ISDN_ASYNC_CALLOUT_NOHUP)))) |
| info | 1507 | drivers/isdn/isdn_tty.c | tty_hangup(info->tty); |
| info | 1515 | drivers/isdn/isdn_tty.c | static void isdn_tty_show_profile(int ridx, modem_info * info) |
| info | 1519 | drivers/isdn/isdn_tty.c | sprintf(v, "%d\r\n", dev->mdm.atmodem[info->line].mdmreg[ridx]); |
| info | 1520 | drivers/isdn/isdn_tty.c | isdn_tty_at_cout(v, info); |
| info | 1555 | drivers/isdn/isdn_tty.c | static void isdn_tty_parse_at(modem_info * info) |
| info | 1557 | drivers/isdn/isdn_tty.c | atemu *m = &dev->mdm.atmodem[info->line]; |
| info | 1574 | drivers/isdn/isdn_tty.c | if (dev->mdm.msr[info->line] & UART_MSR_RI) { |
| info | 1586 | drivers/isdn/isdn_tty.c | dev->mdm.msr[info->line] &= ~UART_MSR_RI; |
| info | 1587 | drivers/isdn/isdn_tty.c | cmd.driver = info->isdn_driver; |
| info | 1589 | drivers/isdn/isdn_tty.c | cmd.arg = info->isdn_channel + (m->mdmreg[14] << 8); |
| info | 1590 | drivers/isdn/isdn_tty.c | dev->drv[info->isdn_driver]->interface->command(&cmd); |
| info | 1591 | drivers/isdn/isdn_tty.c | cmd.driver = info->isdn_driver; |
| info | 1593 | drivers/isdn/isdn_tty.c | cmd.arg = info->isdn_channel + (m->mdmreg[15] << 8); |
| info | 1594 | drivers/isdn/isdn_tty.c | dev->drv[info->isdn_driver]->interface->command(&cmd); |
| info | 1595 | drivers/isdn/isdn_tty.c | cmd.driver = info->isdn_driver; |
| info | 1596 | drivers/isdn/isdn_tty.c | cmd.arg = info->isdn_channel; |
| info | 1599 | drivers/isdn/isdn_tty.c | fido_modem_info = info; |
| info | 1606 | drivers/isdn/isdn_tty.c | dev->drv[info->isdn_driver]->interface->command(&cmd); |
| info | 1609 | drivers/isdn/isdn_tty.c | isdn_tty_modem_result(8, info); |
| info | 1618 | drivers/isdn/isdn_tty.c | isdn_tty_modem_result(10, info); |
| info | 1620 | drivers/isdn/isdn_tty.c | isdn_tty_dial(ds, info, m); |
| info | 1622 | drivers/isdn/isdn_tty.c | isdn_tty_modem_result(4, info); |
| info | 1637 | drivers/isdn/isdn_tty.c | isdn_tty_modem_result(4, info); |
| info | 1647 | drivers/isdn/isdn_tty.c | isdn_tty_on_hook(info); |
| info | 1654 | drivers/isdn/isdn_tty.c | isdn_tty_on_hook(info); |
| info | 1661 | drivers/isdn/isdn_tty.c | isdn_tty_at_cout("ISDN for Linux (c) by Fritz Elfert\r\n", info); |
| info | 1673 | drivers/isdn/isdn_tty.c | if (dev->mdm.msr[info->line] & UART_MSR_DCD) /* if B-Channel is up */ |
| info | 1674 | drivers/isdn/isdn_tty.c | isdn_tty_modem_result(5, info); |
| info | 1676 | drivers/isdn/isdn_tty.c | isdn_tty_modem_result(3, info); |
| info | 1691 | drivers/isdn/isdn_tty.c | isdn_tty_modem_result(4, info); |
| info | 1700 | drivers/isdn/isdn_tty.c | isdn_tty_modem_result(4, info); |
| info | 1709 | drivers/isdn/isdn_tty.c | isdn_tty_modem_result(4, info); |
| info | 1714 | drivers/isdn/isdn_tty.c | isdn_tty_modem_result(4, info); |
| info | 1720 | drivers/isdn/isdn_tty.c | isdn_tty_show_profile(mreg, info); |
| info | 1724 | drivers/isdn/isdn_tty.c | isdn_tty_modem_result(4, info); |
| info | 1741 | drivers/isdn/isdn_tty.c | isdn_tty_modem_result(4, info); |
| info | 1765 | drivers/isdn/isdn_tty.c | isdn_tty_modem_result(4, info); |
| info | 1781 | drivers/isdn/isdn_tty.c | isdn_tty_modem_result(4, info); |
| info | 1803 | drivers/isdn/isdn_tty.c | isdn_tty_modem_result(4, info); |
| info | 1812 | drivers/isdn/isdn_tty.c | isdn_tty_at_cout(rb, info); |
| info | 1815 | drivers/isdn/isdn_tty.c | isdn_tty_at_cout(rb, info); |
| info | 1826 | drivers/isdn/isdn_tty.c | isdn_tty_modem_result(4, info); |
| info | 1847 | drivers/isdn/isdn_tty.c | isdn_tty_modem_result(4, info); |
| info | 1852 | drivers/isdn/isdn_tty.c | isdn_tty_modem_result(4, info); |
| info | 1857 | drivers/isdn/isdn_tty.c | isdn_tty_modem_result(4, info); |
| info | 1861 | drivers/isdn/isdn_tty.c | isdn_tty_modem_result(0, info); |
| info | 1878 | drivers/isdn/isdn_tty.c | static int isdn_tty_edit_at(const char *p, int count, modem_info * info, int user) |
| info | 1880 | drivers/isdn/isdn_tty.c | atemu *m = &dev->mdm.atmodem[info->line]; |
| info | 1898 | drivers/isdn/isdn_tty.c | isdn_tty_at_cout(eb, info); |
| info | 1901 | drivers/isdn/isdn_tty.c | isdn_tty_parse_at(info); |
| info | 1911 | drivers/isdn/isdn_tty.c | isdn_tty_at_cout("\b", info); |
| info | 1919 | drivers/isdn/isdn_tty.c | isdn_tty_at_cout(eb, info); |
| info | 1962 | drivers/isdn/isdn_tty.c | isdn_tty_modem_result(0, &dev->mdm.info[midx]); |
| info | 1984 | drivers/isdn/isdn_tty.c | isdn_tty_modem_result(2, &dev->mdm.info[midx]); |
| info | 2001 | drivers/isdn/isdn_tty.c | modem_info *info = &(dev->mdm.info[midx]); |
| info | 2006 | drivers/isdn/isdn_tty.c | if (info->xmit_count > 0) { |
| info | 2007 | drivers/isdn/isdn_tty.c | struct tty_struct *tty = info->tty; |
| info | 2010 | drivers/isdn/isdn_tty.c | printk(KERN_DEBUG "WB2: %d\n", info->xmit_count); |
| info | 2012 | drivers/isdn/isdn_tty.c | bufptr = info->xmit_buf; |
| info | 2013 | drivers/isdn/isdn_tty.c | buflen = info->xmit_count; |
| info | 2026 | drivers/isdn/isdn_tty.c | if (isdn_writebuf_stub(info->isdn_driver, info->isdn_channel, |
| info | 2028 | drivers/isdn/isdn_tty.c | info->xmit_count = 0; |
| info | 2029 | drivers/isdn/isdn_tty.c | info->xmit_size = dev->mdm.atmodem[midx].mdmreg[16] * 16; |
| info | 2031 | drivers/isdn/isdn_tty.c | info->send_outstanding++; |
| info | 2059 | drivers/isdn/isdn_tty.c | modem_info *info = &dev->mdm.info[i]; |
| info | 2060 | drivers/isdn/isdn_tty.c | if ((info->isdn_driver == drv) && |
| info | 2061 | drivers/isdn/isdn_tty.c | (info->isdn_channel == chan) && |
| info | 2062 | drivers/isdn/isdn_tty.c | (info->send_outstanding)) { |
| info | 2063 | drivers/isdn/isdn_tty.c | if (!(--info->send_outstanding)) |
| info | 384 | drivers/isdn/pcbit/capi.c | struct callb_data *info) |
| info | 430 | drivers/isdn/pcbit/capi.c | if (!(info->data.setup.CallingPN = kmalloc(len - count + 1, GFP_ATOMIC))) |
| info | 433 | drivers/isdn/pcbit/capi.c | memcpy(info->data.setup.CallingPN, skb->data + count + 1, |
| info | 435 | drivers/isdn/pcbit/capi.c | info->data.setup.CallingPN[len - count] = 0; |
| info | 439 | drivers/isdn/pcbit/capi.c | info->data.setup.CallingPN = NULL; |
| info | 458 | drivers/isdn/pcbit/capi.c | if (!(info->data.setup.CalledPN = kmalloc(len - count + 1, GFP_ATOMIC))) |
| info | 461 | drivers/isdn/pcbit/capi.c | memcpy(info->data.setup.CalledPN, skb->data + count + 1, |
| info | 463 | drivers/isdn/pcbit/capi.c | info->data.setup.CalledPN[len - count] = 0; |
| info | 467 | drivers/isdn/pcbit/capi.c | info->data.setup.CalledPN = NULL; |
| info | 30 | drivers/isdn/pcbit/capi.h | struct callb_data *info); |
| info | 220 | drivers/isdn/pcbit/drv.c | struct callb_data info; |
| info | 239 | drivers/isdn/pcbit/drv.c | info.type = EV_USR_SETUP_REQ; |
| info | 240 | drivers/isdn/pcbit/drv.c | info.data.setup.CalledPN = (char *) &ctl->num; |
| info | 241 | drivers/isdn/pcbit/drv.c | cp = strchr(info.data.setup.CalledPN, ','); |
| info | 248 | drivers/isdn/pcbit/drv.c | pcbit_fsm_event(dev, chan, EV_USR_SETUP_REQ, &info); |
| info | 941 | drivers/isdn/pcbit/drv.c | cmd->info.l2_status = dev->l2_state; |
| info | 981 | drivers/isdn/pcbit/drv.c | if (cmd->info.rdp_byte.addr > BANK4) |
| info | 984 | drivers/isdn/pcbit/drv.c | writeb(cmd->info.rdp_byte.value, dev->sh_mem + cmd->info.rdp_byte.addr); |
| info | 992 | drivers/isdn/pcbit/drv.c | if (cmd->info.rdp_byte.addr > BANK4) |
| info | 994 | drivers/isdn/pcbit/drv.c | printk("getbyte: invalid addr %04x\n", cmd->info.rdp_byte.addr); |
| info | 998 | drivers/isdn/pcbit/drv.c | cmd->info.rdp_byte.value = readb(dev->sh_mem + cmd->info.rdp_byte.addr); |
| info | 93 | drivers/isdn/pcbit/layer2.c | static void pcbit_l2_active_conf(struct pcbit_dev *dev, u_char info); |
| info | 165 | drivers/isdn/pcbit/layer2.c | u_char info; |
| info | 170 | drivers/isdn/pcbit/layer2.c | info = 0; |
| info | 171 | drivers/isdn/pcbit/layer2.c | info |= dev->rcv_seq << 3; |
| info | 172 | drivers/isdn/pcbit/layer2.c | info |= dev->send_seq; |
| info | 174 | drivers/isdn/pcbit/layer2.c | writeb(info, dev->sh_mem + BANK4); |
| info | 574 | drivers/isdn/pcbit/layer2.c | u_char info, ack_seq, read_seq; |
| info | 592 | drivers/isdn/pcbit/layer2.c | info = readb(dev->sh_mem + BANK3); |
| info | 596 | drivers/isdn/pcbit/layer2.c | pcbit_l2_active_conf(dev, info); |
| info | 601 | drivers/isdn/pcbit/layer2.c | if (info & 0x40U) /* E bit set */ |
| info | 617 | drivers/isdn/pcbit/layer2.c | ack_seq = (info >> 3) & 0x07U; |
| info | 618 | drivers/isdn/pcbit/layer2.c | read_seq = (info & 0x07U); |
| info | 642 | drivers/isdn/pcbit/layer2.c | info = 0; |
| info | 643 | drivers/isdn/pcbit/layer2.c | info |= dev->rcv_seq << 3; |
| info | 644 | drivers/isdn/pcbit/layer2.c | info |= dev->send_seq; |
| info | 646 | drivers/isdn/pcbit/layer2.c | writeb(info, dev->sh_mem + BANK4); |
| info | 651 | drivers/isdn/pcbit/layer2.c | static void pcbit_l2_active_conf(struct pcbit_dev *dev, u_char info) |
| info | 662 | drivers/isdn/pcbit/layer2.c | if (info & 0x80U ) { |
| info | 663 | drivers/isdn/pcbit/layer2.c | dev->rcv_seq = info & 0x07U; |
| info | 812 | drivers/isdn/pcbit/layer2.c | u_char info; |
| info | 814 | drivers/isdn/pcbit/layer2.c | info = 0; |
| info | 815 | drivers/isdn/pcbit/layer2.c | info |= dev->rcv_seq << 3; |
| info | 816 | drivers/isdn/pcbit/layer2.c | info |= dev->send_seq; |
| info | 818 | drivers/isdn/pcbit/layer2.c | writeb(info, dev->sh_mem + BANK4); |
| info | 829 | drivers/isdn/pcbit/layer2.c | u_char info; |
| info | 848 | drivers/isdn/pcbit/layer2.c | info = 0; |
| info | 849 | drivers/isdn/pcbit/layer2.c | info |= dev->rcv_seq << 3; |
| info | 850 | drivers/isdn/pcbit/layer2.c | info |= dev->send_seq; |
| info | 852 | drivers/isdn/pcbit/layer2.c | writeb(info, dev->sh_mem + BANK4); |
| info | 123 | drivers/isdn/pcbit/pcbit.h | } info; |
| info | 225 | drivers/isdn/teles/callc.c | chanp->para.info = my_atoi(sis); |
| info | 386 | drivers/isdn/teles/callc.c | sprintf(ic.num, "%s,%d,0,%s", chanp->para.calling, chanp->para.info, |
| info | 109 | drivers/isdn/teles/isdnl3.c | switch (st->pa->info) { |
| info | 237 | drivers/isdn/teles/isdnl3.c | st->pa->info = p[2]; |
| info | 251 | drivers/isdn/teles/isdnl3.c | st->pa->info = 1; |
| info | 255 | drivers/isdn/teles/isdnl3.c | st->pa->info = 7; |
| info | 259 | drivers/isdn/teles/isdnl3.c | st->pa->info = 2; |
| info | 263 | drivers/isdn/teles/isdnl3.c | st->pa->info = 3; |
| info | 267 | drivers/isdn/teles/isdnl3.c | st->pa->info = 4; |
| info | 270 | drivers/isdn/teles/isdnl3.c | st->pa->info = 0; |
| info | 295 | drivers/isdn/teles/isdnl3.c | if (st->pa->info != 7) { |
| info | 99 | drivers/isdn/teles/l3_1TR6.c | *p++ = st->pa->info; |
| info | 138 | drivers/isdn/teles/l3_1TR6.c | st->pa->info = p[2]; |
| info | 160 | drivers/isdn/teles/l3_1TR6.c | if (st->pa->info != 7) { |
| info | 284 | drivers/isdn/teles/teles.h | int info; /* Service-Indicator */ |
| info | 1655 | drivers/net/3c505.c | printk("rev %d.%d, %dk\n", adapter->rx_pcb.data.info.major_vers, adapter->rx_pcb.data.info.minor_vers, adapter->rx_pcb.data.info.RAM_sz); |
| info | 232 | drivers/net/3c505.h | struct Info info; |
| info | 432 | drivers/net/de4x5.c | char info[100]; |
| info | 1201 | drivers/net/sdla.c | static int sdla_xfer(struct device *dev, struct sdla_mem *info, int read) |
| info | 1207 | drivers/net/sdla.c | err = verify_area(VERIFY_READ, info, sizeof(struct sdla_mem)); |
| info | 1211 | drivers/net/sdla.c | memcpy_fromfs(&mem, info, sizeof(mem)); |
| info | 520 | drivers/pci/pci.c | struct pci_dev_info *info; |
| info | 522 | drivers/pci/pci.c | info = pci_lookup_dev(vendor, device); |
| info | 523 | drivers/pci/pci.c | return info ? info->name : "Unknown device"; |
| info | 764 | drivers/pci/pci.c | struct pci_dev_info *info; |
| info | 809 | drivers/pci/pci.c | info = pci_lookup_dev(dev->vendor, dev->device); |
| info | 810 | drivers/pci/pci.c | if (!info) { |
| info | 815 | drivers/pci/pci.c | if (info->bridge_type != 0xff) { |
| info | 817 | drivers/pci/pci.c | info->bridge_type, 1); |
| info | 508 | drivers/sbus/char/suncons.c | } info; /* per frame information */ |
| info | 819 | drivers/sbus/char/suncons.c | bt = fbinfo [0].info.cg6.bt; |
| info | 847 | drivers/sbus/char/suncons.c | map_offset = get_phys ((uint)fb->info.cg6.tec); |
| info | 851 | drivers/sbus/char/suncons.c | map_offset = get_phys ((uint)fb->info.cg6.fbc); |
| info | 855 | drivers/sbus/char/suncons.c | map_offset = get_phys ((uint)fb->info.cg6.fhc); |
| info | 859 | drivers/sbus/char/suncons.c | map_offset = get_phys ((uint)fb->info.cg6.thc); |
| info | 863 | drivers/sbus/char/suncons.c | map_offset = get_phys ((uint)fb->info.cg6.bt); |
| info | 868 | drivers/sbus/char/suncons.c | map_offset = get_phys ((uint)fb->info.cg6.dhc); |
| info | 908 | drivers/sbus/char/suncons.c | struct bt_regs *bt = fb->info.cg6.bt; |
| info | 921 | drivers/sbus/char/suncons.c | cg6_setcursor (struct cg6_info *info) |
| info | 924 | drivers/sbus/char/suncons.c | struct cg6_cursor *c = &info->cursor; |
| info | 933 | drivers/sbus/char/suncons.c | info->thc->thc_cursxy = v; |
| info | 941 | drivers/sbus/char/suncons.c | volatile struct cg6_thc *thc = fb->info.cg6.thc; |
| info | 942 | drivers/sbus/char/suncons.c | struct cg6_cursor *cursor_info = &fb->info.cg6.cursor; |
| info | 963 | drivers/sbus/char/suncons.c | cg6_setcursor (&fb->info.cg6); |
| info | 1010 | drivers/sbus/char/suncons.c | fb->info.cg6.cursor.cpos = *(struct fbcurpos *)arg; |
| info | 1011 | drivers/sbus/char/suncons.c | cg6_setcursor (&fb->info.cg6); |
| info | 1034 | drivers/sbus/char/suncons.c | cg6info = (struct cg6_info *) &fbinfo [slot].info.cg6; |
| info | 1069 | drivers/sbus/char/suncons.c | struct bt_regs *bt = fb->info.cg3.bt; |
| info | 1137 | drivers/sbus/char/suncons.c | cg3info = (struct cg3_info *) &fbinfo [slot].info.cg3; |
| info | 1193 | drivers/sbus/char/suncons.c | fb->info.bwtwo.regs->control &= ~BWTWO_ENABLE_VIDEO; |
| info | 1200 | drivers/sbus/char/suncons.c | fb->info.bwtwo.regs->control |= BWTWO_ENABLE_VIDEO; |
| info | 1213 | drivers/sbus/char/suncons.c | fbinfo [slot].info.bwtwo.regs = sparc_alloc_io ((void *) bwtwo+BWTWO_REGISTER_OFFSET, |
| info | 107 | drivers/sbus/char/sunserial.c | static void change_speed(struct sun_serial *info); |
| info | 129 | drivers/sbus/char/sunserial.c | static inline int serial_paranoia_check(struct sun_serial *info, |
| info | 138 | drivers/sbus/char/sunserial.c | if (!info) { |
| info | 142 | drivers/sbus/char/sunserial.c | if (info->magic != SERIAL_MAGIC) { |
| info | 262 | drivers/sbus/char/sunserial.c | struct sun_serial *info = (struct sun_serial *)tty->driver_data; |
| info | 265 | drivers/sbus/char/sunserial.c | if (serial_paranoia_check(info, tty->device, "rs_stop")) |
| info | 269 | drivers/sbus/char/sunserial.c | if (info->curregs[5] & TxENAB) { |
| info | 270 | drivers/sbus/char/sunserial.c | info->curregs[5] &= ~TxENAB; |
| info | 271 | drivers/sbus/char/sunserial.c | info->pendregs[5] &= ~TxENAB; |
| info | 272 | drivers/sbus/char/sunserial.c | write_zsreg(info->zs_channel, 5, info->curregs[5]); |
| info | 279 | drivers/sbus/char/sunserial.c | struct sun_serial *info = (struct sun_serial *)tty->driver_data; |
| info | 282 | drivers/sbus/char/sunserial.c | if (serial_paranoia_check(info, tty->device, "rs_start")) |
| info | 286 | drivers/sbus/char/sunserial.c | if (info->xmit_cnt && info->xmit_buf && !(info->curregs[5] & TxENAB)) { |
| info | 287 | drivers/sbus/char/sunserial.c | info->curregs[5] |= TxENAB; |
| info | 288 | drivers/sbus/char/sunserial.c | info->pendregs[5] = info->curregs[5]; |
| info | 289 | drivers/sbus/char/sunserial.c | write_zsreg(info->zs_channel, 5, info->curregs[5]); |
| info | 354 | drivers/sbus/char/sunserial.c | static _INLINE_ void rs_sched_event(struct sun_serial *info, |
| info | 357 | drivers/sbus/char/sunserial.c | info->event |= 1 << event; |
| info | 358 | drivers/sbus/char/sunserial.c | queue_task_irq_off(&info->tqueue, &tq_serial); |
| info | 364 | drivers/sbus/char/sunserial.c | static _INLINE_ void receive_chars(struct sun_serial *info, struct pt_regs *regs) |
| info | 366 | drivers/sbus/char/sunserial.c | struct tty_struct *tty = info->tty; |
| info | 369 | drivers/sbus/char/sunserial.c | ch = info->zs_channel->data; |
| info | 371 | drivers/sbus/char/sunserial.c | stat = read_zsreg(info->zs_channel, R1); |
| info | 377 | drivers/sbus/char/sunserial.c | if(info->cons_keyb) { |
| info | 391 | drivers/sbus/char/sunserial.c | rs_recv_clear(info->zs_channel); |
| info | 396 | drivers/sbus/char/sunserial.c | rs_recv_clear(info->zs_channel); |
| info | 401 | drivers/sbus/char/sunserial.c | if(info->cons_mouse) { |
| info | 402 | drivers/sbus/char/sunserial.c | rs_recv_clear(info->zs_channel); |
| info | 406 | drivers/sbus/char/sunserial.c | if(info->is_cons) { |
| info | 409 | drivers/sbus/char/sunserial.c | rs_recv_clear(info->zs_channel); |
| info | 425 | drivers/sbus/char/sunserial.c | if((info->kgdb_channel) && (ch =='\003')) { |
| info | 449 | drivers/sbus/char/sunserial.c | rs_recv_clear(info->zs_channel); |
| info | 453 | drivers/sbus/char/sunserial.c | static _INLINE_ void transmit_chars(struct sun_serial *info) |
| info | 461 | drivers/sbus/char/sunserial.c | if (info->x_char) { |
| info | 463 | drivers/sbus/char/sunserial.c | info->zs_channel->data = info->x_char; |
| info | 465 | drivers/sbus/char/sunserial.c | info->x_char = 0; |
| info | 469 | drivers/sbus/char/sunserial.c | if((info->xmit_cnt <= 0) || info->tty->stopped) { |
| info | 471 | drivers/sbus/char/sunserial.c | info->zs_channel->control = RES_Tx_P; |
| info | 477 | drivers/sbus/char/sunserial.c | info->zs_channel->data = info->xmit_buf[info->xmit_tail++]; |
| info | 479 | drivers/sbus/char/sunserial.c | info->xmit_tail = info->xmit_tail & (SERIAL_XMIT_SIZE-1); |
| info | 480 | drivers/sbus/char/sunserial.c | info->xmit_cnt--; |
| info | 482 | drivers/sbus/char/sunserial.c | if (info->xmit_cnt < WAKEUP_CHARS) |
| info | 483 | drivers/sbus/char/sunserial.c | rs_sched_event(info, RS_EVENT_WRITE_WAKEUP); |
| info | 485 | drivers/sbus/char/sunserial.c | if(info->xmit_cnt <= 0) { |
| info | 486 | drivers/sbus/char/sunserial.c | info->zs_channel->control = RES_Tx_P; |
| info | 493 | drivers/sbus/char/sunserial.c | info->zs_channel->control = RES_H_IUS; |
| info | 498 | drivers/sbus/char/sunserial.c | static _INLINE_ void status_handle(struct sun_serial *info) |
| info | 503 | drivers/sbus/char/sunserial.c | status = info->zs_channel->control; |
| info | 506 | drivers/sbus/char/sunserial.c | info->zs_channel->control = RES_EXT_INT; |
| info | 509 | drivers/sbus/char/sunserial.c | info->zs_channel->control = RES_H_IUS; |
| info | 514 | drivers/sbus/char/sunserial.c | if((info->tty->termios->c_cflag & CRTSCTS) && |
| info | 515 | drivers/sbus/char/sunserial.c | ((info->curregs[3] & AUTO_ENAB)==0)) { |
| info | 516 | drivers/sbus/char/sunserial.c | info->curregs[3] |= AUTO_ENAB; |
| info | 517 | drivers/sbus/char/sunserial.c | info->pendregs[3] |= AUTO_ENAB; |
| info | 518 | drivers/sbus/char/sunserial.c | write_zsreg(info->zs_channel, 3, info->curregs[3]); |
| info | 521 | drivers/sbus/char/sunserial.c | if((info->curregs[3] & AUTO_ENAB)) { |
| info | 522 | drivers/sbus/char/sunserial.c | info->curregs[3] &= ~AUTO_ENAB; |
| info | 523 | drivers/sbus/char/sunserial.c | info->pendregs[3] &= ~AUTO_ENAB; |
| info | 524 | drivers/sbus/char/sunserial.c | write_zsreg(info->zs_channel, 3, info->curregs[3]); |
| info | 532 | drivers/sbus/char/sunserial.c | if((status & BRK_ABRT) && info->break_abort) |
| info | 546 | drivers/sbus/char/sunserial.c | struct sun_serial * info; |
| info | 549 | drivers/sbus/char/sunserial.c | info = zs_chain; |
| info | 550 | drivers/sbus/char/sunserial.c | if (!info) |
| info | 553 | drivers/sbus/char/sunserial.c | zs_intreg = read_zsreg(info->zs_channel, 3); |
| info | 568 | drivers/sbus/char/sunserial.c | receive_chars(info, regs); |
| info | 570 | drivers/sbus/char/sunserial.c | transmit_chars(info); |
| info | 572 | drivers/sbus/char/sunserial.c | status_handle(info); |
| info | 575 | drivers/sbus/char/sunserial.c | info=info->zs_next; |
| info | 580 | drivers/sbus/char/sunserial.c | receive_chars(info, regs); |
| info | 582 | drivers/sbus/char/sunserial.c | transmit_chars(info); |
| info | 584 | drivers/sbus/char/sunserial.c | status_handle(info); |
| info | 587 | drivers/sbus/char/sunserial.c | info = info->zs_next; |
| info | 589 | drivers/sbus/char/sunserial.c | zs_intreg = read_zsreg(info->zs_channel, 3); |
| info | 594 | drivers/sbus/char/sunserial.c | receive_chars(info, regs); |
| info | 596 | drivers/sbus/char/sunserial.c | transmit_chars(info); |
| info | 598 | drivers/sbus/char/sunserial.c | status_handle(info); |
| info | 601 | drivers/sbus/char/sunserial.c | info=info->zs_next; |
| info | 606 | drivers/sbus/char/sunserial.c | receive_chars(info, regs); |
| info | 608 | drivers/sbus/char/sunserial.c | transmit_chars(info); |
| info | 610 | drivers/sbus/char/sunserial.c | status_handle(info); |
| info | 638 | drivers/sbus/char/sunserial.c | struct sun_serial *info = (struct sun_serial *) private_; |
| info | 641 | drivers/sbus/char/sunserial.c | tty = info->tty; |
| info | 645 | drivers/sbus/char/sunserial.c | if (clear_bit(RS_EVENT_WRITE_WAKEUP, &info->event)) { |
| info | 664 | drivers/sbus/char/sunserial.c | struct sun_serial *info = (struct sun_serial *) private_; |
| info | 667 | drivers/sbus/char/sunserial.c | tty = info->tty; |
| info | 688 | drivers/sbus/char/sunserial.c | static int startup(struct sun_serial * info) |
| info | 692 | drivers/sbus/char/sunserial.c | if (info->flags & ZILOG_INITIALIZED) |
| info | 695 | drivers/sbus/char/sunserial.c | if (!info->xmit_buf) { |
| info | 696 | drivers/sbus/char/sunserial.c | info->xmit_buf = (unsigned char *) get_free_page(GFP_KERNEL); |
| info | 697 | drivers/sbus/char/sunserial.c | if (!info->xmit_buf) |
| info | 704 | drivers/sbus/char/sunserial.c | printk("starting up ttys%d (irq %d)...", info->line, info->irq); |
| info | 711 | drivers/sbus/char/sunserial.c | ZS_CLEARFIFO(info->zs_channel); |
| info | 712 | drivers/sbus/char/sunserial.c | info->xmit_fifo_size = 1; |
| info | 717 | drivers/sbus/char/sunserial.c | info->zs_channel->control = ERR_RES; |
| info | 719 | drivers/sbus/char/sunserial.c | info->zs_channel->control = RES_H_IUS; |
| info | 725 | drivers/sbus/char/sunserial.c | zs_rtsdtr(info, 1); |
| info | 730 | drivers/sbus/char/sunserial.c | info->curregs[1] |= (info->curregs[1] & ~0x18) | (EXT_INT_ENAB|INT_ALL_Rx); |
| info | 731 | drivers/sbus/char/sunserial.c | info->pendregs[1] = info->curregs[1]; |
| info | 732 | drivers/sbus/char/sunserial.c | info->curregs[3] |= (RxENABLE | Rx8); |
| info | 733 | drivers/sbus/char/sunserial.c | info->pendregs[3] = info->curregs[3]; |
| info | 735 | drivers/sbus/char/sunserial.c | info->curregs[5] |= (TxENAB | Tx8); |
| info | 736 | drivers/sbus/char/sunserial.c | info->pendregs[5] = info->curregs[5]; |
| info | 737 | drivers/sbus/char/sunserial.c | info->curregs[9] |= (NV | MIE); |
| info | 738 | drivers/sbus/char/sunserial.c | info->pendregs[9] = info->curregs[9]; |
| info | 739 | drivers/sbus/char/sunserial.c | write_zsreg(info->zs_channel, 3, info->curregs[3]); |
| info | 740 | drivers/sbus/char/sunserial.c | write_zsreg(info->zs_channel, 5, info->curregs[5]); |
| info | 741 | drivers/sbus/char/sunserial.c | write_zsreg(info->zs_channel, 9, info->curregs[9]); |
| info | 746 | drivers/sbus/char/sunserial.c | info->zs_channel->control = ERR_RES; |
| info | 748 | drivers/sbus/char/sunserial.c | info->zs_channel->control = RES_H_IUS; |
| info | 751 | drivers/sbus/char/sunserial.c | if (info->tty) |
| info | 752 | drivers/sbus/char/sunserial.c | clear_bit(TTY_IO_ERROR, &info->tty->flags); |
| info | 753 | drivers/sbus/char/sunserial.c | info->xmit_cnt = info->xmit_head = info->xmit_tail = 0; |
| info | 766 | drivers/sbus/char/sunserial.c | change_speed(info); |
| info | 768 | drivers/sbus/char/sunserial.c | info->flags |= ZILOG_INITIALIZED; |
| info | 777 | drivers/sbus/char/sunserial.c | static void shutdown(struct sun_serial * info) |
| info | 781 | drivers/sbus/char/sunserial.c | if (!(info->flags & ZILOG_INITIALIZED)) |
| info | 785 | drivers/sbus/char/sunserial.c | printk("Shutting down serial port %d (irq %d)....", info->line, |
| info | 786 | drivers/sbus/char/sunserial.c | info->irq); |
| info | 791 | drivers/sbus/char/sunserial.c | if (info->xmit_buf) { |
| info | 792 | drivers/sbus/char/sunserial.c | free_page((unsigned long) info->xmit_buf); |
| info | 793 | drivers/sbus/char/sunserial.c | info->xmit_buf = 0; |
| info | 796 | drivers/sbus/char/sunserial.c | if (info->tty) |
| info | 797 | drivers/sbus/char/sunserial.c | set_bit(TTY_IO_ERROR, &info->tty->flags); |
| info | 799 | drivers/sbus/char/sunserial.c | info->flags &= ~ZILOG_INITIALIZED; |
| info | 807 | drivers/sbus/char/sunserial.c | static void change_speed(struct sun_serial *info) |
| info | 814 | drivers/sbus/char/sunserial.c | if (!info->tty || !info->tty->termios) |
| info | 816 | drivers/sbus/char/sunserial.c | cflag = info->tty->termios->c_cflag; |
| info | 817 | drivers/sbus/char/sunserial.c | if (!(port = info->port)) |
| info | 827 | drivers/sbus/char/sunserial.c | info->zs_baud = baud_table[i]; |
| info | 828 | drivers/sbus/char/sunserial.c | info->clk_divisor = 16; |
| info | 830 | drivers/sbus/char/sunserial.c | info->curregs[4] = X16CLK; |
| info | 831 | drivers/sbus/char/sunserial.c | info->curregs[11] = TCBR | RCBR; |
| info | 832 | drivers/sbus/char/sunserial.c | brg = BPS_TO_BRG(info->zs_baud, ZS_CLOCK/info->clk_divisor); |
| info | 833 | drivers/sbus/char/sunserial.c | info->curregs[12] = (brg & 255); |
| info | 834 | drivers/sbus/char/sunserial.c | info->curregs[13] = ((brg >> 8) & 255); |
| info | 835 | drivers/sbus/char/sunserial.c | info->curregs[14] = BRSRC | BRENABL; |
| info | 840 | drivers/sbus/char/sunserial.c | info->curregs[3] &= ~(0xc0); |
| info | 841 | drivers/sbus/char/sunserial.c | info->curregs[3] |= Rx5; |
| info | 842 | drivers/sbus/char/sunserial.c | info->pendregs[3] = info->curregs[3]; |
| info | 843 | drivers/sbus/char/sunserial.c | info->curregs[5] &= ~(0xe0); |
| info | 844 | drivers/sbus/char/sunserial.c | info->curregs[5] |= Tx5; |
| info | 845 | drivers/sbus/char/sunserial.c | info->pendregs[5] = info->curregs[5]; |
| info | 848 | drivers/sbus/char/sunserial.c | info->curregs[3] &= ~(0xc0); |
| info | 849 | drivers/sbus/char/sunserial.c | info->curregs[3] |= Rx6; |
| info | 850 | drivers/sbus/char/sunserial.c | info->pendregs[3] = info->curregs[3]; |
| info | 851 | drivers/sbus/char/sunserial.c | info->curregs[5] &= ~(0xe0); |
| info | 852 | drivers/sbus/char/sunserial.c | info->curregs[5] |= Tx6; |
| info | 853 | drivers/sbus/char/sunserial.c | info->pendregs[5] = info->curregs[5]; |
| info | 856 | drivers/sbus/char/sunserial.c | info->curregs[3] &= ~(0xc0); |
| info | 857 | drivers/sbus/char/sunserial.c | info->curregs[3] |= Rx7; |
| info | 858 | drivers/sbus/char/sunserial.c | info->pendregs[3] = info->curregs[3]; |
| info | 859 | drivers/sbus/char/sunserial.c | info->curregs[5] &= ~(0xe0); |
| info | 860 | drivers/sbus/char/sunserial.c | info->curregs[5] |= Tx7; |
| info | 861 | drivers/sbus/char/sunserial.c | info->pendregs[5] = info->curregs[5]; |
| info | 865 | drivers/sbus/char/sunserial.c | info->curregs[3] &= ~(0xc0); |
| info | 866 | drivers/sbus/char/sunserial.c | info->curregs[3] |= Rx8; |
| info | 867 | drivers/sbus/char/sunserial.c | info->pendregs[3] = info->curregs[3]; |
| info | 868 | drivers/sbus/char/sunserial.c | info->curregs[5] &= ~(0xe0); |
| info | 869 | drivers/sbus/char/sunserial.c | info->curregs[5] |= Tx8; |
| info | 870 | drivers/sbus/char/sunserial.c | info->pendregs[5] = info->curregs[5]; |
| info | 873 | drivers/sbus/char/sunserial.c | info->curregs[4] &= ~(0x0c); |
| info | 875 | drivers/sbus/char/sunserial.c | info->curregs[4] |= SB2; |
| info | 877 | drivers/sbus/char/sunserial.c | info->curregs[4] |= SB1; |
| info | 879 | drivers/sbus/char/sunserial.c | info->pendregs[4] = info->curregs[4]; |
| info | 881 | drivers/sbus/char/sunserial.c | info->curregs[4] |= PAR_ENA; |
| info | 882 | drivers/sbus/char/sunserial.c | info->pendregs[4] |= PAR_ENA; |
| info | 884 | drivers/sbus/char/sunserial.c | info->curregs[4] &= ~PAR_ENA; |
| info | 885 | drivers/sbus/char/sunserial.c | info->pendregs[4] &= ~PAR_ENA; |
| info | 888 | drivers/sbus/char/sunserial.c | info->curregs[4] |= PAR_EVEN; |
| info | 889 | drivers/sbus/char/sunserial.c | info->pendregs[4] |= PAR_EVEN; |
| info | 891 | drivers/sbus/char/sunserial.c | info->curregs[4] &= ~PAR_EVEN; |
| info | 892 | drivers/sbus/char/sunserial.c | info->pendregs[4] &= ~PAR_EVEN; |
| info | 896 | drivers/sbus/char/sunserial.c | load_zsregs(info->zs_channel, info->curregs); |
| info | 992 | drivers/sbus/char/sunserial.c | struct sun_serial *info = zs_consinfo; |
| info | 995 | drivers/sbus/char/sunserial.c | if (info == 0) return; |
| info | 996 | drivers/sbus/char/sunserial.c | if (info->xmit_buf == 0) return; |
| info | 999 | drivers/sbus/char/sunserial.c | left = info->xmit_cnt; |
| info | 1001 | drivers/sbus/char/sunserial.c | c = info->xmit_buf[info->xmit_tail]; |
| info | 1002 | drivers/sbus/char/sunserial.c | info->xmit_tail = (info->xmit_tail+1) & (SERIAL_XMIT_SIZE-1); |
| info | 1003 | drivers/sbus/char/sunserial.c | info->xmit_cnt--; |
| info | 1009 | drivers/sbus/char/sunserial.c | left = MIN(info->xmit_cnt, left-1); |
| info | 1041 | drivers/sbus/char/sunserial.c | struct sun_serial *info = (struct sun_serial *)tty->driver_data; |
| info | 1044 | drivers/sbus/char/sunserial.c | if (serial_paranoia_check(info, tty->device, "rs_flush_chars")) |
| info | 1047 | drivers/sbus/char/sunserial.c | if (info->xmit_cnt <= 0 || tty->stopped || tty->hw_stopped || |
| info | 1048 | drivers/sbus/char/sunserial.c | !info->xmit_buf) |
| info | 1053 | drivers/sbus/char/sunserial.c | info->curregs[1] |= TxINT_ENAB|EXT_INT_ENAB; |
| info | 1054 | drivers/sbus/char/sunserial.c | info->pendregs[1] |= TxINT_ENAB|EXT_INT_ENAB; |
| info | 1055 | drivers/sbus/char/sunserial.c | write_zsreg(info->zs_channel, 1, info->curregs[1]); |
| info | 1056 | drivers/sbus/char/sunserial.c | info->curregs[5] |= TxENAB; |
| info | 1057 | drivers/sbus/char/sunserial.c | info->pendregs[5] |= TxENAB; |
| info | 1058 | drivers/sbus/char/sunserial.c | write_zsreg(info->zs_channel, 5, info->curregs[5]); |
| info | 1067 | drivers/sbus/char/sunserial.c | if (info->zs_channel->control & Tx_BUF_EMP) { |
| info | 1069 | drivers/sbus/char/sunserial.c | info->zs_channel->data = info->xmit_buf[info->xmit_tail++]; |
| info | 1071 | drivers/sbus/char/sunserial.c | info->xmit_tail = info->xmit_tail & (SERIAL_XMIT_SIZE-1); |
| info | 1072 | drivers/sbus/char/sunserial.c | info->xmit_cnt--; |
| info | 1081 | drivers/sbus/char/sunserial.c | struct sun_serial *info = (struct sun_serial *)tty->driver_data; |
| info | 1084 | drivers/sbus/char/sunserial.c | if (serial_paranoia_check(info, tty->device, "rs_write")) |
| info | 1087 | drivers/sbus/char/sunserial.c | if (!tty || !info->xmit_buf) |
| info | 1093 | drivers/sbus/char/sunserial.c | c = MIN(count, MIN(SERIAL_XMIT_SIZE - info->xmit_cnt - 1, |
| info | 1094 | drivers/sbus/char/sunserial.c | SERIAL_XMIT_SIZE - info->xmit_head)); |
| info | 1101 | drivers/sbus/char/sunserial.c | c = MIN(c, MIN(SERIAL_XMIT_SIZE - info->xmit_cnt - 1, |
| info | 1102 | drivers/sbus/char/sunserial.c | SERIAL_XMIT_SIZE - info->xmit_head)); |
| info | 1103 | drivers/sbus/char/sunserial.c | memcpy(info->xmit_buf + info->xmit_head, tmp_buf, c); |
| info | 1106 | drivers/sbus/char/sunserial.c | memcpy(info->xmit_buf + info->xmit_head, buf, c); |
| info | 1107 | drivers/sbus/char/sunserial.c | info->xmit_head = (info->xmit_head + c) & (SERIAL_XMIT_SIZE-1); |
| info | 1108 | drivers/sbus/char/sunserial.c | info->xmit_cnt += c; |
| info | 1114 | drivers/sbus/char/sunserial.c | if (info->xmit_cnt && !tty->stopped && !tty->hw_stopped && |
| info | 1115 | drivers/sbus/char/sunserial.c | !(info->curregs[5] & TxENAB)) { |
| info | 1117 | drivers/sbus/char/sunserial.c | info->curregs[1] |= TxINT_ENAB|EXT_INT_ENAB; |
| info | 1118 | drivers/sbus/char/sunserial.c | info->pendregs[1] |= TxINT_ENAB|EXT_INT_ENAB; |
| info | 1119 | drivers/sbus/char/sunserial.c | write_zsreg(info->zs_channel, 1, info->curregs[1]); |
| info | 1120 | drivers/sbus/char/sunserial.c | info->curregs[5] |= TxENAB; |
| info | 1121 | drivers/sbus/char/sunserial.c | info->pendregs[5] |= TxENAB; |
| info | 1122 | drivers/sbus/char/sunserial.c | write_zsreg(info->zs_channel, 5, info->curregs[5]); |
| info | 1130 | drivers/sbus/char/sunserial.c | struct sun_serial *info = (struct sun_serial *)tty->driver_data; |
| info | 1133 | drivers/sbus/char/sunserial.c | if (serial_paranoia_check(info, tty->device, "rs_write_room")) |
| info | 1135 | drivers/sbus/char/sunserial.c | ret = SERIAL_XMIT_SIZE - info->xmit_cnt - 1; |
| info | 1143 | drivers/sbus/char/sunserial.c | struct sun_serial *info = (struct sun_serial *)tty->driver_data; |
| info | 1145 | drivers/sbus/char/sunserial.c | if (serial_paranoia_check(info, tty->device, "rs_chars_in_buffer")) |
| info | 1147 | drivers/sbus/char/sunserial.c | return info->xmit_cnt; |
| info | 1152 | drivers/sbus/char/sunserial.c | struct sun_serial *info = (struct sun_serial *)tty->driver_data; |
| info | 1154 | drivers/sbus/char/sunserial.c | if (serial_paranoia_check(info, tty->device, "rs_flush_buffer")) |
| info | 1157 | drivers/sbus/char/sunserial.c | info->xmit_cnt = info->xmit_head = info->xmit_tail = 0; |
| info | 1175 | drivers/sbus/char/sunserial.c | struct sun_serial *info = (struct sun_serial *)tty->driver_data; |
| info | 1183 | drivers/sbus/char/sunserial.c | if (serial_paranoia_check(info, tty->device, "rs_throttle")) |
| info | 1187 | drivers/sbus/char/sunserial.c | info->x_char = STOP_CHAR(tty); |
| info | 1191 | drivers/sbus/char/sunserial.c | info->curregs[5] &= ~RTS; |
| info | 1192 | drivers/sbus/char/sunserial.c | info->pendregs[5] &= ~RTS; |
| info | 1193 | drivers/sbus/char/sunserial.c | write_zsreg(info->zs_channel, 5, info->curregs[5]); |
| info | 1199 | drivers/sbus/char/sunserial.c | struct sun_serial *info = (struct sun_serial *)tty->driver_data; |
| info | 1207 | drivers/sbus/char/sunserial.c | if (serial_paranoia_check(info, tty->device, "rs_unthrottle")) |
| info | 1211 | drivers/sbus/char/sunserial.c | if (info->x_char) |
| info | 1212 | drivers/sbus/char/sunserial.c | info->x_char = 0; |
| info | 1214 | drivers/sbus/char/sunserial.c | info->x_char = START_CHAR(tty); |
| info | 1219 | drivers/sbus/char/sunserial.c | info->curregs[5] |= RTS; |
| info | 1220 | drivers/sbus/char/sunserial.c | info->pendregs[5] |= RTS; |
| info | 1221 | drivers/sbus/char/sunserial.c | write_zsreg(info->zs_channel, 5, info->curregs[5]); |
| info | 1231 | drivers/sbus/char/sunserial.c | static int get_serial_info(struct sun_serial * info, |
| info | 1239 | drivers/sbus/char/sunserial.c | tmp.type = info->type; |
| info | 1240 | drivers/sbus/char/sunserial.c | tmp.line = info->line; |
| info | 1241 | drivers/sbus/char/sunserial.c | tmp.port = info->port; |
| info | 1242 | drivers/sbus/char/sunserial.c | tmp.irq = info->irq; |
| info | 1243 | drivers/sbus/char/sunserial.c | tmp.flags = info->flags; |
| info | 1244 | drivers/sbus/char/sunserial.c | tmp.baud_base = info->baud_base; |
| info | 1245 | drivers/sbus/char/sunserial.c | tmp.close_delay = info->close_delay; |
| info | 1246 | drivers/sbus/char/sunserial.c | tmp.closing_wait = info->closing_wait; |
| info | 1247 | drivers/sbus/char/sunserial.c | tmp.custom_divisor = info->custom_divisor; |
| info | 1252 | drivers/sbus/char/sunserial.c | static int set_serial_info(struct sun_serial * info, |
| info | 1262 | drivers/sbus/char/sunserial.c | old_info = *info; |
| info | 1265 | drivers/sbus/char/sunserial.c | if ((new_serial.baud_base != info->baud_base) || |
| info | 1266 | drivers/sbus/char/sunserial.c | (new_serial.type != info->type) || |
| info | 1267 | drivers/sbus/char/sunserial.c | (new_serial.close_delay != info->close_delay) || |
| info | 1269 | drivers/sbus/char/sunserial.c | (info->flags & ~ZILOG_USR_MASK))) |
| info | 1271 | drivers/sbus/char/sunserial.c | info->flags = ((info->flags & ~ZILOG_USR_MASK) | |
| info | 1273 | drivers/sbus/char/sunserial.c | info->custom_divisor = new_serial.custom_divisor; |
| info | 1277 | drivers/sbus/char/sunserial.c | if (info->count > 1) |
| info | 1285 | drivers/sbus/char/sunserial.c | info->baud_base = new_serial.baud_base; |
| info | 1286 | drivers/sbus/char/sunserial.c | info->flags = ((info->flags & ~ZILOG_FLAGS) | |
| info | 1288 | drivers/sbus/char/sunserial.c | info->type = new_serial.type; |
| info | 1289 | drivers/sbus/char/sunserial.c | info->close_delay = new_serial.close_delay; |
| info | 1290 | drivers/sbus/char/sunserial.c | info->closing_wait = new_serial.closing_wait; |
| info | 1293 | drivers/sbus/char/sunserial.c | retval = startup(info); |
| info | 1307 | drivers/sbus/char/sunserial.c | static int get_lsr_info(struct sun_serial * info, unsigned int *value) |
| info | 1312 | drivers/sbus/char/sunserial.c | status = info->zs_channel->control; |
| info | 1321 | drivers/sbus/char/sunserial.c | static void send_break( struct sun_serial * info, int duration) |
| info | 1323 | drivers/sbus/char/sunserial.c | if (!info->port) |
| info | 1328 | drivers/sbus/char/sunserial.c | write_zsreg(info->zs_channel, 5, (info->curregs[5] | SND_BRK)); |
| info | 1330 | drivers/sbus/char/sunserial.c | write_zsreg(info->zs_channel, 5, info->curregs[5]); |
| info | 1338 | drivers/sbus/char/sunserial.c | struct sun_serial * info = (struct sun_serial *)tty->driver_data; |
| info | 1341 | drivers/sbus/char/sunserial.c | if (serial_paranoia_check(info, tty->device, "rs_ioctl")) |
| info | 1358 | drivers/sbus/char/sunserial.c | send_break(info, HZ/4); /* 1/4 second */ |
| info | 1365 | drivers/sbus/char/sunserial.c | send_break(info, arg ? arg*(HZ/10) : HZ/4); |
| info | 1385 | drivers/sbus/char/sunserial.c | return get_serial_info(info, |
| info | 1388 | drivers/sbus/char/sunserial.c | return set_serial_info(info, |
| info | 1396 | drivers/sbus/char/sunserial.c | return get_lsr_info(info, (unsigned int *) arg); |
| info | 1404 | drivers/sbus/char/sunserial.c | info, sizeof(struct sun_serial)); |
| info | 1415 | drivers/sbus/char/sunserial.c | struct sun_serial *info = (struct sun_serial *)tty->driver_data; |
| info | 1420 | drivers/sbus/char/sunserial.c | change_speed(info); |
| info | 1441 | drivers/sbus/char/sunserial.c | struct sun_serial * info = (struct sun_serial *)tty->driver_data; |
| info | 1444 | drivers/sbus/char/sunserial.c | if (!info || serial_paranoia_check(info, tty->device, "rs_close")) |
| info | 1455 | drivers/sbus/char/sunserial.c | printk("rs_close ttys%d, count = %d\n", info->line, info->count); |
| info | 1457 | drivers/sbus/char/sunserial.c | if ((tty->count == 1) && (info->count != 1)) { |
| info | 1466 | drivers/sbus/char/sunserial.c | "info->count is %d\n", info->count); |
| info | 1467 | drivers/sbus/char/sunserial.c | info->count = 1; |
| info | 1469 | drivers/sbus/char/sunserial.c | if (--info->count < 0) { |
| info | 1471 | drivers/sbus/char/sunserial.c | info->line, info->count); |
| info | 1472 | drivers/sbus/char/sunserial.c | info->count = 0; |
| info | 1474 | drivers/sbus/char/sunserial.c | if (info->count) { |
| info | 1478 | drivers/sbus/char/sunserial.c | info->flags |= ZILOG_CLOSING; |
| info | 1483 | drivers/sbus/char/sunserial.c | if (info->flags & ZILOG_NORMAL_ACTIVE) |
| info | 1484 | drivers/sbus/char/sunserial.c | info->normal_termios = *tty->termios; |
| info | 1485 | drivers/sbus/char/sunserial.c | if (info->flags & ZILOG_CALLOUT_ACTIVE) |
| info | 1486 | drivers/sbus/char/sunserial.c | info->callout_termios = *tty->termios; |
| info | 1492 | drivers/sbus/char/sunserial.c | if (info->closing_wait != ZILOG_CLOSING_WAIT_NONE) |
| info | 1493 | drivers/sbus/char/sunserial.c | tty_wait_until_sent(tty, info->closing_wait); |
| info | 1501 | drivers/sbus/char/sunserial.c | info->curregs[3] &= ~RxENABLE; |
| info | 1502 | drivers/sbus/char/sunserial.c | info->pendregs[3] = info->curregs[3]; |
| info | 1503 | drivers/sbus/char/sunserial.c | write_zsreg(info->zs_channel, 3, info->curregs[3]); |
| info | 1504 | drivers/sbus/char/sunserial.c | info->curregs[1] &= ~(0x18); |
| info | 1505 | drivers/sbus/char/sunserial.c | info->pendregs[1] = info->curregs[1]; |
| info | 1506 | drivers/sbus/char/sunserial.c | write_zsreg(info->zs_channel, 1, info->curregs[1]); |
| info | 1507 | drivers/sbus/char/sunserial.c | ZS_CLEARFIFO(info->zs_channel); |
| info | 1509 | drivers/sbus/char/sunserial.c | shutdown(info); |
| info | 1515 | drivers/sbus/char/sunserial.c | info->event = 0; |
| info | 1516 | drivers/sbus/char/sunserial.c | info->tty = 0; |
| info | 1525 | drivers/sbus/char/sunserial.c | if (info->blocked_open) { |
| info | 1526 | drivers/sbus/char/sunserial.c | if (info->close_delay) { |
| info | 1528 | drivers/sbus/char/sunserial.c | current->timeout = jiffies + info->close_delay; |
| info | 1531 | drivers/sbus/char/sunserial.c | wake_up_interruptible(&info->open_wait); |
| info | 1533 | drivers/sbus/char/sunserial.c | info->flags &= ~(ZILOG_NORMAL_ACTIVE|ZILOG_CALLOUT_ACTIVE| |
| info | 1535 | drivers/sbus/char/sunserial.c | wake_up_interruptible(&info->close_wait); |
| info | 1544 | drivers/sbus/char/sunserial.c | struct sun_serial * info = (struct sun_serial *)tty->driver_data; |
| info | 1546 | drivers/sbus/char/sunserial.c | if (serial_paranoia_check(info, tty->device, "rs_hangup")) |
| info | 1550 | drivers/sbus/char/sunserial.c | shutdown(info); |
| info | 1551 | drivers/sbus/char/sunserial.c | info->event = 0; |
| info | 1552 | drivers/sbus/char/sunserial.c | info->count = 0; |
| info | 1553 | drivers/sbus/char/sunserial.c | info->flags &= ~(ZILOG_NORMAL_ACTIVE|ZILOG_CALLOUT_ACTIVE); |
| info | 1554 | drivers/sbus/char/sunserial.c | info->tty = 0; |
| info | 1555 | drivers/sbus/char/sunserial.c | wake_up_interruptible(&info->open_wait); |
| info | 1564 | drivers/sbus/char/sunserial.c | struct sun_serial *info) |
| info | 1574 | drivers/sbus/char/sunserial.c | if (info->flags & ZILOG_CLOSING) { |
| info | 1575 | drivers/sbus/char/sunserial.c | interruptible_sleep_on(&info->close_wait); |
| info | 1577 | drivers/sbus/char/sunserial.c | if (info->flags & ZILOG_HUP_NOTIFY) |
| info | 1591 | drivers/sbus/char/sunserial.c | if (info->flags & ZILOG_NORMAL_ACTIVE) |
| info | 1593 | drivers/sbus/char/sunserial.c | if ((info->flags & ZILOG_CALLOUT_ACTIVE) && |
| info | 1594 | drivers/sbus/char/sunserial.c | (info->flags & ZILOG_SESSION_LOCKOUT) && |
| info | 1595 | drivers/sbus/char/sunserial.c | (info->session != current->session)) |
| info | 1597 | drivers/sbus/char/sunserial.c | if ((info->flags & ZILOG_CALLOUT_ACTIVE) && |
| info | 1598 | drivers/sbus/char/sunserial.c | (info->flags & ZILOG_PGRP_LOCKOUT) && |
| info | 1599 | drivers/sbus/char/sunserial.c | (info->pgrp != current->pgrp)) |
| info | 1601 | drivers/sbus/char/sunserial.c | info->flags |= ZILOG_CALLOUT_ACTIVE; |
| info | 1611 | drivers/sbus/char/sunserial.c | if (info->flags & ZILOG_CALLOUT_ACTIVE) |
| info | 1613 | drivers/sbus/char/sunserial.c | info->flags |= ZILOG_NORMAL_ACTIVE; |
| info | 1617 | drivers/sbus/char/sunserial.c | if (info->flags & ZILOG_CALLOUT_ACTIVE) { |
| info | 1618 | drivers/sbus/char/sunserial.c | if (info->normal_termios.c_cflag & CLOCAL) |
| info | 1633 | drivers/sbus/char/sunserial.c | add_wait_queue(&info->open_wait, &wait); |
| info | 1636 | drivers/sbus/char/sunserial.c | info->line, info->count); |
| info | 1638 | drivers/sbus/char/sunserial.c | info->count--; |
| info | 1639 | drivers/sbus/char/sunserial.c | info->blocked_open++; |
| info | 1642 | drivers/sbus/char/sunserial.c | if (!(info->flags & ZILOG_CALLOUT_ACTIVE)) |
| info | 1643 | drivers/sbus/char/sunserial.c | zs_rtsdtr(info, 1); |
| info | 1647 | drivers/sbus/char/sunserial.c | !(info->flags & ZILOG_INITIALIZED)) { |
| info | 1649 | drivers/sbus/char/sunserial.c | if (info->flags & ZILOG_HUP_NOTIFY) |
| info | 1658 | drivers/sbus/char/sunserial.c | if (!(info->flags & ZILOG_CALLOUT_ACTIVE) && |
| info | 1659 | drivers/sbus/char/sunserial.c | !(info->flags & ZILOG_CLOSING) && do_clocal) |
| info | 1667 | drivers/sbus/char/sunserial.c | info->line, info->count); |
| info | 1672 | drivers/sbus/char/sunserial.c | remove_wait_queue(&info->open_wait, &wait); |
| info | 1674 | drivers/sbus/char/sunserial.c | info->count++; |
| info | 1675 | drivers/sbus/char/sunserial.c | info->blocked_open--; |
| info | 1678 | drivers/sbus/char/sunserial.c | info->line, info->count); |
| info | 1682 | drivers/sbus/char/sunserial.c | info->flags |= ZILOG_NORMAL_ACTIVE; |
| info | 1694 | drivers/sbus/char/sunserial.c | struct sun_serial *info; |
| info | 1705 | drivers/sbus/char/sunserial.c | info = zs_soft + line; |
| info | 1707 | drivers/sbus/char/sunserial.c | if (info->kgdb_channel) |
| info | 1709 | drivers/sbus/char/sunserial.c | if (serial_paranoia_check(info, tty->device, "rs_open")) |
| info | 1712 | drivers/sbus/char/sunserial.c | printk("rs_open %s%d, count = %d\n", tty->driver.name, info->line, |
| info | 1713 | drivers/sbus/char/sunserial.c | info->count); |
| info | 1715 | drivers/sbus/char/sunserial.c | info->count++; |
| info | 1716 | drivers/sbus/char/sunserial.c | tty->driver_data = info; |
| info | 1717 | drivers/sbus/char/sunserial.c | info->tty = tty; |
| info | 1722 | drivers/sbus/char/sunserial.c | retval = startup(info); |
| info | 1726 | drivers/sbus/char/sunserial.c | retval = block_til_ready(tty, filp, info); |
| info | 1735 | drivers/sbus/char/sunserial.c | if ((info->count == 1) && (info->flags & ZILOG_SPLIT_TERMIOS)) { |
| info | 1737 | drivers/sbus/char/sunserial.c | *tty->termios = info->normal_termios; |
| info | 1739 | drivers/sbus/char/sunserial.c | *tty->termios = info->callout_termios; |
| info | 1740 | drivers/sbus/char/sunserial.c | change_speed(info); |
| info | 1743 | drivers/sbus/char/sunserial.c | info->session = current->session; |
| info | 1744 | drivers/sbus/char/sunserial.c | info->pgrp = current->pgrp; |
| info | 1747 | drivers/sbus/char/sunserial.c | printk("rs_open ttys%d successful...", info->line); |
| info | 1904 | drivers/sbus/char/sunserial.c | struct sun_serial *info; |
| info | 2085 | drivers/sbus/char/sunserial.c | for(info=zs_chain, i=0; info; info = info->zs_next, i++) |
| info | 2087 | drivers/sbus/char/sunserial.c | info->magic = SERIAL_MAGIC; |
| info | 2088 | drivers/sbus/char/sunserial.c | info->port = (int) info->zs_channel; |
| info | 2089 | drivers/sbus/char/sunserial.c | info->line = i; |
| info | 2090 | drivers/sbus/char/sunserial.c | info->tty = 0; |
| info | 2091 | drivers/sbus/char/sunserial.c | info->irq = zilog_irq; |
| info | 2092 | drivers/sbus/char/sunserial.c | info->custom_divisor = 16; |
| info | 2093 | drivers/sbus/char/sunserial.c | info->close_delay = 50; |
| info | 2094 | drivers/sbus/char/sunserial.c | info->closing_wait = 3000; |
| info | 2095 | drivers/sbus/char/sunserial.c | info->x_char = 0; |
| info | 2096 | drivers/sbus/char/sunserial.c | info->event = 0; |
| info | 2097 | drivers/sbus/char/sunserial.c | info->count = 0; |
| info | 2098 | drivers/sbus/char/sunserial.c | info->blocked_open = 0; |
| info | 2099 | drivers/sbus/char/sunserial.c | info->tqueue.routine = do_softint; |
| info | 2100 | drivers/sbus/char/sunserial.c | info->tqueue.data = info; |
| info | 2101 | drivers/sbus/char/sunserial.c | info->tqueue_hangup.routine = do_serial_hangup; |
| info | 2102 | drivers/sbus/char/sunserial.c | info->tqueue_hangup.data = info; |
| info | 2103 | drivers/sbus/char/sunserial.c | info->callout_termios =callout_driver.init_termios; |
| info | 2104 | drivers/sbus/char/sunserial.c | info->normal_termios = serial_driver.init_termios; |
| info | 2105 | drivers/sbus/char/sunserial.c | info->open_wait = 0; |
| info | 2106 | drivers/sbus/char/sunserial.c | info->close_wait = 0; |
| info | 2107 | drivers/sbus/char/sunserial.c | printk("tty%02d at 0x%04x (irq = %d)", info->line, |
| info | 2108 | drivers/sbus/char/sunserial.c | info->port, info->irq); |
| info | 723 | drivers/scsi/AM53C974.c | static char info[100]; |
| info | 725 | drivers/scsi/AM53C974.c | sprintf(info, "AM53/79C974 PCscsi driver rev. %d.%d; host I/O address: 0x%x; irq: %d\n", |
| info | 728 | drivers/scsi/AM53C974.c | return (info); |
| info | 3175 | drivers/scsi/advansys.c | static char info[128]; |
| info | 3182 | drivers/scsi/advansys.c | sprintf(info, |
| info | 3205 | drivers/scsi/advansys.c | sprintf(info, |
| info | 3212 | drivers/scsi/advansys.c | return info; |
| info | 9049 | drivers/scsi/advansys.c | uchar dosfar * info |
| info | 9052 | drivers/scsi/advansys.c | if (AscScsiSetupCmdQ(asc_dvc, scsiq, info, 8L) == ERR) { |
| info | 375 | drivers/scsi/eata.c | struct eata_info info; |
| info | 394 | drivers/scsi/eata.c | if (read_pio(*port_base, (ushort *)&info, (ushort *)&info.ipad[0])) |
| info | 398 | drivers/scsi/eata.c | if (info.sign != EATA_SIGNATURE) return FALSE; |
| info | 400 | drivers/scsi/eata.c | if (ntohl(info.data_len) < EATA_2_0A_SIZE) { |
| info | 402 | drivers/scsi/eata.c | name, ntohl(info.data_len)); |
| info | 405 | drivers/scsi/eata.c | else if (ntohl(info.data_len) == EATA_2_0A_SIZE) |
| info | 407 | drivers/scsi/eata.c | else if (ntohl(info.data_len) == EATA_2_0B_SIZE) |
| info | 412 | drivers/scsi/eata.c | if (protocol_rev != 'A' && info.max_chan > 0) |
| info | 415 | drivers/scsi/eata.c | irq = info.irq; |
| info | 419 | drivers/scsi/eata.c | if (!info.haaval || info.ata || info.drqvld) { |
| info | 421 | drivers/scsi/eata.c | name, info.haaval, info.ata, info.drqvld); |
| info | 430 | drivers/scsi/eata.c | if (!info.haaval || info.ata || !info.drqvld) { |
| info | 432 | drivers/scsi/eata.c | name, info.haaval, info.ata, info.drqvld); |
| info | 437 | drivers/scsi/eata.c | dma_channel = dma_channel_table[3 - info.drqx]; |
| info | 440 | drivers/scsi/eata.c | if (!info.dmasup) |
| info | 443 | drivers/scsi/eata.c | if (subversion == ESA && !info.irq_tr) |
| info | 447 | drivers/scsi/eata.c | if (info.second) |
| info | 498 | drivers/scsi/eata.c | sh[j]->sg_tablesize = (ushort) ntohs(info.scatt_size); |
| info | 499 | drivers/scsi/eata.c | sh[j]->this_id = (ushort) info.host_addr[3]; |
| info | 500 | drivers/scsi/eata.c | sh[j]->can_queue = (ushort) ntohs(info.queue_size); |
| info | 545 | drivers/scsi/eata.c | " max_chan %u.\n", name, protocol_rev, info.isaena, |
| info | 546 | drivers/scsi/eata.c | info.forcaddr, info.max_id, info.max_chan); |
| info | 549 | drivers/scsi/eata.c | name, info.version, info.sync, ntohl(info.data_len), |
| info | 550 | drivers/scsi/eata.c | ntohl(info.cp_len), ntohl(info.sp_len)); |
| info | 1159 | drivers/scsi/fdomain.c | const char *info = fdomain_16x0_info( NULL ); |
| info | 1167 | drivers/scsi/fdomain.c | strcpy( buffer, info ); |
| info | 445 | drivers/scsi/hosts.c | if(shpnt->hostt->info) |
| info | 446 | drivers/scsi/hosts.c | name = shpnt->hostt->info(shpnt); |
| info | 108 | drivers/scsi/hosts.h | const char *(* info)(struct Scsi_Host *); |
| info | 2946 | drivers/scsi/scsi.c | if(tpnt->info) |
| info | 2947 | drivers/scsi/scsi.c | name = tpnt->info(shpnt); |
| info | 588 | drivers/scsi/scsi_debug.c | int scsi_debug_biosparam(Disk * disk, kdev_t dev, int* info){ |
| info | 590 | drivers/scsi/scsi_debug.c | info[0] = 32; |
| info | 591 | drivers/scsi/scsi_debug.c | info[1] = 64; |
| info | 592 | drivers/scsi/scsi_debug.c | info[2] = (size + 2047) >> 11; |
| info | 593 | drivers/scsi/scsi_debug.c | if (info[2] >= 1024) info[2] = 1024; |
| info | 48 | drivers/scsi/scsi_ioctl.c | if(host->hostt->info) |
| info | 49 | drivers/scsi/scsi_ioctl.c | string = host->hostt->info(host); |
| info | 412 | drivers/scsi/seagate.c | const char *info = seagate_st0x_info(NULL); |
| info | 420 | drivers/scsi/seagate.c | strcpy(buffer,info); |
| info | 401 | drivers/sound/audio.c | audio_buf_info info; |
| info | 403 | drivers/sound/audio.c | int err = DMAbuf_ioctl (dev, cmd, (caddr_t) & info, 1); |
| info | 408 | drivers/sound/audio.c | memcpy_tofs ((&((char *) arg)[0]), (char *) &info, sizeof (info)); |
| info | 417 | drivers/sound/audio.c | audio_buf_info info; |
| info | 421 | drivers/sound/audio.c | int err = DMAbuf_ioctl (dev, cmd, (caddr_t) & info, 1); |
| info | 427 | drivers/sound/audio.c | info.bytes += buf_size - buf_ptr; |
| info | 429 | drivers/sound/audio.c | memcpy_tofs ((&((char *) arg)[0]), (char *) &info, sizeof (info)); |
| info | 440 | drivers/sound/audio.c | int info = 1; /* Revision level of this ioctl() */ |
| info | 443 | drivers/sound/audio.c | info |= DSP_CAP_DUPLEX; |
| info | 446 | drivers/sound/audio.c | info |= DSP_CAP_COPROC; |
| info | 449 | drivers/sound/audio.c | info |= DSP_CAP_BATCH; |
| info | 452 | drivers/sound/audio.c | info |= DSP_CAP_TRIGGER; |
| info | 454 | drivers/sound/audio.c | info |= DSP_CAP_MMAP; |
| info | 456 | drivers/sound/audio.c | memcpy_tofs ((&((char *) arg)[0]), (char *) &info, sizeof (info)); |
| info | 189 | drivers/sound/dev_table.h | struct synth_info *info; |
| info | 208 | drivers/sound/dev_table.h | int (*pmgr_interface) (int dev, struct patmgr_info *info); |
| info | 232 | drivers/sound/dev_table.h | struct midi_info info; |
| info | 259 | drivers/sound/dev_table.h | struct sound_timer_info info; |
| info | 524 | drivers/sound/dev_table.h | extern int sound_map_buffer (int dev, struct dma_buffparms *dmap, buffmem_desc *info); |
| info | 804 | drivers/sound/dmabuf.c | audio_buf_info *info = (audio_buf_info *) arg; |
| info | 815 | drivers/sound/dmabuf.c | info->fragstotal = dmap->nbufs; |
| info | 818 | drivers/sound/dmabuf.c | info->fragments = dmap->qlen; |
| info | 822 | drivers/sound/dmabuf.c | info->fragments = 0; |
| info | 825 | drivers/sound/dmabuf.c | info->fragments = dmap->nbufs - dmap->qlen; |
| info | 830 | drivers/sound/dmabuf.c | if (tmp && info->fragments) |
| info | 834 | drivers/sound/dmabuf.c | info->fragments -= tmp; |
| info | 839 | drivers/sound/dmabuf.c | if (info->fragments < 0) |
| info | 840 | drivers/sound/dmabuf.c | info->fragments = 0; |
| info | 841 | drivers/sound/dmabuf.c | else if (info->fragments > dmap->nbufs) |
| info | 842 | drivers/sound/dmabuf.c | info->fragments = dmap->nbufs; |
| info | 844 | drivers/sound/dmabuf.c | info->fragsize = dmap->fragment_size; |
| info | 845 | drivers/sound/dmabuf.c | info->bytes = info->fragments * dmap->fragment_size; |
| info | 848 | drivers/sound/dmabuf.c | info->bytes -= dmap->counts[dmap->qhead]; |
| info | 929 | drivers/sound/dmabuf.c | count_info info; |
| info | 934 | drivers/sound/dmabuf.c | info.bytes = audio_devs[dev]->dmap_in->byte_counter; |
| info | 935 | drivers/sound/dmabuf.c | info.ptr = get_buffer_pointer (dev, audio_devs[dev]->dmachan2, audio_devs[dev]->dmap_in); |
| info | 936 | drivers/sound/dmabuf.c | info.blocks = audio_devs[dev]->dmap_in->qlen; |
| info | 937 | drivers/sound/dmabuf.c | info.bytes += info.ptr; |
| info | 938 | drivers/sound/dmabuf.c | memcpy_tofs ((&((char *) arg)[0]), (char *) &info, sizeof (info)); |
| info | 949 | drivers/sound/dmabuf.c | count_info info; |
| info | 954 | drivers/sound/dmabuf.c | info.bytes = audio_devs[dev]->dmap_out->byte_counter; |
| info | 955 | drivers/sound/dmabuf.c | info.ptr = get_buffer_pointer (dev, audio_devs[dev]->dmachan1, audio_devs[dev]->dmap_out); |
| info | 956 | drivers/sound/dmabuf.c | info.blocks = audio_devs[dev]->dmap_out->qlen; |
| info | 957 | drivers/sound/dmabuf.c | info.bytes += info.ptr; |
| info | 958 | drivers/sound/dmabuf.c | memcpy_tofs ((&((char *) arg)[0]), (char *) &info, sizeof (info)); |
| info | 2503 | drivers/sound/gus_wave.c | struct channel_info *info = |
| info | 2506 | drivers/sound/gus_wave.c | guswave_set_instr (dev, voice, info->pgm_num); |
| info | 2509 | drivers/sound/gus_wave.c | info->controllers[CTL_EXPRESSION]; /* Just msb */ |
| info | 2511 | drivers/sound/gus_wave.c | (info->controllers[CTL_MAIN_VOLUME] * 100) / 128; |
| info | 2513 | drivers/sound/gus_wave.c | (info->controllers[CTL_PAN] * 2) - 128; |
| info | 2514 | drivers/sound/gus_wave.c | voices[voice].bender = info->bender_value; |
| info | 294 | drivers/sound/midi_synth.c | memcpy_tofs ((&((char *) arg)[0]), synth_devs[dev]->info, sizeof (struct synth_info)); |
| info | 1188 | drivers/sound/mpu401.c | strcpy (mpu401_midi_operations[num_midis].info.name, |
| info | 1194 | drivers/sound/mpu401.c | mpu401_synth_operations[devc->devno]->info = |
| info | 1140 | drivers/sound/opl3.c | struct channel_info *info = |
| info | 1144 | drivers/sound/opl3.c | info->pgm_num); |
| info | 1146 | drivers/sound/opl3.c | devc->voc[voice].bender = info->bender_value; |
| info | 1148 | drivers/sound/opl3.c | info->controllers[CTL_MAIN_VOLUME]; |
| info | 1219 | drivers/sound/opl3.c | opl3_operations.info = &devc->fm_info; |
| info | 1765 | drivers/sound/sequencer.c | memcpy_tofs ((&((char *) arg)[0]), (char *) &(midi_devs[dev]->info), sizeof (inf)); |
| info | 255 | drivers/sound/sound_switch.c | if (!put_status (synth_devs[i]->info->name)) |
| info | 275 | drivers/sound/sound_switch.c | if (!put_status (midi_devs[i]->info.name)) |
| info | 291 | drivers/sound/sound_switch.c | if (!put_status (sound_timer_devs[i]->info.name)) |
| info | 349 | drivers/sound/sound_timer.c | strcpy (sound_timer.info.name, name); |
| info | 729 | drivers/sound/soundcard.c | sound_map_buffer (int dev, struct dma_buffparms *dmap, buffmem_desc * info) |
| info | 66 | fs/minix/dir.c | struct minix_sb_info * info; |
| info | 70 | fs/minix/dir.c | info = &inode->i_sb->u.minix_sb; |
| info | 71 | fs/minix/dir.c | if (filp->f_pos & (info->s_dirsize - 1)) |
| info | 83 | fs/minix/dir.c | int size = strnlen(de->name, info->s_namelen); |
| info | 89 | fs/minix/dir.c | offset += info->s_dirsize; |
| info | 90 | fs/minix/dir.c | filp->f_pos += info->s_dirsize; |
| info | 42 | fs/minix/namei.c | struct minix_sb_info * info) |
| info | 47 | fs/minix/namei.c | *offset += info->s_dirsize; |
| info | 48 | fs/minix/namei.c | if (!de->inode || len > info->s_namelen) |
| info | 53 | fs/minix/namei.c | return namecompare(len,info->s_namelen,name,de->name); |
| info | 69 | fs/minix/namei.c | struct minix_sb_info * info; |
| info | 74 | fs/minix/namei.c | info = &dir->i_sb->u.minix_sb; |
| info | 75 | fs/minix/namei.c | if (namelen > info->s_namelen) { |
| info | 79 | fs/minix/namei.c | namelen = info->s_namelen; |
| info | 93 | fs/minix/namei.c | if (minix_match(namelen,name,bh,&offset,info)) |
| info | 154 | fs/minix/namei.c | struct minix_sb_info * info; |
| info | 160 | fs/minix/namei.c | info = &dir->i_sb->u.minix_sb; |
| info | 161 | fs/minix/namei.c | if (namelen > info->s_namelen) { |
| info | 165 | fs/minix/namei.c | namelen = info->s_namelen; |
| info | 179 | fs/minix/namei.c | offset += info->s_dirsize; |
| info | 186 | fs/minix/namei.c | if (namecompare(namelen, info->s_namelen, name, de->name)) { |
| info | 193 | fs/minix/namei.c | for (i = 0; i < info->s_namelen ; i++) |
| info | 309 | fs/minix/namei.c | struct minix_sb_info * info; |
| info | 315 | fs/minix/namei.c | info = &dir->i_sb->u.minix_sb; |
| info | 332 | fs/minix/namei.c | inode->i_size = 2 * info->s_dirsize; |
| info | 344 | fs/minix/namei.c | de = (struct minix_dir_entry *) (dir_block->b_data + info->s_dirsize); |
| info | 379 | fs/minix/namei.c | struct minix_sb_info * info; |
| info | 383 | fs/minix/namei.c | info = &inode->i_sb->u.minix_sb; |
| info | 386 | fs/minix/namei.c | offset = 2*info->s_dirsize; |
| info | 387 | fs/minix/namei.c | if (inode->i_size & (info->s_dirsize-1)) |
| info | 397 | fs/minix/namei.c | de = (struct minix_dir_entry *) (bh->b_data + info->s_dirsize); |
| info | 409 | fs/minix/namei.c | offset += info->s_dirsize; |
| info | 662 | fs/minix/namei.c | (((struct minix_dir_entry *) ((buffer)+info->s_dirsize))->inode) |
| info | 680 | fs/minix/namei.c | struct minix_sb_info * info; |
| info | 683 | fs/minix/namei.c | info = &old_dir->i_sb->u.minix_sb; |
| info | 141 | fs/ncpfs/dir.c | ncp_info_ino(struct ncp_server *server, struct ncp_inode_info *info) |
| info | 144 | fs/ncpfs/dir.c | ? info->finfo.i.DosDirNum : (ino_t)info; |
| info | 412 | fs/ncpfs/dir.c | struct ncp_volume_info info; |
| info | 414 | fs/ncpfs/dir.c | if (ncp_get_volume_info_with_number(server, i, &info) != 0) |
| info | 419 | fs/ncpfs/dir.c | if (strlen(info.volume_name) > 0) |
| info | 424 | fs/ncpfs/dir.c | info.volume_name); |
| info | 433 | fs/ncpfs/dir.c | info.volume_name); |
| info | 436 | fs/ncpfs/dir.c | info.volume_name, |
| info | 440 | fs/ncpfs/dir.c | "%s\n", info.volume_name); |
| info | 423 | fs/ncpfs/inode.c | struct nw_modify_dos_info info; |
| info | 447 | fs/ncpfs/inode.c | memset(&info, 0, sizeof(info)); |
| info | 453 | fs/ncpfs/inode.c | &(info.creationTime), &(info.creationDate)); |
| info | 460 | fs/ncpfs/inode.c | &(info.modifyTime), &(info.modifyDate)); |
| info | 468 | fs/ncpfs/inode.c | &(dummy), &(info.lastAccessDate)); |
| info | 477 | fs/ncpfs/inode.c | &info)) != 0) |
| info | 23 | fs/ncpfs/ioctl.c | struct ncp_fs_info info; |
| info | 115 | fs/ncpfs/ioctl.c | sizeof(info))) != 0) |
| info | 120 | fs/ncpfs/ioctl.c | memcpy_fromfs(&info, (struct ncp_fs_info *)arg, |
| info | 121 | fs/ncpfs/ioctl.c | sizeof(info)); |
| info | 123 | fs/ncpfs/ioctl.c | if (info.version != NCP_GET_FS_INFO_VERSION) |
| info | 125 | fs/ncpfs/ioctl.c | DPRINTK("info.version invalid: %d\n", info.version); |
| info | 129 | fs/ncpfs/ioctl.c | info.addr = server->m.serv_addr; |
| info | 130 | fs/ncpfs/ioctl.c | info.mounted_uid = server->m.mounted_uid; |
| info | 131 | fs/ncpfs/ioctl.c | info.connection = server->connection; |
| info | 132 | fs/ncpfs/ioctl.c | info.buffer_size = server->buffer_size; |
| info | 133 | fs/ncpfs/ioctl.c | info.volume_number = NCP_ISTRUCT(inode)->volNumber; |
| info | 134 | fs/ncpfs/ioctl.c | info.directory_id = NCP_ISTRUCT(inode)->DosDirNum; |
| info | 136 | fs/ncpfs/ioctl.c | memcpy_tofs((struct ncp_fs_info *)arg, &info, sizeof(info)); |
| info | 349 | fs/ncpfs/ncplib_kernel.c | struct nw_modify_dos_info *info) |
| info | 360 | fs/ncpfs/ncplib_kernel.c | ncp_add_mem(server, info, sizeof(*info)); |
| info | 139 | fs/ncpfs/ncplib_kernel.h | struct nw_modify_dos_info *info); |
| info | 190 | fs/umsdos/dir.c | struct umsdos_info info; |
| info | 193 | fs/umsdos/dir.c | umsdos_parse (entry.name,entry.name_len,&info); |
| info | 194 | fs/umsdos/dir.c | info.f_pos = cur_f_pos; |
| info | 195 | fs/umsdos/dir.c | umsdos_manglename (&info); |
| info | 196 | fs/umsdos/dir.c | lret = umsdos_real_lookup (dir,info.fake.fname |
| info | 197 | fs/umsdos/dir.c | ,info.fake.len,&inode); |
| info | 199 | fs/umsdos/dir.c | ,info.fake.fname,lret,entry.flags)); |
| info | 235 | fs/umsdos/dir.c | ret = umsdos_writeentry (dir,emd_dir,&info,1); |
| info | 674 | fs/umsdos/dir.c | struct umsdos_info info; |
| info | 675 | fs/umsdos/dir.c | ret = umsdos_parse (name,len,&info); |
| info | 676 | fs/umsdos/dir.c | if (ret == 0) ret = umsdos_findentry (dir,&info,0); |
| info | 677 | fs/umsdos/dir.c | PRINTK (("lookup %s pos %lu ret %d len %d ",info.fake.fname,info.f_pos,ret |
| info | 678 | fs/umsdos/dir.c | ,info.fake.len)); |
| info | 690 | fs/umsdos/dir.c | ret = umsdos_real_lookup (dir,info.fake.fname,info.fake.len,result); |
| info | 694 | fs/umsdos/dir.c | ,info.fake.fname); |
| info | 695 | fs/umsdos/dir.c | umsdos_delentry (dir,&info,S_ISDIR(info.entry.mode)); |
| info | 697 | fs/umsdos/dir.c | umsdos_lookup_patch (dir,inode,&info.entry,info.f_pos); |
| info | 699 | fs/umsdos/dir.c | ,info.entry.flags)); |
| info | 700 | fs/umsdos/dir.c | if (info.entry.flags & UMSDOS_HLINK){ |
| info | 165 | fs/umsdos/emd.c | struct umsdos_info *info, |
| info | 170 | fs/umsdos/emd.c | struct umsdos_dirent *entry = &info->entry; |
| info | 192 | fs/umsdos/emd.c | filp.f_pos = info->f_pos; |
| info | 194 | fs/umsdos/emd.c | ret = umsdos_emd_dir_write(emd_dir,&filp,(char*)entry,info->recsize); |
| info | 267 | fs/umsdos/emd.c | struct umsdos_info *info, /* Hold name and name_len */ |
| info | 280 | fs/umsdos/emd.c | struct umsdos_dirent *entry = &info->entry; |
| info | 281 | fs/umsdos/emd.c | int recsize = info->recsize; |
| info | 305 | fs/umsdos/emd.c | info->f_pos = empty.posok; |
| info | 312 | fs/umsdos/emd.c | info->f_pos = file_pos; |
| info | 335 | fs/umsdos/emd.c | info->f_pos = empty.posok; |
| info | 343 | fs/umsdos/emd.c | info->f_pos = file_pos; |
| info | 353 | fs/umsdos/emd.c | umsdos_manglename(info); |
| info | 367 | fs/umsdos/emd.c | struct umsdos_info *info) |
| info | 370 | fs/umsdos/emd.c | int ret = umsdos_find (dir,info,&emd_dir); |
| info | 374 | fs/umsdos/emd.c | ret = umsdos_writeentry(dir,emd_dir,info,0); |
| info | 386 | fs/umsdos/emd.c | struct umsdos_info *info) |
| info | 390 | fs/umsdos/emd.c | umsdos_parse ("..LINK",6,info); |
| info | 391 | fs/umsdos/emd.c | info->entry.name_len = 0; |
| info | 392 | fs/umsdos/emd.c | ret = umsdos_find (dir,info,&emd_dir); |
| info | 400 | fs/umsdos/emd.c | info->entry.name_len = sprintf (info->entry.name,"..LINK%ld" |
| info | 401 | fs/umsdos/emd.c | ,info->f_pos); |
| info | 414 | fs/umsdos/emd.c | struct umsdos_info *info, |
| info | 418 | fs/umsdos/emd.c | int ret = umsdos_find (dir,info,&emd_dir); |
| info | 420 | fs/umsdos/emd.c | if (info->entry.name_len != 0){ |
| info | 421 | fs/umsdos/emd.c | if ((isdir != 0) != (S_ISDIR(info->entry.mode) != 0)){ |
| info | 422 | fs/umsdos/emd.c | if (S_ISDIR(info->entry.mode)){ |
| info | 428 | fs/umsdos/emd.c | ret = umsdos_writeentry(dir,emd_dir,info,1); |
| info | 476 | fs/umsdos/emd.c | struct umsdos_info *info, |
| info | 482 | fs/umsdos/emd.c | int ret = umsdos_find (dir,info,&emd_dir); |
| info | 485 | fs/umsdos/emd.c | if (S_ISDIR(info->entry.mode)){ |
| info | 150 | fs/umsdos/ioctl.c | struct umsdos_info info; |
| info | 152 | fs/umsdos/ioctl.c | umsdos_parse (entry.name,entry.name_len,&info); |
| info | 153 | fs/umsdos/ioctl.c | info.f_pos = f_pos; |
| info | 154 | fs/umsdos/ioctl.c | umsdos_manglename(&info); |
| info | 158 | fs/umsdos/ioctl.c | ,info.fake.fname,info.fake.len+1); |
| info | 200 | fs/umsdos/ioctl.c | struct umsdos_info info; |
| info | 203 | fs/umsdos/ioctl.c | memcpy (&info.entry,&data.umsdos_dirent |
| info | 206 | fs/umsdos/ioctl.c | ,data.umsdos_dirent.name_len,&info); |
| info | 207 | fs/umsdos/ioctl.c | ret = umsdos_newentry (dir,&info); |
| info | 232 | fs/umsdos/ioctl.c | struct umsdos_info info; |
| info | 235 | fs/umsdos/ioctl.c | memcpy (&info.entry,&data.umsdos_dirent |
| info | 238 | fs/umsdos/ioctl.c | ,data.umsdos_dirent.name_len,&info); |
| info | 239 | fs/umsdos/ioctl.c | ret = umsdos_delentry (dir,&info |
| info | 23 | fs/umsdos/mangle.c | void umsdos_manglename (struct umsdos_info *info) |
| info | 25 | fs/umsdos/mangle.c | if (info->msdos_reject){ |
| info | 73 | fs/umsdos/mangle.c | char *pt = info->fake.fname + info->fake.len; |
| info | 87 | fs/umsdos/mangle.c | u.entry_num = info->f_pos / UMSDOS_REC_SIZE; |
| info | 98 | fs/umsdos/mangle.c | info->fake.len += 4; |
| info | 99 | fs/umsdos/mangle.c | info->msdos_reject = 0; /* Avoid mangling twice */ |
| info | 136 | fs/umsdos/mangle.c | struct umsdos_info *info) |
| info | 283 | fs/umsdos/mangle.c | char *pt = info->fake.fname; |
| info | 289 | fs/umsdos/mangle.c | memcpy (info->fake.fname,fname,msdos_len); |
| info | 292 | fs/umsdos/mangle.c | info->msdos_reject = 1; |
| info | 301 | fs/umsdos/mangle.c | strncpy (info->fake.fname,fname,len); |
| info | 302 | fs/umsdos/mangle.c | info->msdos_reject = 0; |
| info | 355 | fs/umsdos/mangle.c | if (memcmp(info->fake.fname,tbdev[i],base_len)==0){ |
| info | 356 | fs/umsdos/mangle.c | memcpy (basen,info->fake.fname,base_len); |
| info | 362 | fs/umsdos/mangle.c | info->fake.fname[0] = '-'; |
| info | 363 | fs/umsdos/mangle.c | strcpy (info->fake.fname+1,basen); /* GLU C'est sur on a un 0 a la fin */ |
| info | 365 | fs/umsdos/mangle.c | info->msdos_reject = 1; |
| info | 370 | fs/umsdos/mangle.c | info->fake.fname[msdos_len] = '\0'; /* Help doing printk */ |
| info | 372 | fs/umsdos/mangle.c | info->fake.len = msdos_len; |
| info | 374 | fs/umsdos/mangle.c | memcpy (info->entry.name,fname,len); |
| info | 375 | fs/umsdos/mangle.c | info->entry.name_len = len; |
| info | 381 | fs/umsdos/mangle.c | info->recsize = umsdos_evalrecsize (len); |
| info | 453 | fs/umsdos/mangle.c | struct umsdos_info info; |
| info | 454 | fs/umsdos/mangle.c | int ok = umsdos_parse (pttb->fname,strlen(pttb->fname),&info); |
| info | 455 | fs/umsdos/mangle.c | if (strcmp(info.fake.fname,pttb->msname)!=0){ |
| info | 457 | fs/umsdos/mangle.c | printf ("%s <> %s\n",info.fake.fname,pttb->msname); |
| info | 458 | fs/umsdos/mangle.c | }else if (info.msdos_reject != pttb->msdos_reject){ |
| info | 460 | fs/umsdos/mangle.c | printf ("%d <> %d\n",info.msdos_reject,pttb->msdos_reject); |
| info | 212 | fs/umsdos/namei.c | struct umsdos_info info; |
| info | 213 | fs/umsdos/namei.c | ret = umsdos_parse (name,len,&info); |
| info | 216 | fs/umsdos/namei.c | info.entry.mode = mode; |
| info | 217 | fs/umsdos/namei.c | info.entry.rdev = rdev; |
| info | 218 | fs/umsdos/namei.c | info.entry.flags = flags; |
| info | 219 | fs/umsdos/namei.c | info.entry.uid = current->fsuid; |
| info | 220 | fs/umsdos/namei.c | info.entry.gid = (dir->i_mode & S_ISGID) |
| info | 222 | fs/umsdos/namei.c | info.entry.ctime = info.entry.atime = info.entry.mtime |
| info | 224 | fs/umsdos/namei.c | info.entry.nlink = 1; |
| info | 226 | fs/umsdos/namei.c | ret = umsdos_newentry (dir,&info); |
| info | 229 | fs/umsdos/namei.c | ret = msdos_create (dir,info.fake.fname,info.fake.len |
| info | 233 | fs/umsdos/namei.c | umsdos_lookup_patch (dir,inode,&info.entry,info.f_pos); |
| info | 236 | fs/umsdos/namei.c | ,info.fake.fname,current->pid,info.f_pos)); |
| info | 263 | fs/umsdos/namei.c | ,info.fake.fname,-ret,current->pid,info.f_pos); |
| info | 265 | fs/umsdos/namei.c | umsdos_delentry (dir,&info,0); |
| info | 268 | fs/umsdos/namei.c | ,info.fake.fname,ret,info.f_pos)); |
| info | 592 | fs/umsdos/namei.c | struct umsdos_info info; |
| info | 593 | fs/umsdos/namei.c | ret = umsdos_newhidden (olddir,&info); |
| info | 599 | fs/umsdos/namei.c | ,olddir,info.entry.name,info.entry.name_len |
| info | 685 | fs/umsdos/namei.c | struct umsdos_info info; |
| info | 686 | fs/umsdos/namei.c | ret = umsdos_parse (name,len,&info); |
| info | 689 | fs/umsdos/namei.c | info.entry.mode = mode | S_IFDIR; |
| info | 690 | fs/umsdos/namei.c | info.entry.rdev = 0; |
| info | 691 | fs/umsdos/namei.c | info.entry.uid = current->fsuid; |
| info | 692 | fs/umsdos/namei.c | info.entry.gid = (dir->i_mode & S_ISGID) |
| info | 694 | fs/umsdos/namei.c | info.entry.ctime = info.entry.atime = info.entry.mtime |
| info | 696 | fs/umsdos/namei.c | info.entry.flags = 0; |
| info | 698 | fs/umsdos/namei.c | info.entry.nlink = 1; |
| info | 699 | fs/umsdos/namei.c | ret = umsdos_newentry (dir,&info); |
| info | 703 | fs/umsdos/namei.c | ret = msdos_mkdir (dir,info.fake.fname,info.fake.len,mode); |
| info | 705 | fs/umsdos/namei.c | umsdos_delentry (dir,&info,1); |
| info | 718 | fs/umsdos/namei.c | ret = umsdos_real_lookup (dir,info.fake.fname |
| info | 719 | fs/umsdos/namei.c | ,info.fake.len,&subdir); |
| info | 893 | fs/umsdos/namei.c | struct umsdos_info info; |
| info | 895 | fs/umsdos/namei.c | umsdos_parse (name,len,&info); |
| info | 898 | fs/umsdos/namei.c | umsdos_findentry (dir,&info,2); |
| info | 899 | fs/umsdos/namei.c | ret = msdos_rmdir (dir,info.fake.fname |
| info | 900 | fs/umsdos/namei.c | ,info.fake.len); |
| info | 902 | fs/umsdos/namei.c | ret = umsdos_delentry (dir,&info,1); |
| info | 934 | fs/umsdos/namei.c | struct umsdos_info info; |
| info | 935 | fs/umsdos/namei.c | ret = umsdos_parse (name,len,&info); |
| info | 938 | fs/umsdos/namei.c | ret = umsdos_findentry(dir,&info,1); |
| info | 940 | fs/umsdos/namei.c | PRINTK (("UMSDOS_unlink %s ",info.fake.fname)); |
| info | 943 | fs/umsdos/namei.c | current->fsuid == info.entry.uid || |
| info | 945 | fs/umsdos/namei.c | if (info.entry.flags & UMSDOS_HLINK){ |
| info | 984 | fs/umsdos/namei.c | ret = umsdos_delentry (dir,&info,0); |
| info | 986 | fs/umsdos/namei.c | PRINTK (("Avant msdos_unlink %s ",info.fake.fname)); |
| info | 988 | fs/umsdos/namei.c | ret = msdos_unlink_umsdos (dir,info.fake.fname |
| info | 989 | fs/umsdos/namei.c | ,info.fake.len); |
| info | 990 | fs/umsdos/namei.c | PRINTK (("msdos_unlink %s %o ret %d ",info.fake.fname |
| info | 991 | fs/umsdos/namei.c | ,info.entry.mode,ret)); |
| info | 27 | include/asm-alpha/a.out.h | __u64 info; /* after that it looks quite normal.. */ |
| info | 64 | include/asm-alpha/a.out.h | #define a_info ah.info |
| info | 69 | include/asm-i386/processor.h | struct info *info; |
| info | 154 | include/asm-sparc/viking.h | unsigned long info, page; |
| info | 159 | include/asm-sparc/viking.h | "=r" (info), "=r" (page) : |
| info | 162 | include/asm-sparc/viking.h | data[0] = info; |
| info | 124 | include/linux/isdn.h | unsigned long info[ISDN_MAX_CHANNELS]; |
| info | 441 | include/linux/isdn.h | modem_info info[ISDN_MAX_CHANNELS]; /* Private data */ |
| info | 10 | include/linux/isdn_ppp.h | } info; |
| info | 134 | include/linux/ncp_fs.h | ino_t ncp_info_ino(struct ncp_server *server, struct ncp_inode_info *info); |
| info | 31 | include/net/icmp.h | unsigned long info, struct device *dev); |
| info | 18 | kernel/info.c | asmlinkage int sys_sysinfo(struct sysinfo *info) |
| info | 23 | kernel/info.c | error = verify_area(VERIFY_WRITE, info, sizeof(struct sysinfo)); |
| info | 39 | kernel/info.c | memcpy_tofs(info, &val, sizeof(struct sysinfo)); |
| info | 506 | net/ipv4/icmp.c | void icmp_send(struct sk_buff *skb_in, int type, int code, unsigned long info, struct device *dev) |
| info | 584 | net/ipv4/icmp.c | icmp_param.icmph.un.gateway = info; |