Lines Matching full:uart
236 * IIR bits on their UART, but it's specifically designed for in serial8250_backup_timeout()
237 * the "Diva" UART used on the management processor on many HP in serial8250_backup_timeout()
406 * Check whether an invalid uart number has been specified, and in univ8250_console_setup()
450 * console=uart[8250],io|mmio|mmio16|mmio32,<addr>[,<options>]
451 * console=uart[8250],0x<addr>[,<options>]
463 char match[] = "uart"; /* 8250-specific earlycon name */ in univ8250_console_match()
697 struct uart_8250_port *uart; in serial8250_register_8250_port() local
705 uart = serial8250_find_match_or_unused(&up->port); in serial8250_register_8250_port()
706 if (!uart) { in serial8250_register_8250_port()
711 uart = serial8250_setup_port(nr_uarts); in serial8250_register_8250_port()
712 if (!uart) in serial8250_register_8250_port()
717 if (uart->port.type != PORT_8250_CIR) { in serial8250_register_8250_port()
720 if (uart->port.dev) in serial8250_register_8250_port()
721 uart_remove_one_port(&serial8250_reg, &uart->port); in serial8250_register_8250_port()
723 uart->port.ctrl_id = up->port.ctrl_id; in serial8250_register_8250_port()
724 uart->port.port_id = up->port.port_id; in serial8250_register_8250_port()
725 uart->port.iobase = up->port.iobase; in serial8250_register_8250_port()
726 uart->port.membase = up->port.membase; in serial8250_register_8250_port()
727 uart->port.irq = up->port.irq; in serial8250_register_8250_port()
728 uart->port.irqflags = up->port.irqflags; in serial8250_register_8250_port()
729 uart->port.uartclk = up->port.uartclk; in serial8250_register_8250_port()
730 uart->port.fifosize = up->port.fifosize; in serial8250_register_8250_port()
731 uart->port.regshift = up->port.regshift; in serial8250_register_8250_port()
732 uart->port.iotype = up->port.iotype; in serial8250_register_8250_port()
733 uart->port.flags = up->port.flags | UPF_BOOT_AUTOCONF; in serial8250_register_8250_port()
734 uart->bugs = up->bugs; in serial8250_register_8250_port()
735 uart->port.mapbase = up->port.mapbase; in serial8250_register_8250_port()
736 uart->port.mapsize = up->port.mapsize; in serial8250_register_8250_port()
737 uart->port.private_data = up->port.private_data; in serial8250_register_8250_port()
738 uart->tx_loadsz = up->tx_loadsz; in serial8250_register_8250_port()
739 uart->capabilities = up->capabilities; in serial8250_register_8250_port()
740 uart->port.throttle = up->port.throttle; in serial8250_register_8250_port()
741 uart->port.unthrottle = up->port.unthrottle; in serial8250_register_8250_port()
742 uart->port.rs485_config = up->port.rs485_config; in serial8250_register_8250_port()
743 uart->port.rs485_supported = up->port.rs485_supported; in serial8250_register_8250_port()
744 uart->port.rs485 = up->port.rs485; in serial8250_register_8250_port()
745 uart->rs485_start_tx = up->rs485_start_tx; in serial8250_register_8250_port()
746 uart->rs485_stop_tx = up->rs485_stop_tx; in serial8250_register_8250_port()
747 uart->lsr_save_mask = up->lsr_save_mask; in serial8250_register_8250_port()
748 uart->dma = up->dma; in serial8250_register_8250_port()
751 if (uart->port.fifosize && !uart->tx_loadsz) in serial8250_register_8250_port()
752 uart->tx_loadsz = uart->port.fifosize; in serial8250_register_8250_port()
755 uart->port.dev = up->port.dev; in serial8250_register_8250_port()
756 ret = uart_get_rs485_mode(&uart->port); in serial8250_register_8250_port()
762 uart->port.type = up->port.type; in serial8250_register_8250_port()
768 if (!has_acpi_companion(uart->port.dev)) { in serial8250_register_8250_port()
769 gpios = mctrl_gpio_init(&uart->port, 0); in serial8250_register_8250_port()
774 uart->gpios = gpios; in serial8250_register_8250_port()
778 serial8250_set_defaults(uart); in serial8250_register_8250_port()
782 uart->port.serial_in = up->port.serial_in; in serial8250_register_8250_port()
784 uart->port.serial_out = up->port.serial_out; in serial8250_register_8250_port()
786 uart->port.handle_irq = up->port.handle_irq; in serial8250_register_8250_port()
789 uart->port.set_termios = up->port.set_termios; in serial8250_register_8250_port()
791 uart->port.set_ldisc = up->port.set_ldisc; in serial8250_register_8250_port()
793 uart->port.get_mctrl = up->port.get_mctrl; in serial8250_register_8250_port()
795 uart->port.set_mctrl = up->port.set_mctrl; in serial8250_register_8250_port()
797 uart->port.get_divisor = up->port.get_divisor; in serial8250_register_8250_port()
799 uart->port.set_divisor = up->port.set_divisor; in serial8250_register_8250_port()
801 uart->port.startup = up->port.startup; in serial8250_register_8250_port()
803 uart->port.shutdown = up->port.shutdown; in serial8250_register_8250_port()
805 uart->port.pm = up->port.pm; in serial8250_register_8250_port()
807 uart->port.handle_break = up->port.handle_break; in serial8250_register_8250_port()
809 uart->dl_read = up->dl_read; in serial8250_register_8250_port()
811 uart->dl_write = up->dl_write; in serial8250_register_8250_port()
813 if (uart->port.type != PORT_8250_CIR) { in serial8250_register_8250_port()
814 if (uart_console_registered(&uart->port)) in serial8250_register_8250_port()
815 pm_runtime_get_sync(uart->port.dev); in serial8250_register_8250_port()
818 serial8250_isa_config(0, &uart->port, in serial8250_register_8250_port()
819 &uart->capabilities); in serial8250_register_8250_port()
821 serial8250_apply_quirks(uart); in serial8250_register_8250_port()
823 &uart->port); in serial8250_register_8250_port()
827 ret = uart->port.line; in serial8250_register_8250_port()
829 dev_info(uart->port.dev, in serial8250_register_8250_port()
831 uart->port.iobase, in serial8250_register_8250_port()
832 (unsigned long long)uart->port.mapbase, in serial8250_register_8250_port()
833 uart->port.irq); in serial8250_register_8250_port()
838 if (!uart->lsr_save_mask) in serial8250_register_8250_port()
839 uart->lsr_save_mask = LSR_SAVE_FLAGS; /* Use default LSR mask */ in serial8250_register_8250_port()
843 uart->overrun_backoff_time_ms = in serial8250_register_8250_port()
845 INIT_DELAYED_WORK(&uart->overrun_backoff, in serial8250_register_8250_port()
848 uart->overrun_backoff_time_ms = 0; in serial8250_register_8250_port()
858 uart->port.dev = NULL; in serial8250_register_8250_port()
873 struct uart_8250_port *uart = &serial8250_ports[line]; in serial8250_unregister_port() local
877 if (uart->em485) { in serial8250_unregister_port()
880 uart_port_lock_irqsave(&uart->port, &flags); in serial8250_unregister_port()
881 serial8250_em485_destroy(uart); in serial8250_unregister_port()
882 uart_port_unlock_irqrestore(&uart->port, flags); in serial8250_unregister_port()
885 uart_remove_one_port(&serial8250_reg, &uart->port); in serial8250_unregister_port()
887 uart->port.flags &= ~UPF_BOOT_AUTOCONF; in serial8250_unregister_port()
888 uart->port.type = PORT_UNKNOWN; in serial8250_unregister_port()
889 uart->port.dev = &serial8250_isa_devs->dev; in serial8250_unregister_port()
890 uart->port.port_id = line; in serial8250_unregister_port()
891 uart->capabilities = 0; in serial8250_unregister_port()
892 serial8250_init_port(uart); in serial8250_unregister_port()
893 serial8250_apply_quirks(uart); in serial8250_unregister_port()
894 uart_add_one_port(&serial8250_reg, &uart->port); in serial8250_unregister_port()
896 uart->port.dev = NULL; in serial8250_unregister_port()