| tag | line | file | source code |
| info | 680 | drivers/FPU-emu/fpu_entry.c | void math_abort(struct info * info, unsigned int signal) |
| info | 687 | drivers/FPU-emu/fpu_entry.c | __asm__("movl %0,%%esp ; ret": :"g" (((long) info)-4)); |
| info | 55 | drivers/FPU-emu/fpu_proto.h | extern void math_abort(struct info *info, unsigned int signal); |
| info | 20 | drivers/FPU-emu/fpu_system.h | #define SETUP_DATA_AREA(arg) FPU_info = (struct info *) &arg |
| info | 36 | drivers/FPU-emu/fpu_system.h | #define FPU_info (I387.soft.info) |
| info | 34 | drivers/FPU-emu/get_address.c | offsetof(struct info,___eax), |
| info | 35 | drivers/FPU-emu/get_address.c | offsetof(struct info,___ecx), |
| info | 36 | drivers/FPU-emu/get_address.c | offsetof(struct info,___edx), |
| info | 37 | drivers/FPU-emu/get_address.c | offsetof(struct info,___ebx), |
| info | 38 | drivers/FPU-emu/get_address.c | offsetof(struct info,___esp), |
| info | 39 | drivers/FPU-emu/get_address.c | offsetof(struct info,___ebp), |
| info | 40 | drivers/FPU-emu/get_address.c | offsetof(struct info,___esi), |
| info | 41 | drivers/FPU-emu/get_address.c | offsetof(struct info,___edi) |
| info | 47 | drivers/FPU-emu/get_address.c | offsetof(struct info,___cs), |
| info | 48 | drivers/FPU-emu/get_address.c | offsetof(struct info,___vm86_ds), |
| info | 49 | drivers/FPU-emu/get_address.c | offsetof(struct info,___vm86_es), |
| info | 50 | drivers/FPU-emu/get_address.c | offsetof(struct info,___vm86_fs), |
| info | 51 | drivers/FPU-emu/get_address.c | offsetof(struct info,___vm86_gs), |
| info | 52 | drivers/FPU-emu/get_address.c | offsetof(struct info,___ss), |
| info | 53 | drivers/FPU-emu/get_address.c | offsetof(struct info,___vm86_ds) |
| info | 60 | drivers/FPU-emu/get_address.c | offsetof(struct info,___cs), |
| info | 61 | drivers/FPU-emu/get_address.c | offsetof(struct info,___ds), |
| info | 62 | drivers/FPU-emu/get_address.c | offsetof(struct info,___es), |
| info | 63 | drivers/FPU-emu/get_address.c | offsetof(struct info,___fs), |
| info | 64 | drivers/FPU-emu/get_address.c | offsetof(struct info,___gs), |
| info | 65 | drivers/FPU-emu/get_address.c | offsetof(struct info,___ss), |
| info | 66 | drivers/FPU-emu/get_address.c | offsetof(struct info,___ds) |
| info | 86 | drivers/char/serial.c | static void autoconfig(struct async_struct * info); |
| info | 87 | drivers/char/serial.c | static void change_speed(struct async_struct *info); |
| info | 189 | drivers/char/serial.c | static inline int serial_paranoia_check(struct async_struct *info, |
| info | 198 | drivers/char/serial.c | if (!info) { |
| info | 202 | drivers/char/serial.c | if (info->magic != SERIAL_MAGIC) { |
| info | 217 | drivers/char/serial.c | static inline unsigned int serial_in(struct async_struct *info, int offset) |
| info | 220 | drivers/char/serial.c | if (info->hub6) { |
| info | 221 | drivers/char/serial.c | outb(info->hub6 - 1 + offset, info->port); |
| info | 222 | drivers/char/serial.c | return inb(info->port+1); |
| info | 225 | drivers/char/serial.c | return inb(info->port + offset); |
| info | 228 | drivers/char/serial.c | static inline unsigned int serial_inp(struct async_struct *info, int offset) |
| info | 231 | drivers/char/serial.c | if (info->hub6) { |
| info | 232 | drivers/char/serial.c | outb(info->hub6 - 1 + offset, info->port); |
| info | 233 | drivers/char/serial.c | return inb_p(info->port+1); |
| info | 237 | drivers/char/serial.c | return inb(info->port + offset); |
| info | 239 | drivers/char/serial.c | return inb_p(info->port + offset); |
| info | 243 | drivers/char/serial.c | static inline void serial_out(struct async_struct *info, int offset, int value) |
| info | 246 | drivers/char/serial.c | if (info->hub6) { |
| info | 247 | drivers/char/serial.c | outb(info->hub6 - 1 + offset, info->port); |
| info | 248 | drivers/char/serial.c | outb(value, info->port+1); |
| info | 251 | drivers/char/serial.c | outb(value, info->port+offset); |
| info | 254 | drivers/char/serial.c | static inline void serial_outp(struct async_struct *info, int offset, |
| info | 258 | drivers/char/serial.c | if (info->hub6) { |
| info | 259 | drivers/char/serial.c | outb(info->hub6 - 1 + offset, info->port); |
| info | 260 | drivers/char/serial.c | outb_p(value, info->port+1); |
| info | 264 | drivers/char/serial.c | outb(value, info->port+offset); |
| info | 266 | drivers/char/serial.c | outb_p(value, info->port+offset); |
| info | 280 | drivers/char/serial.c | struct async_struct *info = tty->driver_data; |
| info | 283 | drivers/char/serial.c | if (serial_paranoia_check(info, tty->device, "rs_stop")) |
| info | 286 | drivers/char/serial.c | if (info->flags & ASYNC_CLOSING) { |
| info | 293 | drivers/char/serial.c | if (info->IER & UART_IER_THRI) { |
| info | 294 | drivers/char/serial.c | info->IER &= ~UART_IER_THRI; |
| info | 295 | drivers/char/serial.c | serial_out(info, UART_IER, info->IER); |
| info | 302 | drivers/char/serial.c | struct async_struct *info = tty->driver_data; |
| info | 305 | drivers/char/serial.c | if (serial_paranoia_check(info, tty->device, "rs_start")) |
| info | 309 | drivers/char/serial.c | if (info->xmit_cnt && !info->xmit_buf && |
| info | 310 | drivers/char/serial.c | !(info->IER & UART_IER_THRI)) { |
| info | 311 | drivers/char/serial.c | info->IER |= UART_IER_THRI; |
| info | 312 | drivers/char/serial.c | serial_out(info, UART_IER, info->IER); |
| info | 353 | drivers/char/serial.c | static _INLINE_ void rs_sched_event(struct async_struct *info, |
| info | 356 | drivers/char/serial.c | info->event |= 1 << event; |
| info | 357 | drivers/char/serial.c | queue_task_irq_off(&info->tqueue, &tq_serial); |
| info | 361 | drivers/char/serial.c | static _INLINE_ void receive_chars(struct async_struct *info, |
| info | 364 | drivers/char/serial.c | struct tty_struct *tty = info->tty; |
| info | 368 | drivers/char/serial.c | ch = serial_inp(info, UART_RX); |
| info | 369 | drivers/char/serial.c | if (*status & info->ignore_status_mask) |
| info | 374 | drivers/char/serial.c | if (*status & info->read_status_mask) { |
| info | 377 | drivers/char/serial.c | if (info->flags & ASYNC_SAK) |
| info | 390 | drivers/char/serial.c | } while ((*status = serial_inp(info, UART_LSR)) & UART_LSR_DR); |
| info | 397 | drivers/char/serial.c | static _INLINE_ void transmit_chars(struct async_struct *info, int *intr_done) |
| info | 401 | drivers/char/serial.c | if (info->x_char) { |
| info | 402 | drivers/char/serial.c | serial_outp(info, UART_TX, info->x_char); |
| info | 403 | drivers/char/serial.c | info->x_char = 0; |
| info | 408 | drivers/char/serial.c | if (!info->xmit_cnt || info->tty->stopped || info->tty->hw_stopped) { |
| info | 409 | drivers/char/serial.c | info->IER &= ~UART_IER_THRI; |
| info | 411 | drivers/char/serial.c | serial_out(info, UART_IER, info->IER); |
| info | 416 | drivers/char/serial.c | count = info->xmit_fifo_size; |
| info | 418 | drivers/char/serial.c | serial_out(info, UART_TX, info->xmit_buf[info->xmit_tail++]); |
| info | 419 | drivers/char/serial.c | info->xmit_tail = info->xmit_tail & (SERIAL_XMIT_SIZE-1); |
| info | 420 | drivers/char/serial.c | if (--info->xmit_cnt == 0) |
| info | 424 | drivers/char/serial.c | if (info->xmit_cnt < WAKEUP_CHARS) |
| info | 425 | drivers/char/serial.c | rs_sched_event(info, RS_EVENT_WRITE_WAKEUP); |
| info | 433 | drivers/char/serial.c | if (info->xmit_cnt == 0) { |
| info | 434 | drivers/char/serial.c | info->IER &= ~UART_IER_THRI; |
| info | 436 | drivers/char/serial.c | serial_out(info, UART_IER, info->IER); |
| info | 441 | drivers/char/serial.c | static _INLINE_ void check_modem_status(struct async_struct *info) |
| info | 445 | drivers/char/serial.c | status = serial_in(info, UART_MSR); |
| info | 447 | drivers/char/serial.c | if ((info->flags & ASYNC_CHECK_CD) && (status & UART_MSR_DDCD)) { |
| info | 449 | drivers/char/serial.c | printk("ttys%d CD now %s...", info->line, |
| info | 453 | drivers/char/serial.c | wake_up_interruptible(&info->open_wait); |
| info | 454 | drivers/char/serial.c | else if (!((info->flags & ASYNC_CALLOUT_ACTIVE) && |
| info | 455 | drivers/char/serial.c | (info->flags & ASYNC_CALLOUT_NOHUP))) { |
| info | 459 | drivers/char/serial.c | rs_sched_event(info, RS_EVENT_HANGUP); |
| info | 462 | drivers/char/serial.c | if (info->flags & ASYNC_CTS_FLOW) { |
| info | 463 | drivers/char/serial.c | if (info->tty->hw_stopped) { |
| info | 468 | drivers/char/serial.c | info->tty->hw_stopped = 0; |
| info | 469 | drivers/char/serial.c | info->IER |= UART_IER_THRI; |
| info | 471 | drivers/char/serial.c | serial_out(info, UART_IER, info->IER); |
| info | 473 | drivers/char/serial.c | rs_sched_event(info, RS_EVENT_WRITE_WAKEUP); |
| info | 481 | drivers/char/serial.c | info->tty->hw_stopped = 1; |
| info | 482 | drivers/char/serial.c | info->IER &= ~UART_IER_THRI; |
| info | 484 | drivers/char/serial.c | serial_out(info, UART_IER, info->IER); |
| info | 498 | drivers/char/serial.c | struct async_struct * info; |
| info | 506 | drivers/char/serial.c | info = IRQ_ports[irq]; |
| info | 507 | drivers/char/serial.c | if (!info) |
| info | 511 | drivers/char/serial.c | if (!info->tty || |
| info | 512 | drivers/char/serial.c | (serial_in(info, UART_IIR) & UART_IIR_NO_INT)) { |
| info | 514 | drivers/char/serial.c | end_mark = info; |
| info | 519 | drivers/char/serial.c | info->last_active = jiffies; |
| info | 521 | drivers/char/serial.c | status = serial_inp(info, UART_LSR); |
| info | 523 | drivers/char/serial.c | receive_chars(info, &status); |
| info | 524 | drivers/char/serial.c | check_modem_status(info); |
| info | 526 | drivers/char/serial.c | transmit_chars(info, 0); |
| info | 529 | drivers/char/serial.c | info = info->next_port; |
| info | 530 | drivers/char/serial.c | if (!info) { |
| info | 531 | drivers/char/serial.c | info = IRQ_ports[irq]; |
| info | 540 | drivers/char/serial.c | } while (end_mark != info); |
| info | 550 | drivers/char/serial.c | struct async_struct * info; |
| info | 556 | drivers/char/serial.c | info = IRQ_ports[irq]; |
| info | 557 | drivers/char/serial.c | if (!info || !info->tty) |
| info | 561 | drivers/char/serial.c | status = serial_inp(info, UART_LSR); |
| info | 563 | drivers/char/serial.c | receive_chars(info, &status); |
| info | 564 | drivers/char/serial.c | check_modem_status(info); |
| info | 566 | drivers/char/serial.c | transmit_chars(info, 0); |
| info | 573 | drivers/char/serial.c | } while (!(serial_in(info, UART_IIR) & UART_IIR_NO_INT)); |
| info | 574 | drivers/char/serial.c | info->last_active = jiffies; |
| info | 585 | drivers/char/serial.c | struct async_struct * info; |
| info | 593 | drivers/char/serial.c | info = IRQ_ports[irq]; |
| info | 594 | drivers/char/serial.c | if (!info) |
| info | 598 | drivers/char/serial.c | if (!info->tty) |
| info | 601 | drivers/char/serial.c | serial_outp(info, UART_IER, 0); |
| info | 602 | drivers/char/serial.c | status = serial_inp(info, UART_LSR); |
| info | 604 | drivers/char/serial.c | receive_chars(info, &status); |
| info | 607 | drivers/char/serial.c | check_modem_status(info); |
| info | 609 | drivers/char/serial.c | transmit_chars(info, &done); |
| info | 612 | drivers/char/serial.c | info = info->next_port; |
| info | 613 | drivers/char/serial.c | if (!info) { |
| info | 614 | drivers/char/serial.c | info = IRQ_ports[irq]; |
| info | 632 | drivers/char/serial.c | serial_outp(info, UART_IER, info->IER); |
| info | 633 | drivers/char/serial.c | while ((info = info->next_port) != NULL); |
| info | 642 | drivers/char/serial.c | struct async_struct * info; |
| info | 649 | drivers/char/serial.c | info = IRQ_ports[irq]; |
| info | 650 | drivers/char/serial.c | if (!info || !info->tty) |
| info | 653 | drivers/char/serial.c | serial_outp(info, UART_IER, 0); |
| info | 654 | drivers/char/serial.c | status = serial_inp(info, UART_LSR); |
| info | 656 | drivers/char/serial.c | receive_chars(info, &status); |
| info | 657 | drivers/char/serial.c | check_modem_status(info); |
| info | 659 | drivers/char/serial.c | transmit_chars(info, 0); |
| info | 664 | drivers/char/serial.c | serial_outp(info, UART_IER, info->IER); |
| info | 691 | drivers/char/serial.c | struct async_struct *info = (struct async_struct *) private; |
| info | 694 | drivers/char/serial.c | tty = info->tty; |
| info | 698 | drivers/char/serial.c | if (clear_bit(RS_EVENT_HANGUP, &info->event)) { |
| info | 700 | drivers/char/serial.c | wake_up_interruptible(&info->open_wait); |
| info | 701 | drivers/char/serial.c | info->flags &= ~(ASYNC_NORMAL_ACTIVE| |
| info | 704 | drivers/char/serial.c | if (clear_bit(RS_EVENT_WRITE_WAKEUP, &info->event)) { |
| info | 722 | drivers/char/serial.c | struct async_struct *info; |
| info | 727 | drivers/char/serial.c | info = IRQ_ports[i]; |
| info | 728 | drivers/char/serial.c | if (!info) |
| info | 731 | drivers/char/serial.c | if (info->next_port) { |
| info | 733 | drivers/char/serial.c | serial_out(info, UART_IER, 0); |
| info | 734 | drivers/char/serial.c | info->IER |= UART_IER_THRI; |
| info | 735 | drivers/char/serial.c | serial_out(info, UART_IER, info->IER); |
| info | 736 | drivers/char/serial.c | info = info->next_port; |
| info | 737 | drivers/char/serial.c | } while (info); |
| info | 811 | drivers/char/serial.c | struct async_struct *info; |
| info | 814 | drivers/char/serial.c | info = IRQ_ports[irq]; |
| info | 815 | drivers/char/serial.c | if (!info) { |
| info | 819 | drivers/char/serial.c | while (info) { |
| info | 820 | drivers/char/serial.c | if (info->timeout < timeout) |
| info | 821 | drivers/char/serial.c | timeout = info->timeout; |
| info | 822 | drivers/char/serial.c | info = info->next_port; |
| info | 829 | drivers/char/serial.c | static int startup(struct async_struct * info) |
| info | 836 | drivers/char/serial.c | if (info->flags & ASYNC_INITIALIZED) |
| info | 839 | drivers/char/serial.c | if (!info->port || !info->type) { |
| info | 840 | drivers/char/serial.c | if (info->tty) |
| info | 841 | drivers/char/serial.c | set_bit(TTY_IO_ERROR, &info->tty->flags); |
| info | 845 | drivers/char/serial.c | if (!info->xmit_buf) { |
| info | 846 | drivers/char/serial.c | info->xmit_buf = (unsigned char *) get_free_page(GFP_KERNEL); |
| info | 847 | drivers/char/serial.c | if (!info->xmit_buf) |
| info | 854 | drivers/char/serial.c | printk("starting up ttys%d (irq %d)...", info->line, info->irq); |
| info | 861 | drivers/char/serial.c | if (info->type == PORT_16550A) { |
| info | 862 | drivers/char/serial.c | serial_outp(info, UART_FCR, (UART_FCR_CLEAR_RCVR | |
| info | 864 | drivers/char/serial.c | info->xmit_fifo_size = 16; |
| info | 866 | drivers/char/serial.c | info->xmit_fifo_size = 1; |
| info | 873 | drivers/char/serial.c | if (serial_inp(info, UART_LSR) == 0xff) { |
| info | 876 | drivers/char/serial.c | if (info->tty) |
| info | 877 | drivers/char/serial.c | set_bit(TTY_IO_ERROR, &info->tty->flags); |
| info | 886 | drivers/char/serial.c | if (info->irq && (!IRQ_ports[info->irq] || |
| info | 887 | drivers/char/serial.c | !IRQ_ports[info->irq]->next_port)) { |
| info | 888 | drivers/char/serial.c | if (IRQ_ports[info->irq]) { |
| info | 889 | drivers/char/serial.c | free_irq(info->irq); |
| info | 897 | drivers/char/serial.c | retval = irqaction(info->irq,&sa); |
| info | 901 | drivers/char/serial.c | if (info->tty) |
| info | 903 | drivers/char/serial.c | &info->tty->flags); |
| info | 914 | drivers/char/serial.c | (void) serial_inp(info, UART_RX); |
| info | 915 | drivers/char/serial.c | (void) serial_inp(info, UART_IIR); |
| info | 916 | drivers/char/serial.c | (void) serial_inp(info, UART_MSR); |
| info | 921 | drivers/char/serial.c | serial_outp(info, UART_LCR, UART_LCR_WLEN8); /* reset DLAB */ |
| info | 922 | drivers/char/serial.c | if (info->flags & ASYNC_FOURPORT) { |
| info | 923 | drivers/char/serial.c | info->MCR = UART_MCR_DTR | UART_MCR_RTS; |
| info | 924 | drivers/char/serial.c | info->MCR_noint = UART_MCR_DTR | UART_MCR_OUT1; |
| info | 926 | drivers/char/serial.c | info->MCR = UART_MCR_DTR | UART_MCR_RTS | UART_MCR_OUT2; |
| info | 927 | drivers/char/serial.c | info->MCR_noint = UART_MCR_DTR | UART_MCR_RTS; |
| info | 929 | drivers/char/serial.c | serial_outp(info, UART_MCR, info->MCR); |
| info | 934 | drivers/char/serial.c | info->IER = UART_IER_MSI | UART_IER_RLSI | UART_IER_RDI; |
| info | 935 | drivers/char/serial.c | serial_outp(info, UART_IER, info->IER); /* enable interrupts */ |
| info | 937 | drivers/char/serial.c | if (info->flags & ASYNC_FOURPORT) { |
| info | 939 | drivers/char/serial.c | ICP = (info->port & 0xFE0) | 0x01F; |
| info | 947 | drivers/char/serial.c | (void)serial_inp(info, UART_LSR); |
| info | 948 | drivers/char/serial.c | (void)serial_inp(info, UART_RX); |
| info | 949 | drivers/char/serial.c | (void)serial_inp(info, UART_IIR); |
| info | 950 | drivers/char/serial.c | (void)serial_inp(info, UART_MSR); |
| info | 952 | drivers/char/serial.c | if (info->tty) |
| info | 953 | drivers/char/serial.c | clear_bit(TTY_IO_ERROR, &info->tty->flags); |
| info | 954 | drivers/char/serial.c | info->xmit_cnt = info->xmit_head = info->xmit_tail = 0; |
| info | 959 | drivers/char/serial.c | info->prev_port = 0; |
| info | 960 | drivers/char/serial.c | info->next_port = IRQ_ports[info->irq]; |
| info | 961 | drivers/char/serial.c | if (info->next_port) |
| info | 962 | drivers/char/serial.c | info->next_port->prev_port = info; |
| info | 963 | drivers/char/serial.c | IRQ_ports[info->irq] = info; |
| info | 964 | drivers/char/serial.c | figure_IRQ_timeout(info->irq); |
| info | 975 | drivers/char/serial.c | change_speed(info); |
| info | 977 | drivers/char/serial.c | info->flags |= ASYNC_INITIALIZED; |
| info | 986 | drivers/char/serial.c | static void shutdown(struct async_struct * info) |
| info | 993 | drivers/char/serial.c | if (!(info->flags & ASYNC_INITIALIZED)) |
| info | 997 | drivers/char/serial.c | printk("Shutting down serial port %d (irq %d)....", info->line, |
| info | 998 | drivers/char/serial.c | info->irq); |
| info | 1006 | drivers/char/serial.c | if (info->next_port) |
| info | 1007 | drivers/char/serial.c | info->next_port->prev_port = info->prev_port; |
| info | 1008 | drivers/char/serial.c | if (info->prev_port) |
| info | 1009 | drivers/char/serial.c | info->prev_port->next_port = info->next_port; |
| info | 1011 | drivers/char/serial.c | IRQ_ports[info->irq] = info->next_port; |
| info | 1012 | drivers/char/serial.c | figure_IRQ_timeout(info->irq); |
| info | 1017 | drivers/char/serial.c | if (info->irq && (!IRQ_ports[info->irq] || |
| info | 1018 | drivers/char/serial.c | !IRQ_ports[info->irq]->next_port)) { |
| info | 1019 | drivers/char/serial.c | if (IRQ_ports[info->irq]) { |
| info | 1020 | drivers/char/serial.c | free_irq(info->irq); |
| info | 1025 | drivers/char/serial.c | retval = irqaction(info->irq, &sa); |
| info | 1031 | drivers/char/serial.c | free_irq(info->irq); |
| info | 1034 | drivers/char/serial.c | if (info->xmit_buf) { |
| info | 1035 | drivers/char/serial.c | free_page((unsigned long) info->xmit_buf); |
| info | 1036 | drivers/char/serial.c | info->xmit_buf = 0; |
| info | 1039 | drivers/char/serial.c | info->IER = 0; |
| info | 1040 | drivers/char/serial.c | serial_outp(info, UART_IER, 0x00); /* disable all intrs */ |
| info | 1041 | drivers/char/serial.c | if (info->flags & ASYNC_FOURPORT) { |
| info | 1043 | drivers/char/serial.c | (void) inb((info->port & 0xFE0) | 0x01F); |
| info | 1057 | drivers/char/serial.c | timeout = jiffies + info->timeout; |
| info | 1058 | drivers/char/serial.c | while (!(serial_inp(info, UART_LSR) & UART_LSR_TEMT)) { |
| info | 1064 | drivers/char/serial.c | if (!info->tty || (info->tty->termios->c_cflag & HUPCL)) { |
| info | 1065 | drivers/char/serial.c | info->MCR &= ~(UART_MCR_DTR|UART_MCR_RTS); |
| info | 1066 | drivers/char/serial.c | info->MCR_noint &= ~(UART_MCR_DTR|UART_MCR_RTS); |
| info | 1068 | drivers/char/serial.c | serial_outp(info, UART_MCR, info->MCR_noint); |
| info | 1071 | drivers/char/serial.c | serial_outp(info, UART_FCR, (UART_FCR_CLEAR_RCVR | |
| info | 1073 | drivers/char/serial.c | (void)serial_in(info, UART_RX); /* read data port to reset things */ |
| info | 1075 | drivers/char/serial.c | if (info->tty) |
| info | 1076 | drivers/char/serial.c | set_bit(TTY_IO_ERROR, &info->tty->flags); |
| info | 1078 | drivers/char/serial.c | info->flags &= ~ASYNC_INITIALIZED; |
| info | 1086 | drivers/char/serial.c | static void change_speed(struct async_struct *info) |
| info | 1093 | drivers/char/serial.c | if (!info->tty || !info->tty->termios) |
| info | 1095 | drivers/char/serial.c | cflag = info->tty->termios->c_cflag; |
| info | 1096 | drivers/char/serial.c | if (!(port = info->port)) |
| info | 1100 | drivers/char/serial.c | if ((info->flags & ASYNC_SPD_MASK) == ASYNC_SPD_HI) |
| info | 1102 | drivers/char/serial.c | if ((info->flags & ASYNC_SPD_MASK) == ASYNC_SPD_VHI) |
| info | 1104 | drivers/char/serial.c | if ((info->flags & ASYNC_SPD_MASK) == ASYNC_SPD_CUST) |
| info | 1105 | drivers/char/serial.c | quot = info->custom_divisor; |
| info | 1108 | drivers/char/serial.c | info->timeout = ((info->xmit_fifo_size*HZ*15*quot) / |
| info | 1109 | drivers/char/serial.c | info->baud_base) + 2; |
| info | 1111 | drivers/char/serial.c | quot = (2*info->baud_base / 269); |
| info | 1112 | drivers/char/serial.c | info->timeout = (info->xmit_fifo_size*HZ*30/269) + 2; |
| info | 1114 | drivers/char/serial.c | quot = info->baud_base / baud_table[i]; |
| info | 1115 | drivers/char/serial.c | info->timeout = (info->xmit_fifo_size*HZ*15/baud_table[i]) + 2; |
| info | 1118 | drivers/char/serial.c | info->timeout = 0; |
| info | 1121 | drivers/char/serial.c | info->MCR |= UART_MCR_DTR; |
| info | 1122 | drivers/char/serial.c | info->MCR_noint |= UART_MCR_DTR; |
| info | 1124 | drivers/char/serial.c | serial_out(info, UART_MCR, info->MCR); |
| info | 1127 | drivers/char/serial.c | info->MCR &= ~UART_MCR_DTR; |
| info | 1128 | drivers/char/serial.c | info->MCR_noint &= ~UART_MCR_DTR; |
| info | 1130 | drivers/char/serial.c | serial_out(info, UART_MCR, info->MCR); |
| info | 1141 | drivers/char/serial.c | if (info->type == PORT_16550A) { |
| info | 1142 | drivers/char/serial.c | if ((info->baud_base / quot) < 2400) |
| info | 1151 | drivers/char/serial.c | info->flags |= ASYNC_CTS_FLOW; |
| info | 1153 | drivers/char/serial.c | info->flags &= ~ASYNC_CTS_FLOW; |
| info | 1155 | drivers/char/serial.c | info->flags &= ~ASYNC_CHECK_CD; |
| info | 1157 | drivers/char/serial.c | info->flags |= ASYNC_CHECK_CD; |
| info | 1162 | drivers/char/serial.c | info->read_status_mask = UART_LSR_OE; |
| info | 1163 | drivers/char/serial.c | if (I_INPCK(info->tty)) |
| info | 1164 | drivers/char/serial.c | info->read_status_mask |= UART_LSR_FE | UART_LSR_PE; |
| info | 1165 | drivers/char/serial.c | if (I_BRKINT(info->tty) || I_PARMRK(info->tty)) |
| info | 1166 | drivers/char/serial.c | info->read_status_mask |= UART_LSR_BI; |
| info | 1168 | drivers/char/serial.c | info->ignore_status_mask = 0; |
| info | 1169 | drivers/char/serial.c | if (I_IGNPAR(info->tty)) |
| info | 1170 | drivers/char/serial.c | info->ignore_status_mask |= UART_LSR_PE | UART_LSR_FE; |
| info | 1171 | drivers/char/serial.c | if (I_IGNBRK(info->tty)) { |
| info | 1172 | drivers/char/serial.c | info->ignore_status_mask |= UART_LSR_BI; |
| info | 1177 | drivers/char/serial.c | if (I_IGNPAR(info->tty)) |
| info | 1178 | drivers/char/serial.c | info->ignore_status_mask |= UART_LSR_OE; |
| info | 1182 | drivers/char/serial.c | serial_outp(info, UART_LCR, cval | UART_LCR_DLAB); /* set DLAB */ |
| info | 1183 | drivers/char/serial.c | serial_outp(info, UART_DLL, quot & 0xff); /* LS of divisor */ |
| info | 1184 | drivers/char/serial.c | serial_outp(info, UART_DLM, quot >> 8); /* MS of divisor */ |
| info | 1185 | drivers/char/serial.c | serial_outp(info, UART_LCR, cval); /* reset DLAB */ |
| info | 1186 | drivers/char/serial.c | serial_outp(info, UART_FCR, fcr); /* set fcr */ |
| info | 1192 | drivers/char/serial.c | struct async_struct *info = tty->driver_data; |
| info | 1194 | drivers/char/serial.c | if (serial_paranoia_check(info, tty->device, "rs_put_char")) |
| info | 1197 | drivers/char/serial.c | if (!tty || tty->stopped || tty->hw_stopped || !info->xmit_buf) |
| info | 1200 | drivers/char/serial.c | if (info->xmit_cnt >= SERIAL_XMIT_SIZE - 1) |
| info | 1203 | drivers/char/serial.c | info->xmit_buf[info->xmit_head++] = ch; |
| info | 1204 | drivers/char/serial.c | info->xmit_head &= SERIAL_XMIT_SIZE-1; |
| info | 1205 | drivers/char/serial.c | info->xmit_cnt++; |
| info | 1210 | drivers/char/serial.c | struct async_struct *info = tty->driver_data; |
| info | 1213 | drivers/char/serial.c | if (serial_paranoia_check(info, tty->device, "rs_flush_chars")) |
| info | 1216 | drivers/char/serial.c | if (info->xmit_cnt == 0 || tty->stopped || tty->hw_stopped || |
| info | 1217 | drivers/char/serial.c | !info->xmit_buf) |
| info | 1221 | drivers/char/serial.c | info->IER |= UART_IER_THRI; |
| info | 1222 | drivers/char/serial.c | serial_out(info, UART_IER, info->IER); |
| info | 1230 | drivers/char/serial.c | struct async_struct *info = tty->driver_data; |
| info | 1233 | drivers/char/serial.c | if (serial_paranoia_check(info, tty->device, "rs_write")) |
| info | 1236 | drivers/char/serial.c | if (!tty || !info->xmit_buf) |
| info | 1240 | drivers/char/serial.c | c = MIN(count, MIN(SERIAL_XMIT_SIZE - info->xmit_cnt - 1, |
| info | 1241 | drivers/char/serial.c | SERIAL_XMIT_SIZE - info->xmit_head)); |
| info | 1246 | drivers/char/serial.c | memcpy_fromfs(info->xmit_buf + info->xmit_head, |
| info | 1249 | drivers/char/serial.c | memcpy(info->xmit_buf + info->xmit_head, buf, c); |
| info | 1250 | drivers/char/serial.c | info->xmit_head = (info->xmit_head + c) & (SERIAL_XMIT_SIZE-1); |
| info | 1252 | drivers/char/serial.c | info->xmit_cnt += c; |
| info | 1259 | drivers/char/serial.c | if (info->xmit_cnt && !tty->stopped && !tty->hw_stopped && |
| info | 1260 | drivers/char/serial.c | !(info->IER & UART_IER_THRI)) { |
| info | 1261 | drivers/char/serial.c | info->IER |= UART_IER_THRI; |
| info | 1262 | drivers/char/serial.c | serial_out(info, UART_IER, info->IER); |
| info | 1270 | drivers/char/serial.c | struct async_struct *info = tty->driver_data; |
| info | 1272 | drivers/char/serial.c | if (serial_paranoia_check(info, tty->device, "rs_write_room")) |
| info | 1274 | drivers/char/serial.c | return SERIAL_XMIT_SIZE - info->xmit_cnt - 1; |
| info | 1279 | drivers/char/serial.c | struct async_struct *info = tty->driver_data; |
| info | 1281 | drivers/char/serial.c | if (serial_paranoia_check(info, tty->device, "rs_chars_in_buffer")) |
| info | 1283 | drivers/char/serial.c | return info->xmit_cnt; |
| info | 1288 | drivers/char/serial.c | struct async_struct *info = tty->driver_data; |
| info | 1290 | drivers/char/serial.c | if (serial_paranoia_check(info, tty->device, "rs_flush_buffer")) |
| info | 1293 | drivers/char/serial.c | info->xmit_cnt = info->xmit_head = info->xmit_tail = 0; |
| info | 1311 | drivers/char/serial.c | struct async_struct *info = tty->driver_data; |
| info | 1319 | drivers/char/serial.c | if (serial_paranoia_check(info, tty->device, "rs_throttle")) |
| info | 1323 | drivers/char/serial.c | info->x_char = STOP_CHAR(tty); |
| info | 1325 | drivers/char/serial.c | info->MCR &= ~UART_MCR_RTS; |
| info | 1326 | drivers/char/serial.c | info->MCR_noint &= ~UART_MCR_RTS; |
| info | 1328 | drivers/char/serial.c | serial_out(info, UART_MCR, info->MCR); |
| info | 1334 | drivers/char/serial.c | struct async_struct *info = tty->driver_data; |
| info | 1342 | drivers/char/serial.c | if (serial_paranoia_check(info, tty->device, "rs_unthrottle")) |
| info | 1346 | drivers/char/serial.c | if (info->x_char) |
| info | 1347 | drivers/char/serial.c | info->x_char = 0; |
| info | 1349 | drivers/char/serial.c | info->x_char = START_CHAR(tty); |
| info | 1351 | drivers/char/serial.c | info->MCR |= UART_MCR_RTS; |
| info | 1352 | drivers/char/serial.c | info->MCR_noint |= UART_MCR_RTS; |
| info | 1354 | drivers/char/serial.c | serial_out(info, UART_MCR, info->MCR); |
| info | 1364 | drivers/char/serial.c | static int get_serial_info(struct async_struct * info, |
| info | 1372 | drivers/char/serial.c | tmp.type = info->type; |
| info | 1373 | drivers/char/serial.c | tmp.line = info->line; |
| info | 1374 | drivers/char/serial.c | tmp.port = info->port; |
| info | 1375 | drivers/char/serial.c | tmp.irq = info->irq; |
| info | 1376 | drivers/char/serial.c | tmp.flags = info->flags; |
| info | 1377 | drivers/char/serial.c | tmp.baud_base = info->baud_base; |
| info | 1378 | drivers/char/serial.c | tmp.close_delay = info->close_delay; |
| info | 1379 | drivers/char/serial.c | tmp.custom_divisor = info->custom_divisor; |
| info | 1380 | drivers/char/serial.c | tmp.hub6 = info->hub6; |
| info | 1385 | drivers/char/serial.c | static int set_serial_info(struct async_struct * info, |
| info | 1396 | drivers/char/serial.c | old_info = *info; |
| info | 1398 | drivers/char/serial.c | change_irq = new_serial.irq != info->irq; |
| info | 1399 | drivers/char/serial.c | change_port = (new_serial.port != info->port) || (new_serial.hub6 != info->hub6); |
| info | 1403 | drivers/char/serial.c | (new_serial.baud_base != info->baud_base) || |
| info | 1404 | drivers/char/serial.c | (new_serial.type != info->type) || |
| info | 1405 | drivers/char/serial.c | (new_serial.close_delay != info->close_delay) || |
| info | 1407 | drivers/char/serial.c | (info->flags & ~ASYNC_USR_MASK))) |
| info | 1409 | drivers/char/serial.c | info->flags = ((info->flags & ~ASYNC_USR_MASK) | |
| info | 1411 | drivers/char/serial.c | info->custom_divisor = new_serial.custom_divisor; |
| info | 1426 | drivers/char/serial.c | if ((info != &rs_table[i]) && |
| info | 1432 | drivers/char/serial.c | if ((change_port || change_irq) && (info->count > 1)) |
| info | 1440 | drivers/char/serial.c | info->baud_base = new_serial.baud_base; |
| info | 1441 | drivers/char/serial.c | info->flags = ((info->flags & ~ASYNC_FLAGS) | |
| info | 1443 | drivers/char/serial.c | info->custom_divisor = new_serial.custom_divisor; |
| info | 1444 | drivers/char/serial.c | info->type = new_serial.type; |
| info | 1445 | drivers/char/serial.c | info->close_delay = new_serial.close_delay; |
| info | 1452 | drivers/char/serial.c | shutdown(info); |
| info | 1453 | drivers/char/serial.c | info->irq = new_serial.irq; |
| info | 1454 | drivers/char/serial.c | info->port = new_serial.port; |
| info | 1455 | drivers/char/serial.c | info->hub6 = new_serial.hub6; |
| info | 1459 | drivers/char/serial.c | if (!info->port || !info->type) |
| info | 1461 | drivers/char/serial.c | if (info->flags & ASYNC_INITIALIZED) { |
| info | 1463 | drivers/char/serial.c | (info->flags & ASYNC_SPD_MASK)) || |
| info | 1464 | drivers/char/serial.c | (old_info.custom_divisor != info->custom_divisor)) |
| info | 1465 | drivers/char/serial.c | change_speed(info); |
| info | 1467 | drivers/char/serial.c | retval = startup(info); |
| info | 1471 | drivers/char/serial.c | static int get_modem_info(struct async_struct * info, unsigned int *value) |
| info | 1476 | drivers/char/serial.c | control = info->MCR; |
| info | 1478 | drivers/char/serial.c | status = serial_in(info, UART_MSR); |
| info | 1490 | drivers/char/serial.c | static int set_modem_info(struct async_struct * info, unsigned int cmd, |
| info | 1498 | drivers/char/serial.c | info->MCR |= UART_MCR_RTS; |
| info | 1499 | drivers/char/serial.c | info->MCR_noint |= UART_MCR_RTS; |
| info | 1502 | drivers/char/serial.c | info->MCR |= UART_MCR_DTR; |
| info | 1503 | drivers/char/serial.c | info->MCR_noint |= UART_MCR_DTR; |
| info | 1508 | drivers/char/serial.c | info->MCR &= ~UART_MCR_RTS; |
| info | 1509 | drivers/char/serial.c | info->MCR_noint &= ~UART_MCR_RTS; |
| info | 1512 | drivers/char/serial.c | info->MCR &= ~UART_MCR_DTR; |
| info | 1513 | drivers/char/serial.c | info->MCR_noint &= ~UART_MCR_DTR; |
| info | 1517 | drivers/char/serial.c | info->MCR = ((info->MCR & ~(UART_MCR_RTS | UART_MCR_DTR)) |
| info | 1520 | drivers/char/serial.c | info->MCR_noint = ((info->MCR_noint |
| info | 1529 | drivers/char/serial.c | serial_out(info, UART_MCR, info->MCR); |
| info | 1534 | drivers/char/serial.c | static int do_autoconfig(struct async_struct * info) |
| info | 1541 | drivers/char/serial.c | if (info->count > 1) |
| info | 1544 | drivers/char/serial.c | shutdown(info); |
| info | 1547 | drivers/char/serial.c | autoconfig(info); |
| info | 1550 | drivers/char/serial.c | retval = startup(info); |
| info | 1560 | drivers/char/serial.c | static void send_break( struct async_struct * info, int duration) |
| info | 1562 | drivers/char/serial.c | if (!info->port) |
| info | 1567 | drivers/char/serial.c | serial_out(info, UART_LCR, serial_inp(info, UART_LCR) | UART_LCR_SBC); |
| info | 1569 | drivers/char/serial.c | serial_out(info, UART_LCR, serial_inp(info, UART_LCR) & ~UART_LCR_SBC); |
| info | 1621 | drivers/char/serial.c | struct async_struct * info = tty->driver_data; |
| info | 1624 | drivers/char/serial.c | if (serial_paranoia_check(info, tty->device, "rs_ioctl")) |
| info | 1634 | drivers/char/serial.c | send_break(info, HZ/4); /* 1/4 second */ |
| info | 1641 | drivers/char/serial.c | send_break(info, arg ? arg*(HZ/10) : HZ/4); |
| info | 1661 | drivers/char/serial.c | return get_modem_info(info, (unsigned int *) arg); |
| info | 1665 | drivers/char/serial.c | return set_modem_info(info, cmd, (unsigned int *) arg); |
| info | 1671 | drivers/char/serial.c | return get_serial_info(info, |
| info | 1674 | drivers/char/serial.c | return set_serial_info(info, |
| info | 1677 | drivers/char/serial.c | return do_autoconfig(info); |
| info | 1701 | drivers/char/serial.c | info, sizeof(struct async_struct)); |
| info | 1712 | drivers/char/serial.c | struct async_struct *info = tty->driver_data; |
| info | 1717 | drivers/char/serial.c | change_speed(info); |
| info | 1727 | drivers/char/serial.c | wake_up_interruptible(&info->open_wait); |
| info | 1742 | drivers/char/serial.c | struct async_struct * info = tty->driver_data; |
| info | 1744 | drivers/char/serial.c | if (!info || serial_paranoia_check(info, tty->device, "rs_close")) |
| info | 1751 | drivers/char/serial.c | printk("rs_close ttys%d, count = %d\n", info->line, info->count); |
| info | 1753 | drivers/char/serial.c | if ((tty->count == 1) && (info->count != 1)) { |
| info | 1762 | drivers/char/serial.c | "info->count is %d\n", info->count); |
| info | 1763 | drivers/char/serial.c | info->count = 1; |
| info | 1765 | drivers/char/serial.c | if (--info->count < 0) { |
| info | 1767 | drivers/char/serial.c | info->line, info->count); |
| info | 1768 | drivers/char/serial.c | info->count = 0; |
| info | 1770 | drivers/char/serial.c | if (info->count) |
| info | 1772 | drivers/char/serial.c | info->flags |= ASYNC_CLOSING; |
| info | 1773 | drivers/char/serial.c | info->flags &= ~ASYNC_CTS_FLOW; |
| info | 1778 | drivers/char/serial.c | if (info->flags & ASYNC_NORMAL_ACTIVE) |
| info | 1779 | drivers/char/serial.c | info->normal_termios = *tty->termios; |
| info | 1780 | drivers/char/serial.c | if (info->flags & ASYNC_CALLOUT_ACTIVE) |
| info | 1781 | drivers/char/serial.c | info->callout_termios = *tty->termios; |
| info | 1784 | drivers/char/serial.c | if (info->flags & ASYNC_INITIALIZED) { |
| info | 1788 | drivers/char/serial.c | shutdown(info); |
| info | 1793 | drivers/char/serial.c | info->event = 0; |
| info | 1794 | drivers/char/serial.c | info->tty = 0; |
| info | 1803 | drivers/char/serial.c | if (info->blocked_open) { |
| info | 1804 | drivers/char/serial.c | if (info->close_delay) { |
| info | 1807 | drivers/char/serial.c | current->timeout = jiffies + info->close_delay; |
| info | 1811 | drivers/char/serial.c | wake_up_interruptible(&info->open_wait); |
| info | 1813 | drivers/char/serial.c | info->flags &= ~(ASYNC_NORMAL_ACTIVE|ASYNC_CALLOUT_ACTIVE| |
| info | 1815 | drivers/char/serial.c | wake_up_interruptible(&info->close_wait); |
| info | 1823 | drivers/char/serial.c | struct async_struct * info = tty->driver_data; |
| info | 1825 | drivers/char/serial.c | if (serial_paranoia_check(info, tty->device, "rs_hangup")) |
| info | 1828 | drivers/char/serial.c | shutdown(info); |
| info | 1829 | drivers/char/serial.c | info->event = 0; |
| info | 1830 | drivers/char/serial.c | info->count = 0; |
| info | 1831 | drivers/char/serial.c | info->flags &= ~(ASYNC_NORMAL_ACTIVE|ASYNC_CALLOUT_ACTIVE); |
| info | 1832 | drivers/char/serial.c | info->tty = 0; |
| info | 1833 | drivers/char/serial.c | wake_up_interruptible(&info->open_wait); |
| info | 1842 | drivers/char/serial.c | struct async_struct *info) |
| info | 1852 | drivers/char/serial.c | if (info->flags & ASYNC_CLOSING) { |
| info | 1853 | drivers/char/serial.c | interruptible_sleep_on(&info->close_wait); |
| info | 1855 | drivers/char/serial.c | if (info->flags & ASYNC_HUP_NOTIFY) |
| info | 1869 | drivers/char/serial.c | if (info->flags & ASYNC_NORMAL_ACTIVE) |
| info | 1871 | drivers/char/serial.c | if ((info->flags & ASYNC_CALLOUT_ACTIVE) && |
| info | 1872 | drivers/char/serial.c | (info->flags & ASYNC_SESSION_LOCKOUT) && |
| info | 1873 | drivers/char/serial.c | (info->session != current->session)) |
| info | 1875 | drivers/char/serial.c | if ((info->flags & ASYNC_CALLOUT_ACTIVE) && |
| info | 1876 | drivers/char/serial.c | (info->flags & ASYNC_PGRP_LOCKOUT) && |
| info | 1877 | drivers/char/serial.c | (info->pgrp != current->pgrp)) |
| info | 1879 | drivers/char/serial.c | info->flags |= ASYNC_CALLOUT_ACTIVE; |
| info | 1888 | drivers/char/serial.c | if (info->flags & ASYNC_CALLOUT_ACTIVE) |
| info | 1890 | drivers/char/serial.c | info->flags |= ASYNC_NORMAL_ACTIVE; |
| info | 1902 | drivers/char/serial.c | add_wait_queue(&info->open_wait, &wait); |
| info | 1905 | drivers/char/serial.c | info->line, info->count); |
| info | 1907 | drivers/char/serial.c | info->count--; |
| info | 1908 | drivers/char/serial.c | info->blocked_open++; |
| info | 1911 | drivers/char/serial.c | if (!(info->flags & ASYNC_CALLOUT_ACTIVE)) |
| info | 1912 | drivers/char/serial.c | serial_out(info, UART_MCR, |
| info | 1913 | drivers/char/serial.c | serial_inp(info, UART_MCR) | |
| info | 1918 | drivers/char/serial.c | !(info->flags & ASYNC_INITIALIZED)) { |
| info | 1920 | drivers/char/serial.c | if (info->flags & ASYNC_HUP_NOTIFY) |
| info | 1929 | drivers/char/serial.c | if (!(info->flags & ASYNC_CALLOUT_ACTIVE) && |
| info | 1930 | drivers/char/serial.c | !(info->flags & ASYNC_CLOSING) && |
| info | 1931 | drivers/char/serial.c | (do_clocal || (serial_in(info, UART_MSR) & |
| info | 1940 | drivers/char/serial.c | info->line, info->count); |
| info | 1945 | drivers/char/serial.c | remove_wait_queue(&info->open_wait, &wait); |
| info | 1947 | drivers/char/serial.c | info->count++; |
| info | 1948 | drivers/char/serial.c | info->blocked_open--; |
| info | 1951 | drivers/char/serial.c | info->line, info->count); |
| info | 1955 | drivers/char/serial.c | info->flags |= ASYNC_NORMAL_ACTIVE; |
| info | 1967 | drivers/char/serial.c | struct async_struct *info; |
| info | 1973 | drivers/char/serial.c | info = rs_table + line; |
| info | 1974 | drivers/char/serial.c | if (serial_paranoia_check(info, tty->device, "rs_open")) |
| info | 1978 | drivers/char/serial.c | printk("rs_open %s%d, count = %d\n", tty->driver.name, info->line, |
| info | 1979 | drivers/char/serial.c | info->count); |
| info | 1981 | drivers/char/serial.c | info->count++; |
| info | 1982 | drivers/char/serial.c | tty->driver_data = info; |
| info | 1983 | drivers/char/serial.c | info->tty = tty; |
| info | 1985 | drivers/char/serial.c | if ((info->count == 1) && (info->flags & ASYNC_SPLIT_TERMIOS)) { |
| info | 1987 | drivers/char/serial.c | *tty->termios = info->normal_termios; |
| info | 1989 | drivers/char/serial.c | *tty->termios = info->callout_termios; |
| info | 1994 | drivers/char/serial.c | retval = startup(info); |
| info | 1998 | drivers/char/serial.c | retval = block_til_ready(tty, filp, info); |
| info | 2007 | drivers/char/serial.c | info->session = current->session; |
| info | 2008 | drivers/char/serial.c | info->pgrp = current->pgrp; |
| info | 2011 | drivers/char/serial.c | printk("rs_open ttys%d successful...", info->line); |
| info | 2049 | drivers/char/serial.c | static int get_auto_irq(struct async_struct *info) |
| info | 2052 | drivers/char/serial.c | unsigned short ICP=0, port = info->port; |
| info | 2060 | drivers/char/serial.c | save_IER = serial_inp(info, UART_IER); |
| info | 2061 | drivers/char/serial.c | save_MCR = serial_inp(info, UART_MCR); |
| info | 2062 | drivers/char/serial.c | if (info->flags & ASYNC_FOURPORT) { |
| info | 2063 | drivers/char/serial.c | serial_outp(info, UART_MCR, UART_MCR_DTR | UART_MCR_RTS); |
| info | 2064 | drivers/char/serial.c | serial_outp(info, UART_IER, 0x0f); /* enable all intrs */ |
| info | 2070 | drivers/char/serial.c | serial_outp(info, UART_MCR, |
| info | 2072 | drivers/char/serial.c | serial_outp(info, UART_IER, 0x0f); /* enable all intrs */ |
| info | 2078 | drivers/char/serial.c | (void)serial_inp(info, UART_LSR); |
| info | 2079 | drivers/char/serial.c | (void)serial_inp(info, UART_RX); |
| info | 2080 | drivers/char/serial.c | (void)serial_inp(info, UART_IIR); |
| info | 2081 | drivers/char/serial.c | (void)serial_inp(info, UART_MSR); |
| info | 2092 | drivers/char/serial.c | serial_outp(info, UART_IER, save_IER); |
| info | 2093 | drivers/char/serial.c | serial_outp(info, UART_MCR, save_MCR); |
| info | 2094 | drivers/char/serial.c | if (info->flags & ASYNC_FOURPORT) |
| info | 2104 | drivers/char/serial.c | static int do_auto_irq(struct async_struct * info) |
| info | 2106 | drivers/char/serial.c | unsigned port = info->port; |
| info | 2122 | drivers/char/serial.c | irq_try_1 = get_auto_irq(info); |
| info | 2124 | drivers/char/serial.c | irq_try_2 = get_auto_irq(info); |
| info | 2143 | drivers/char/serial.c | static void autoconfig(struct async_struct * info) |
| info | 2146 | drivers/char/serial.c | unsigned port = info->port; |
| info | 2149 | drivers/char/serial.c | info->type = PORT_UNKNOWN; |
| info | 2160 | drivers/char/serial.c | scratch = serial_inp(info, UART_IER); |
| info | 2161 | drivers/char/serial.c | serial_outp(info, UART_IER, 0); |
| info | 2162 | drivers/char/serial.c | scratch2 = serial_inp(info, UART_IER); |
| info | 2163 | drivers/char/serial.c | serial_outp(info, UART_IER, scratch); |
| info | 2178 | drivers/char/serial.c | if (!(info->flags & ASYNC_SKIP_TEST)) { |
| info | 2179 | drivers/char/serial.c | scratch = serial_inp(info, UART_MCR); |
| info | 2180 | drivers/char/serial.c | serial_outp(info, UART_MCR, UART_MCR_LOOP | scratch); |
| info | 2181 | drivers/char/serial.c | scratch2 = serial_inp(info, UART_MSR); |
| info | 2182 | drivers/char/serial.c | serial_outp(info, UART_MCR, UART_MCR_LOOP | 0x0A); |
| info | 2183 | drivers/char/serial.c | status1 = serial_inp(info, UART_MSR) & 0xF0; |
| info | 2184 | drivers/char/serial.c | serial_outp(info, UART_MCR, scratch); |
| info | 2185 | drivers/char/serial.c | serial_outp(info, UART_MSR, scratch2); |
| info | 2196 | drivers/char/serial.c | if (info->flags & ASYNC_AUTO_IRQ) |
| info | 2197 | drivers/char/serial.c | info->irq = do_auto_irq(info); |
| info | 2199 | drivers/char/serial.c | serial_outp(info, UART_FCR, UART_FCR_ENABLE_FIFO); |
| info | 2200 | drivers/char/serial.c | scratch = serial_in(info, UART_IIR) >> 6; |
| info | 2201 | drivers/char/serial.c | info->xmit_fifo_size = 1; |
| info | 2204 | drivers/char/serial.c | info->type = PORT_16450; |
| info | 2207 | drivers/char/serial.c | info->type = PORT_UNKNOWN; |
| info | 2210 | drivers/char/serial.c | info->type = PORT_16550; |
| info | 2213 | drivers/char/serial.c | info->type = PORT_16550A; |
| info | 2214 | drivers/char/serial.c | info->xmit_fifo_size = 16; |
| info | 2217 | drivers/char/serial.c | if (info->type == PORT_16450) { |
| info | 2218 | drivers/char/serial.c | scratch = serial_in(info, UART_SCR); |
| info | 2219 | drivers/char/serial.c | serial_outp(info, UART_SCR, 0xa5); |
| info | 2220 | drivers/char/serial.c | status1 = serial_in(info, UART_SCR); |
| info | 2221 | drivers/char/serial.c | serial_outp(info, UART_SCR, 0x5a); |
| info | 2222 | drivers/char/serial.c | status2 = serial_in(info, UART_SCR); |
| info | 2223 | drivers/char/serial.c | serial_outp(info, UART_SCR, scratch); |
| info | 2226 | drivers/char/serial.c | info->type = PORT_8250; |
| info | 2232 | drivers/char/serial.c | serial_outp(info, UART_MCR, 0x00); |
| info | 2233 | drivers/char/serial.c | serial_outp(info, UART_FCR, (UART_FCR_CLEAR_RCVR | |
| info | 2235 | drivers/char/serial.c | (void)serial_in(info, UART_RX); |
| info | 2246 | drivers/char/serial.c | struct async_struct * info; |
| info | 2311 | drivers/char/serial.c | for (i = 0, info = rs_table; i < NR_PORTS; i++,info++) { |
| info | 2312 | drivers/char/serial.c | info->magic = SERIAL_MAGIC; |
| info | 2313 | drivers/char/serial.c | info->line = i; |
| info | 2314 | drivers/char/serial.c | info->tty = 0; |
| info | 2315 | drivers/char/serial.c | info->type = PORT_UNKNOWN; |
| info | 2316 | drivers/char/serial.c | info->custom_divisor = 0; |
| info | 2317 | drivers/char/serial.c | info->close_delay = 50; |
| info | 2318 | drivers/char/serial.c | info->x_char = 0; |
| info | 2319 | drivers/char/serial.c | info->event = 0; |
| info | 2320 | drivers/char/serial.c | info->count = 0; |
| info | 2321 | drivers/char/serial.c | info->blocked_open = 0; |
| info | 2322 | drivers/char/serial.c | info->tqueue.routine = do_softint; |
| info | 2323 | drivers/char/serial.c | info->tqueue.data = info; |
| info | 2324 | drivers/char/serial.c | info->callout_termios =callout_driver.init_termios; |
| info | 2325 | drivers/char/serial.c | info->normal_termios = serial_driver.init_termios; |
| info | 2326 | drivers/char/serial.c | info->open_wait = 0; |
| info | 2327 | drivers/char/serial.c | info->close_wait = 0; |
| info | 2328 | drivers/char/serial.c | info->next_port = 0; |
| info | 2329 | drivers/char/serial.c | info->prev_port = 0; |
| info | 2330 | drivers/char/serial.c | if (info->irq == 2) |
| info | 2331 | drivers/char/serial.c | info->irq = 9; |
| info | 2332 | drivers/char/serial.c | if (!(info->flags & ASYNC_BOOT_AUTOCONF)) |
| info | 2334 | drivers/char/serial.c | autoconfig(info); |
| info | 2335 | drivers/char/serial.c | if (info->type == PORT_UNKNOWN) |
| info | 2337 | drivers/char/serial.c | printk("tty%02d%s at 0x%04x (irq = %d)", info->line, |
| info | 2338 | drivers/char/serial.c | (info->flags & ASYNC_FOURPORT) ? " FourPort" : "", |
| info | 2339 | drivers/char/serial.c | info->port, info->irq); |
| info | 2340 | drivers/char/serial.c | switch (info->type) { |
| info | 77 | drivers/scsi/hosts.h | const char *(* info)(void); |
| info | 544 | drivers/scsi/scsi_debug.c | int scsi_debug_biosparam(int size, int dev, int* info){ |
| info | 545 | drivers/scsi/scsi_debug.c | info[0] = 32; |
| info | 546 | drivers/scsi/scsi_debug.c | info[1] = 64; |
| info | 547 | drivers/scsi/scsi_debug.c | info[2] = (size + 2047) >> 11; |
| info | 548 | drivers/scsi/scsi_debug.c | if (info[2] >= 1024) info[2] = 1024; |
| info | 36 | drivers/scsi/scsi_ioctl.c | string = host->hostt->info(); |
| info | 1218 | drivers/scsi/wd7000.c | static char info[] = "Western Digital WD-7000"; |
| info | 1219 | drivers/scsi/wd7000.c | return info; |
| info | 85 | drivers/sound/dev_table.h | struct synth_info *info; |
| info | 103 | drivers/sound/dev_table.h | int (*pmgr_interface) (int dev, struct patmgr_info *info); |
| info | 107 | drivers/sound/dev_table.h | struct midi_info info; |
| info | 125 | drivers/sound/dev_table.h | struct midi_info info; |
| info | 883 | drivers/sound/sequencer.c | IOCTL_TO_USER ((char *) arg, 0, (char *) &(midi_devs[dev]->info), sizeof (inf)); |
| info | 186 | drivers/sound/sound_switch.c | if (!put_status (synth_devs[i]->info->name)) |
| info | 201 | drivers/sound/sound_switch.c | if (!put_status (midi_devs[i]->info.name)) |
| info | 64 | fs/minix/dir.c | struct minix_sb_info * info; |
| info | 68 | fs/minix/dir.c | info = &inode->i_sb->u.minix_sb; |
| info | 69 | fs/minix/dir.c | if (filp->f_pos & (info->s_dirsize - 1)) |
| info | 80 | fs/minix/dir.c | offset += info->s_dirsize; |
| info | 81 | fs/minix/dir.c | filp->f_pos += info->s_dirsize; |
| info | 83 | fs/minix/dir.c | for (i = 0; i < info->s_namelen; i++) |
| info | 46 | fs/minix/namei.c | struct minix_sb_info * info) |
| info | 51 | fs/minix/namei.c | *offset += info->s_dirsize; |
| info | 52 | fs/minix/namei.c | if (!de->inode || len > info->s_namelen) |
| info | 57 | fs/minix/namei.c | return namecompare(len,info->s_namelen,name,de->name); |
| info | 73 | fs/minix/namei.c | struct minix_sb_info * info; |
| info | 78 | fs/minix/namei.c | info = &dir->i_sb->u.minix_sb; |
| info | 79 | fs/minix/namei.c | if (namelen > info->s_namelen) { |
| info | 83 | fs/minix/namei.c | namelen = info->s_namelen; |
| info | 97 | fs/minix/namei.c | if (minix_match(namelen,name,bh,&offset,info)) |
| info | 158 | fs/minix/namei.c | struct minix_sb_info * info; |
| info | 164 | fs/minix/namei.c | info = &dir->i_sb->u.minix_sb; |
| info | 165 | fs/minix/namei.c | if (namelen > info->s_namelen) { |
| info | 169 | fs/minix/namei.c | namelen = info->s_namelen; |
| info | 183 | fs/minix/namei.c | offset += info->s_dirsize; |
| info | 190 | fs/minix/namei.c | if (namecompare(namelen, info->s_namelen, name, de->name)) { |
| info | 196 | fs/minix/namei.c | for (i = 0; i < info->s_namelen ; i++) |
| info | 311 | fs/minix/namei.c | struct minix_sb_info * info; |
| info | 317 | fs/minix/namei.c | info = &dir->i_sb->u.minix_sb; |
| info | 334 | fs/minix/namei.c | inode->i_size = 2 * info->s_dirsize; |
| info | 346 | fs/minix/namei.c | de = (struct minix_dir_entry *) (dir_block->b_data + info->s_dirsize); |
| info | 381 | fs/minix/namei.c | struct minix_sb_info * info; |
| info | 385 | fs/minix/namei.c | info = &inode->i_sb->u.minix_sb; |
| info | 388 | fs/minix/namei.c | offset = 2*info->s_dirsize; |
| info | 389 | fs/minix/namei.c | if (inode->i_size & (info->s_dirsize-1)) |
| info | 399 | fs/minix/namei.c | de = (struct minix_dir_entry *) (bh->b_data + info->s_dirsize); |
| info | 411 | fs/minix/namei.c | offset += info->s_dirsize; |
| info | 660 | fs/minix/namei.c | (((struct minix_dir_entry *) ((buffer)+info->s_dirsize))->inode) |
| info | 678 | fs/minix/namei.c | struct minix_sb_info * info; |
| info | 681 | fs/minix/namei.c | info = &old_dir->i_sb->u.minix_sb; |
| info | 105 | include/linux/elf.h | int info; |
| info | 110 | include/linux/elf.h | int info; |
| info | 139 | include/linux/sched.h | struct info *info; |
| info | 17 | 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 | 40 | kernel/info.c | memcpy_tofs(info, &val, sizeof(struct sysinfo)); |
| info | 90 | kernel/vm86.c | struct vm86_struct info; |
| info | 100 | kernel/vm86.c | memcpy_fromfs(&info,v86,sizeof(info)); |
| info | 104 | kernel/vm86.c | info.regs.__null_ds = 0; |
| info | 105 | kernel/vm86.c | info.regs.__null_es = 0; |
| info | 106 | kernel/vm86.c | info.regs.__null_fs = 0; |
| info | 107 | kernel/vm86.c | info.regs.__null_gs = 0; |
| info | 113 | kernel/vm86.c | VEFLAGS = info.regs.eflags; |
| info | 114 | kernel/vm86.c | info.regs.eflags &= SAFE_MASK; |
| info | 115 | kernel/vm86.c | info.regs.eflags |= pt_regs->eflags & ~SAFE_MASK; |
| info | 116 | kernel/vm86.c | info.regs.eflags |= VM_MASK; |
| info | 118 | kernel/vm86.c | switch (info.cpu_type) { |
| info | 141 | kernel/vm86.c | current->screen_bitmap = info.screen_bitmap; |
| info | 142 | kernel/vm86.c | if (info.flags & VM86_SCREEN_BITMAP) |
| info | 147 | kernel/vm86.c | :"r" (&info.regs)); |