Lines Matching +full:up +full:-
1 // SPDX-License-Identifier: GPL-2.0
10 * Copyright (C) 2000-2002 Toshiba Corporation
158 static inline unsigned int sio_in(struct uart_port *up, int offset) in sio_in() argument
160 switch (up->iotype) { in sio_in()
162 return __raw_readl(up->membase + offset); in sio_in()
164 return inl(up->iobase + offset); in sio_in()
169 sio_out(struct uart_port *up, int offset, int value) in sio_out() argument
171 switch (up->iotype) { in sio_out()
173 __raw_writel(value, up->membase + offset); in sio_out()
176 outl(value, up->iobase + offset); in sio_out()
182 sio_mask(struct uart_port *up, int offset, unsigned int value) in sio_mask() argument
184 sio_out(up, offset, sio_in(up, offset) & ~value); in sio_mask()
187 sio_set(struct uart_port *up, int offset, unsigned int value) in sio_set() argument
189 sio_out(up, offset, sio_in(up, offset) | value); in sio_set()
193 sio_quot_set(struct uart_port *up, int quot) in sio_quot_set() argument
197 sio_out(up, TXX9_SIBGR, quot | TXX9_SIBGR_BCLK_T0); in sio_quot_set()
199 sio_out(up, TXX9_SIBGR, (quot >> 2) | TXX9_SIBGR_BCLK_T2); in sio_quot_set()
201 sio_out(up, TXX9_SIBGR, (quot >> 4) | TXX9_SIBGR_BCLK_T4); in sio_quot_set()
203 sio_out(up, TXX9_SIBGR, (quot >> 6) | TXX9_SIBGR_BCLK_T6); in sio_quot_set()
205 sio_out(up, TXX9_SIBGR, 0xff | TXX9_SIBGR_BCLK_T6); in sio_quot_set()
208 static void serial_txx9_stop_tx(struct uart_port *up) in serial_txx9_stop_tx() argument
210 sio_mask(up, TXX9_SIDICR, TXX9_SIDICR_TIE); in serial_txx9_stop_tx()
213 static void serial_txx9_start_tx(struct uart_port *up) in serial_txx9_start_tx() argument
215 sio_set(up, TXX9_SIDICR, TXX9_SIDICR_TIE); in serial_txx9_start_tx()
218 static void serial_txx9_stop_rx(struct uart_port *up) in serial_txx9_stop_rx() argument
220 up->read_status_mask &= ~TXX9_SIDISR_RDIS; in serial_txx9_stop_rx()
223 static void serial_txx9_initialize(struct uart_port *up) in serial_txx9_initialize() argument
227 sio_out(up, TXX9_SIFCR, TXX9_SIFCR_SWRST); in serial_txx9_initialize()
231 while ((sio_in(up, TXX9_SIFCR) & TXX9_SIFCR_SWRST) && --tmout) in serial_txx9_initialize()
234 sio_set(up, TXX9_SIFCR, in serial_txx9_initialize()
237 sio_out(up, TXX9_SILCR, in serial_txx9_initialize()
239 ((up->flags & UPF_TXX9_USE_SCLK) ? in serial_txx9_initialize()
241 sio_quot_set(up, uart_get_divisor(up, 9600)); in serial_txx9_initialize()
242 sio_out(up, TXX9_SIFLCR, TXX9_SIFLCR_RTSTL_MAX /* 15 */); in serial_txx9_initialize()
243 sio_out(up, TXX9_SIDICR, 0); in serial_txx9_initialize()
247 receive_chars(struct uart_port *up, unsigned int *status) in receive_chars() argument
256 ch = sio_in(up, TXX9_SIRFIFO); in receive_chars()
258 up->icount.rx++; in receive_chars()
262 up->ignore_status_mask & ~TXX9_SIDISR_RFDN_MASK; in receive_chars()
270 up->icount.brk++; in receive_chars()
277 if (uart_handle_break(up)) in receive_chars()
280 up->icount.parity++; in receive_chars()
282 up->icount.frame++; in receive_chars()
284 up->icount.overrun++; in receive_chars()
298 disr &= up->read_status_mask; in receive_chars()
307 if (uart_handle_sysrq_char(up, ch)) in receive_chars()
310 uart_insert_char(up, disr, TXX9_SIDISR_UOER, ch, flag); in receive_chars()
313 up->ignore_status_mask = next_ignore_status_mask; in receive_chars()
314 disr = sio_in(up, TXX9_SIDISR); in receive_chars()
315 } while (!(disr & TXX9_SIDISR_UVALID) && (max_count-- > 0)); in receive_chars()
317 tty_flip_buffer_push(&up->state->port); in receive_chars()
322 static inline void transmit_chars(struct uart_port *up) in transmit_chars() argument
324 struct circ_buf *xmit = &up->state->xmit; in transmit_chars()
327 if (up->x_char) { in transmit_chars()
328 sio_out(up, TXX9_SITFIFO, up->x_char); in transmit_chars()
329 up->icount.tx++; in transmit_chars()
330 up->x_char = 0; in transmit_chars()
333 if (uart_circ_empty(xmit) || uart_tx_stopped(up)) { in transmit_chars()
334 serial_txx9_stop_tx(up); in transmit_chars()
340 sio_out(up, TXX9_SITFIFO, xmit->buf[xmit->tail]); in transmit_chars()
341 xmit->tail = (xmit->tail + 1) & (UART_XMIT_SIZE - 1); in transmit_chars()
342 up->icount.tx++; in transmit_chars()
345 } while (--count > 0); in transmit_chars()
348 uart_write_wakeup(up); in transmit_chars()
351 serial_txx9_stop_tx(up); in transmit_chars()
357 struct uart_port *up = dev_id; in serial_txx9_interrupt() local
361 spin_lock(&up->lock); in serial_txx9_interrupt()
362 status = sio_in(up, TXX9_SIDISR); in serial_txx9_interrupt()
363 if (!(sio_in(up, TXX9_SIDICR) & TXX9_SIDICR_TIE)) in serial_txx9_interrupt()
367 spin_unlock(&up->lock); in serial_txx9_interrupt()
372 receive_chars(up, &status); in serial_txx9_interrupt()
374 transmit_chars(up); in serial_txx9_interrupt()
376 sio_mask(up, TXX9_SIDISR, in serial_txx9_interrupt()
379 spin_unlock(&up->lock); in serial_txx9_interrupt()
388 static unsigned int serial_txx9_tx_empty(struct uart_port *up) in serial_txx9_tx_empty() argument
393 spin_lock_irqsave(&up->lock, flags); in serial_txx9_tx_empty()
394 ret = (sio_in(up, TXX9_SICISR) & TXX9_SICISR_TXALS) ? TIOCSER_TEMT : 0; in serial_txx9_tx_empty()
395 spin_unlock_irqrestore(&up->lock, flags); in serial_txx9_tx_empty()
400 static unsigned int serial_txx9_get_mctrl(struct uart_port *up) in serial_txx9_get_mctrl() argument
406 ret |= (sio_in(up, TXX9_SIFLCR) & TXX9_SIFLCR_RTSSC) ? 0 : TIOCM_RTS; in serial_txx9_get_mctrl()
407 ret |= (sio_in(up, TXX9_SICISR) & TXX9_SICISR_CTSS) ? 0 : TIOCM_CTS; in serial_txx9_get_mctrl()
412 static void serial_txx9_set_mctrl(struct uart_port *up, unsigned int mctrl) in serial_txx9_set_mctrl() argument
416 sio_mask(up, TXX9_SIFLCR, TXX9_SIFLCR_RTSSC); in serial_txx9_set_mctrl()
418 sio_set(up, TXX9_SIFLCR, TXX9_SIFLCR_RTSSC); in serial_txx9_set_mctrl()
421 static void serial_txx9_break_ctl(struct uart_port *up, int break_state) in serial_txx9_break_ctl() argument
425 spin_lock_irqsave(&up->lock, flags); in serial_txx9_break_ctl()
426 if (break_state == -1) in serial_txx9_break_ctl()
427 sio_set(up, TXX9_SIFLCR, TXX9_SIFLCR_TBRK); in serial_txx9_break_ctl()
429 sio_mask(up, TXX9_SIFLCR, TXX9_SIFLCR_TBRK); in serial_txx9_break_ctl()
430 spin_unlock_irqrestore(&up->lock, flags); in serial_txx9_break_ctl()
437 static void wait_for_xmitr(struct uart_port *up) in wait_for_xmitr() argument
441 /* Wait up to 10ms for the character(s) to be sent. */ in wait_for_xmitr()
442 while (--tmout && in wait_for_xmitr()
443 !(sio_in(up, TXX9_SICISR) & TXX9_SICISR_TXALS)) in wait_for_xmitr()
446 /* Wait up to 1s for flow control if necessary */ in wait_for_xmitr()
447 if (up->flags & UPF_CONS_FLOW) { in wait_for_xmitr()
449 while (--tmout && in wait_for_xmitr()
450 (sio_in(up, TXX9_SICISR) & TXX9_SICISR_CTSS)) in wait_for_xmitr()
462 static int serial_txx9_get_poll_char(struct uart_port *up) in serial_txx9_get_poll_char() argument
470 ier = sio_in(up, TXX9_SIDICR); in serial_txx9_get_poll_char()
471 sio_out(up, TXX9_SIDICR, 0); in serial_txx9_get_poll_char()
473 while (sio_in(up, TXX9_SIDISR) & TXX9_SIDISR_UVALID) in serial_txx9_get_poll_char()
476 c = sio_in(up, TXX9_SIRFIFO); in serial_txx9_get_poll_char()
482 sio_mask(up, TXX9_SIDISR, TXX9_SIDISR_RDIS); in serial_txx9_get_poll_char()
483 sio_out(up, TXX9_SIDICR, ier); in serial_txx9_get_poll_char()
488 static void serial_txx9_put_poll_char(struct uart_port *up, unsigned char c) in serial_txx9_put_poll_char() argument
495 ier = sio_in(up, TXX9_SIDICR); in serial_txx9_put_poll_char()
496 sio_out(up, TXX9_SIDICR, 0); in serial_txx9_put_poll_char()
498 wait_for_xmitr(up); in serial_txx9_put_poll_char()
502 sio_out(up, TXX9_SITFIFO, c); in serial_txx9_put_poll_char()
508 wait_for_xmitr(up); in serial_txx9_put_poll_char()
509 sio_out(up, TXX9_SIDICR, ier); in serial_txx9_put_poll_char()
514 static int serial_txx9_startup(struct uart_port *up) in serial_txx9_startup() argument
523 sio_set(up, TXX9_SIFCR, in serial_txx9_startup()
526 sio_mask(up, TXX9_SIFCR, in serial_txx9_startup()
528 sio_out(up, TXX9_SIDICR, 0); in serial_txx9_startup()
533 sio_out(up, TXX9_SIDISR, 0); in serial_txx9_startup()
535 retval = request_irq(up->irq, serial_txx9_interrupt, in serial_txx9_startup()
536 IRQF_SHARED, "serial_txx9", up); in serial_txx9_startup()
543 spin_lock_irqsave(&up->lock, flags); in serial_txx9_startup()
544 serial_txx9_set_mctrl(up, up->mctrl); in serial_txx9_startup()
545 spin_unlock_irqrestore(&up->lock, flags); in serial_txx9_startup()
548 sio_mask(up, TXX9_SIFLCR, TXX9_SIFLCR_RSDE | TXX9_SIFLCR_TSDE); in serial_txx9_startup()
553 sio_set(up, TXX9_SIDICR, TXX9_SIDICR_RIE); in serial_txx9_startup()
558 static void serial_txx9_shutdown(struct uart_port *up) in serial_txx9_shutdown() argument
565 sio_out(up, TXX9_SIDICR, 0); /* disable all intrs */ in serial_txx9_shutdown()
567 spin_lock_irqsave(&up->lock, flags); in serial_txx9_shutdown()
568 serial_txx9_set_mctrl(up, up->mctrl); in serial_txx9_shutdown()
569 spin_unlock_irqrestore(&up->lock, flags); in serial_txx9_shutdown()
574 sio_mask(up, TXX9_SIFLCR, TXX9_SIFLCR_TBRK); in serial_txx9_shutdown()
577 if (up->cons && up->line == up->cons->index) { in serial_txx9_shutdown()
578 free_irq(up->irq, up); in serial_txx9_shutdown()
583 sio_set(up, TXX9_SIFCR, in serial_txx9_shutdown()
586 sio_mask(up, TXX9_SIFCR, in serial_txx9_shutdown()
590 sio_set(up, TXX9_SIFLCR, TXX9_SIFLCR_RSDE | TXX9_SIFLCR_TSDE); in serial_txx9_shutdown()
592 free_irq(up->irq, up); in serial_txx9_shutdown()
596 serial_txx9_set_termios(struct uart_port *up, struct ktermios *termios, in serial_txx9_set_termios() argument
606 termios->c_cflag &= ~(HUPCL | CMSPAR); in serial_txx9_set_termios()
607 termios->c_cflag |= CLOCAL; in serial_txx9_set_termios()
609 cval = sio_in(up, TXX9_SILCR); in serial_txx9_set_termios()
612 switch (termios->c_cflag & CSIZE) { in serial_txx9_set_termios()
621 termios->c_cflag &= ~CSIZE; in serial_txx9_set_termios()
622 termios->c_cflag |= CS8; in serial_txx9_set_termios()
627 if (termios->c_cflag & CSTOPB) in serial_txx9_set_termios()
632 if (termios->c_cflag & PARENB) in serial_txx9_set_termios()
634 if (!(termios->c_cflag & PARODD)) in serial_txx9_set_termios()
640 baud = uart_get_baud_rate(up, termios, old, 0, up->uartclk/16/2); in serial_txx9_set_termios()
641 quot = uart_get_divisor(up, baud); in serial_txx9_set_termios()
643 /* Set up FIFOs */ in serial_txx9_set_termios()
651 spin_lock_irqsave(&up->lock, flags); in serial_txx9_set_termios()
654 * Update the per-port timeout. in serial_txx9_set_termios()
656 uart_update_timeout(up, termios->c_cflag, baud); in serial_txx9_set_termios()
658 up->read_status_mask = TXX9_SIDISR_UOER | in serial_txx9_set_termios()
660 if (termios->c_iflag & INPCK) in serial_txx9_set_termios()
661 up->read_status_mask |= TXX9_SIDISR_UFER | TXX9_SIDISR_UPER; in serial_txx9_set_termios()
662 if (termios->c_iflag & (IGNBRK | BRKINT | PARMRK)) in serial_txx9_set_termios()
663 up->read_status_mask |= TXX9_SIDISR_UBRK; in serial_txx9_set_termios()
668 up->ignore_status_mask = 0; in serial_txx9_set_termios()
669 if (termios->c_iflag & IGNPAR) in serial_txx9_set_termios()
670 up->ignore_status_mask |= TXX9_SIDISR_UPER | TXX9_SIDISR_UFER; in serial_txx9_set_termios()
671 if (termios->c_iflag & IGNBRK) { in serial_txx9_set_termios()
672 up->ignore_status_mask |= TXX9_SIDISR_UBRK; in serial_txx9_set_termios()
677 if (termios->c_iflag & IGNPAR) in serial_txx9_set_termios()
678 up->ignore_status_mask |= TXX9_SIDISR_UOER; in serial_txx9_set_termios()
684 if ((termios->c_cflag & CREAD) == 0) in serial_txx9_set_termios()
685 up->ignore_status_mask |= TXX9_SIDISR_RDIS; in serial_txx9_set_termios()
688 if ((termios->c_cflag & CRTSCTS) && in serial_txx9_set_termios()
689 (up->flags & UPF_TXX9_HAVE_CTS_LINE)) { in serial_txx9_set_termios()
690 sio_set(up, TXX9_SIFLCR, in serial_txx9_set_termios()
693 sio_mask(up, TXX9_SIFLCR, in serial_txx9_set_termios()
697 sio_out(up, TXX9_SILCR, cval); in serial_txx9_set_termios()
698 sio_quot_set(up, quot); in serial_txx9_set_termios()
699 sio_out(up, TXX9_SIFCR, fcr); in serial_txx9_set_termios()
701 serial_txx9_set_mctrl(up, up->mctrl); in serial_txx9_set_termios()
702 spin_unlock_irqrestore(&up->lock, flags); in serial_txx9_set_termios()
710 * If oldstate was -1 this is called from in serial_txx9_pm()
713 * non-console port) or should not be initialized here (for in serial_txx9_pm()
717 if (state == 0 && oldstate != -1) in serial_txx9_pm()
721 static int serial_txx9_request_resource(struct uart_port *up) in serial_txx9_request_resource() argument
726 switch (up->iotype) { in serial_txx9_request_resource()
728 if (!up->mapbase) in serial_txx9_request_resource()
731 if (!request_mem_region(up->mapbase, size, "serial_txx9")) { in serial_txx9_request_resource()
732 ret = -EBUSY; in serial_txx9_request_resource()
736 if (up->flags & UPF_IOREMAP) { in serial_txx9_request_resource()
737 up->membase = ioremap(up->mapbase, size); in serial_txx9_request_resource()
738 if (!up->membase) { in serial_txx9_request_resource()
739 release_mem_region(up->mapbase, size); in serial_txx9_request_resource()
740 ret = -ENOMEM; in serial_txx9_request_resource()
746 if (!request_region(up->iobase, size, "serial_txx9")) in serial_txx9_request_resource()
747 ret = -EBUSY; in serial_txx9_request_resource()
753 static void serial_txx9_release_resource(struct uart_port *up) in serial_txx9_release_resource() argument
757 switch (up->iotype) { in serial_txx9_release_resource()
759 if (!up->mapbase) in serial_txx9_release_resource()
762 if (up->flags & UPF_IOREMAP) { in serial_txx9_release_resource()
763 iounmap(up->membase); in serial_txx9_release_resource()
764 up->membase = NULL; in serial_txx9_release_resource()
767 release_mem_region(up->mapbase, size); in serial_txx9_release_resource()
771 release_region(up->iobase, size); in serial_txx9_release_resource()
776 static void serial_txx9_release_port(struct uart_port *up) in serial_txx9_release_port() argument
778 serial_txx9_release_resource(up); in serial_txx9_release_port()
781 static int serial_txx9_request_port(struct uart_port *up) in serial_txx9_request_port() argument
783 return serial_txx9_request_resource(up); in serial_txx9_request_port()
786 static void serial_txx9_config_port(struct uart_port *up, int uflags) in serial_txx9_config_port() argument
794 ret = serial_txx9_request_resource(up); in serial_txx9_config_port()
797 up->type = PORT_TXX9; in serial_txx9_config_port()
798 up->fifosize = TXX9_SIO_TX_FIFO; in serial_txx9_config_port()
801 if (up->line == up->cons->index) in serial_txx9_config_port()
804 serial_txx9_initialize(up); in serial_txx9_config_port()
843 struct uart_port *up = &serial_txx9_ports[i]; in serial_txx9_register_ports() local
845 up->line = i; in serial_txx9_register_ports()
846 up->ops = &serial_txx9_pops; in serial_txx9_register_ports()
847 up->dev = dev; in serial_txx9_register_ports()
848 if (up->iobase || up->mapbase) in serial_txx9_register_ports()
849 uart_add_one_port(drv, up); in serial_txx9_register_ports()
855 static void serial_txx9_console_putchar(struct uart_port *up, unsigned char ch) in serial_txx9_console_putchar() argument
857 wait_for_xmitr(up); in serial_txx9_console_putchar()
858 sio_out(up, TXX9_SITFIFO, ch); in serial_txx9_console_putchar()
870 struct uart_port *up = &serial_txx9_ports[co->index]; in serial_txx9_console_write() local
876 ier = sio_in(up, TXX9_SIDICR); in serial_txx9_console_write()
877 sio_out(up, TXX9_SIDICR, 0); in serial_txx9_console_write()
879 * Disable flow-control if enabled (and unnecessary) in serial_txx9_console_write()
881 flcr = sio_in(up, TXX9_SIFLCR); in serial_txx9_console_write()
882 if (!(up->flags & UPF_CONS_FLOW) && (flcr & TXX9_SIFLCR_TES)) in serial_txx9_console_write()
883 sio_out(up, TXX9_SIFLCR, flcr & ~TXX9_SIFLCR_TES); in serial_txx9_console_write()
885 uart_console_write(up, s, count, serial_txx9_console_putchar); in serial_txx9_console_write()
891 wait_for_xmitr(up); in serial_txx9_console_write()
892 sio_out(up, TXX9_SIFLCR, flcr); in serial_txx9_console_write()
893 sio_out(up, TXX9_SIDICR, ier); in serial_txx9_console_write()
898 struct uart_port *up; in serial_txx9_console_setup() local
909 if (co->index >= UART_NR) in serial_txx9_console_setup()
910 co->index = 0; in serial_txx9_console_setup()
911 up = &serial_txx9_ports[co->index]; in serial_txx9_console_setup()
912 if (!up->ops) in serial_txx9_console_setup()
913 return -ENODEV; in serial_txx9_console_setup()
915 serial_txx9_initialize(up); in serial_txx9_console_setup()
920 return uart_set_options(up, co, baud, parity, bits, flow); in serial_txx9_console_setup()
930 .index = -1,
958 if (port->line >= ARRAY_SIZE(serial_txx9_ports)) in early_serial_txx9_setup()
959 return -ENODEV; in early_serial_txx9_setup()
961 serial_txx9_ports[port->line] = *port; in early_serial_txx9_setup()
962 serial_txx9_ports[port->line].ops = &serial_txx9_pops; in early_serial_txx9_setup()
963 serial_txx9_ports[port->line].flags |= in early_serial_txx9_setup()
971 * serial_txx9_register_port - register a serial port
985 int ret = -ENOSPC; in serial_txx9_register_port()
999 if (!(uart->iobase || uart->mapbase)) in serial_txx9_register_port()
1004 uart->iobase = port->iobase; in serial_txx9_register_port()
1005 uart->membase = port->membase; in serial_txx9_register_port()
1006 uart->irq = port->irq; in serial_txx9_register_port()
1007 uart->uartclk = port->uartclk; in serial_txx9_register_port()
1008 uart->iotype = port->iotype; in serial_txx9_register_port()
1009 uart->flags = port->flags in serial_txx9_register_port()
1011 uart->mapbase = port->mapbase; in serial_txx9_register_port()
1012 if (port->dev) in serial_txx9_register_port()
1013 uart->dev = port->dev; in serial_txx9_register_port()
1016 ret = uart->line; in serial_txx9_register_port()
1023 * serial_txx9_unregister_port - remove a txx9 serial port at runtime
1035 uart->flags = 0; in serial_txx9_unregister_port()
1036 uart->type = PORT_UNKNOWN; in serial_txx9_unregister_port()
1037 uart->iobase = 0; in serial_txx9_unregister_port()
1038 uart->mapbase = 0; in serial_txx9_unregister_port()
1039 uart->membase = NULL; in serial_txx9_unregister_port()
1040 uart->dev = NULL; in serial_txx9_unregister_port()
1049 struct uart_port *p = dev_get_platdata(&dev->dev); in serial_txx9_probe()
1054 for (i = 0; p && p->uartclk != 0; p++, i++) { in serial_txx9_probe()
1055 port.iobase = p->iobase; in serial_txx9_probe()
1056 port.membase = p->membase; in serial_txx9_probe()
1057 port.irq = p->irq; in serial_txx9_probe()
1058 port.uartclk = p->uartclk; in serial_txx9_probe()
1059 port.iotype = p->iotype; in serial_txx9_probe()
1060 port.flags = p->flags; in serial_txx9_probe()
1061 port.mapbase = p->mapbase; in serial_txx9_probe()
1062 port.dev = &dev->dev; in serial_txx9_probe()
1066 dev_err(&dev->dev, "unable to register port at index %d " in serial_txx9_probe()
1068 p->iobase, (unsigned long long)p->mapbase, in serial_txx9_probe()
1069 p->irq, ret); in serial_txx9_probe()
1083 struct uart_port *up = &serial_txx9_ports[i]; in serial_txx9_remove() local
1085 if (up->dev == &dev->dev) in serial_txx9_remove()
1097 struct uart_port *up = &serial_txx9_ports[i]; in serial_txx9_suspend() local
1099 if (up->type != PORT_UNKNOWN && up->dev == &dev->dev) in serial_txx9_suspend()
1100 uart_suspend_port(&serial_txx9_reg, up); in serial_txx9_suspend()
1111 struct uart_port *up = &serial_txx9_ports[i]; in serial_txx9_resume() local
1113 if (up->type != PORT_UNKNOWN && up->dev == &dev->dev) in serial_txx9_resume()
1114 uart_resume_port(&serial_txx9_reg, up); in serial_txx9_resume()
1153 port.irq = dev->irq; in pciserial_txx9_init_one()
1156 port.dev = &dev->dev; in pciserial_txx9_init_one()
1170 struct uart_port *up = pci_get_drvdata(dev); in pciserial_txx9_remove_one() local
1172 if (up) { in pciserial_txx9_remove_one()
1173 serial_txx9_unregister_port(up->line); in pciserial_txx9_remove_one()
1181 struct uart_port *up = pci_get_drvdata(dev); in pciserial_txx9_suspend_one() local
1183 if (up) in pciserial_txx9_suspend_one()
1184 uart_suspend_port(&serial_txx9_reg, up); in pciserial_txx9_suspend_one()
1192 struct uart_port *up = pci_get_drvdata(dev); in pciserial_txx9_resume_one() local
1196 if (up) in pciserial_txx9_resume_one()
1197 uart_resume_port(&serial_txx9_reg, up); in pciserial_txx9_resume_one()
1231 serial_txx9_plat_devs = platform_device_alloc("serial_txx9", -1); in serial_txx9_init()
1233 ret = -ENOMEM; in serial_txx9_init()
1242 &serial_txx9_plat_devs->dev); in serial_txx9_init()
1277 struct uart_port *up = &serial_txx9_ports[i]; in serial_txx9_exit() local
1278 if (up->iobase || up->mapbase) in serial_txx9_exit()
1279 uart_remove_one_port(&serial_txx9_reg, up); in serial_txx9_exit()