Lines Matching refs:uart
695 struct uart_8250_port *uart; in serial8250_register_8250_port() local
703 uart = serial8250_find_match_or_unused(&up->port); in serial8250_register_8250_port()
704 if (!uart) { in serial8250_register_8250_port()
709 uart = serial8250_setup_port(nr_uarts); in serial8250_register_8250_port()
710 if (!uart) in serial8250_register_8250_port()
716 if (uart->port.type == PORT_8250_CIR) in serial8250_register_8250_port()
719 if (uart->port.dev) in serial8250_register_8250_port()
720 uart_remove_one_port(&serial8250_reg, &uart->port); in serial8250_register_8250_port()
722 uart->port.ctrl_id = up->port.ctrl_id; in serial8250_register_8250_port()
723 uart->port.port_id = up->port.port_id; in serial8250_register_8250_port()
724 uart->port.iobase = up->port.iobase; in serial8250_register_8250_port()
725 uart->port.membase = up->port.membase; in serial8250_register_8250_port()
726 uart->port.irq = up->port.irq; in serial8250_register_8250_port()
727 uart->port.irqflags = up->port.irqflags; in serial8250_register_8250_port()
728 uart->port.uartclk = up->port.uartclk; in serial8250_register_8250_port()
729 uart->port.fifosize = up->port.fifosize; in serial8250_register_8250_port()
730 uart->port.regshift = up->port.regshift; in serial8250_register_8250_port()
731 uart->port.iotype = up->port.iotype; in serial8250_register_8250_port()
732 uart->port.flags = up->port.flags | UPF_BOOT_AUTOCONF; in serial8250_register_8250_port()
733 uart->bugs = up->bugs; in serial8250_register_8250_port()
734 uart->port.mapbase = up->port.mapbase; in serial8250_register_8250_port()
735 uart->port.mapsize = up->port.mapsize; in serial8250_register_8250_port()
736 uart->port.private_data = up->port.private_data; in serial8250_register_8250_port()
737 uart->tx_loadsz = up->tx_loadsz; in serial8250_register_8250_port()
738 uart->capabilities = up->capabilities; in serial8250_register_8250_port()
739 uart->port.throttle = up->port.throttle; in serial8250_register_8250_port()
740 uart->port.unthrottle = up->port.unthrottle; in serial8250_register_8250_port()
741 uart->port.rs485_config = up->port.rs485_config; in serial8250_register_8250_port()
742 uart->port.rs485_supported = up->port.rs485_supported; in serial8250_register_8250_port()
743 uart->port.rs485 = up->port.rs485; in serial8250_register_8250_port()
744 uart->rs485_start_tx = up->rs485_start_tx; in serial8250_register_8250_port()
745 uart->rs485_stop_tx = up->rs485_stop_tx; in serial8250_register_8250_port()
746 uart->lsr_save_mask = up->lsr_save_mask; in serial8250_register_8250_port()
747 uart->dma = up->dma; in serial8250_register_8250_port()
750 if (uart->port.fifosize && !uart->tx_loadsz) in serial8250_register_8250_port()
751 uart->tx_loadsz = uart->port.fifosize; in serial8250_register_8250_port()
754 uart->port.dev = up->port.dev; in serial8250_register_8250_port()
755 ret = uart_get_rs485_mode(&uart->port); in serial8250_register_8250_port()
761 uart->port.type = up->port.type; in serial8250_register_8250_port()
767 if (!has_acpi_companion(uart->port.dev)) { in serial8250_register_8250_port()
768 struct mctrl_gpios *gpios = mctrl_gpio_init(&uart->port, 0); in serial8250_register_8250_port()
773 uart->gpios = gpios; in serial8250_register_8250_port()
777 serial8250_set_defaults(uart); in serial8250_register_8250_port()
781 uart->port.serial_in = up->port.serial_in; in serial8250_register_8250_port()
783 uart->port.serial_out = up->port.serial_out; in serial8250_register_8250_port()
785 uart->port.handle_irq = up->port.handle_irq; in serial8250_register_8250_port()
788 uart->port.set_termios = up->port.set_termios; in serial8250_register_8250_port()
790 uart->port.set_ldisc = up->port.set_ldisc; in serial8250_register_8250_port()
792 uart->port.get_mctrl = up->port.get_mctrl; in serial8250_register_8250_port()
794 uart->port.set_mctrl = up->port.set_mctrl; in serial8250_register_8250_port()
796 uart->port.get_divisor = up->port.get_divisor; in serial8250_register_8250_port()
798 uart->port.set_divisor = up->port.set_divisor; in serial8250_register_8250_port()
800 uart->port.startup = up->port.startup; in serial8250_register_8250_port()
802 uart->port.shutdown = up->port.shutdown; in serial8250_register_8250_port()
804 uart->port.pm = up->port.pm; in serial8250_register_8250_port()
806 uart->port.handle_break = up->port.handle_break; in serial8250_register_8250_port()
808 uart->dl_read = up->dl_read; in serial8250_register_8250_port()
810 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()
854 uart->port.dev = NULL; in serial8250_register_8250_port()
868 struct uart_8250_port *uart = &serial8250_ports[line]; in serial8250_unregister_port() local
872 if (uart->em485) { in serial8250_unregister_port()
873 guard(uart_port_lock_irqsave)(&uart->port); in serial8250_unregister_port()
874 serial8250_em485_destroy(uart); in serial8250_unregister_port()
877 uart_remove_one_port(&serial8250_reg, &uart->port); in serial8250_unregister_port()
879 uart->port.flags &= ~UPF_BOOT_AUTOCONF; in serial8250_unregister_port()
880 uart->port.type = PORT_UNKNOWN; in serial8250_unregister_port()
881 uart->port.dev = &serial8250_isa_devs->dev; in serial8250_unregister_port()
882 uart->port.port_id = line; in serial8250_unregister_port()
883 uart->capabilities = 0; in serial8250_unregister_port()
884 serial8250_init_port(uart); in serial8250_unregister_port()
885 serial8250_apply_quirks(uart); in serial8250_unregister_port()
886 uart_add_one_port(&serial8250_reg, &uart->port); in serial8250_unregister_port()
888 uart->port.dev = NULL; in serial8250_unregister_port()