Lines Matching refs:ltq_port

105 	int	(*fetch_irq)(struct device *dev, struct ltq_uart_port *ltq_port);
148 struct ltq_uart_port *ltq_port = to_ltq_uart_port(port); in lqasc_start_tx() local
150 spin_lock_irqsave(&ltq_port->lock, flags); in lqasc_start_tx()
152 spin_unlock_irqrestore(&ltq_port->lock, flags); in lqasc_start_tx()
260 struct ltq_uart_port *ltq_port = to_ltq_uart_port(port); in lqasc_tx_int() local
262 spin_lock_irqsave(&ltq_port->lock, flags); in lqasc_tx_int()
264 spin_unlock_irqrestore(&ltq_port->lock, flags); in lqasc_tx_int()
274 struct ltq_uart_port *ltq_port = to_ltq_uart_port(port); in lqasc_err_int() local
276 spin_lock_irqsave(&ltq_port->lock, flags); in lqasc_err_int()
280 spin_unlock_irqrestore(&ltq_port->lock, flags); in lqasc_err_int()
289 struct ltq_uart_port *ltq_port = to_ltq_uart_port(port); in lqasc_rx_int() local
291 spin_lock_irqsave(&ltq_port->lock, flags); in lqasc_rx_int()
294 spin_unlock_irqrestore(&ltq_port->lock, flags); in lqasc_rx_int()
303 struct ltq_uart_port *ltq_port = to_ltq_uart_port(port); in lqasc_irq() local
305 spin_lock_irqsave(&ltq_port->lock, flags); in lqasc_irq()
307 spin_unlock_irqrestore(&ltq_port->lock, flags); in lqasc_irq()
351 struct ltq_uart_port *ltq_port = to_ltq_uart_port(port); in lqasc_startup() local
355 if (!IS_ERR(ltq_port->clk)) in lqasc_startup()
356 clk_prepare_enable(ltq_port->clk); in lqasc_startup()
357 port->uartclk = clk_get_rate(ltq_port->freqclk); in lqasc_startup()
359 spin_lock_irqsave(&ltq_port->lock, flags); in lqasc_startup()
379 spin_unlock_irqrestore(&ltq_port->lock, flags); in lqasc_startup()
381 retval = ltq_port->soc->request_irq(port); in lqasc_startup()
393 struct ltq_uart_port *ltq_port = to_ltq_uart_port(port); in lqasc_shutdown() local
396 ltq_port->soc->free_irq(port); in lqasc_shutdown()
398 spin_lock_irqsave(&ltq_port->lock, flags); in lqasc_shutdown()
404 spin_unlock_irqrestore(&ltq_port->lock, flags); in lqasc_shutdown()
405 if (!IS_ERR(ltq_port->clk)) in lqasc_shutdown()
406 clk_disable_unprepare(ltq_port->clk); in lqasc_shutdown()
419 struct ltq_uart_port *ltq_port = to_ltq_uart_port(port); in lqasc_set_termios() local
473 spin_lock_irqsave(&ltq_port->lock, flags); in lqasc_set_termios()
501 spin_unlock_irqrestore(&ltq_port->lock, flags); in lqasc_set_termios()
626 struct ltq_uart_port *ltq_port; in lqasc_console_write() local
632 ltq_port = lqasc_port[co->index]; in lqasc_console_write()
633 if (!ltq_port) in lqasc_console_write()
636 spin_lock_irqsave(&ltq_port->lock, flags); in lqasc_console_write()
637 lqasc_serial_port_write(&ltq_port->port, s, count); in lqasc_console_write()
638 spin_unlock_irqrestore(&ltq_port->lock, flags); in lqasc_console_write()
644 struct ltq_uart_port *ltq_port; in lqasc_console_setup() local
654 ltq_port = lqasc_port[co->index]; in lqasc_console_setup()
655 if (!ltq_port) in lqasc_console_setup()
658 port = &ltq_port->port; in lqasc_console_setup()
660 if (!IS_ERR(ltq_port->clk)) in lqasc_console_setup()
661 clk_prepare_enable(ltq_port->clk); in lqasc_console_setup()
663 port->uartclk = clk_get_rate(ltq_port->freqclk); in lqasc_console_setup()
728 static int fetch_irq_lantiq(struct device *dev, struct ltq_uart_port *ltq_port) in fetch_irq_lantiq() argument
730 struct uart_port *port = &ltq_port->port; in fetch_irq_lantiq()
740 ltq_port->tx_irq = irqres[0].start; in fetch_irq_lantiq()
741 ltq_port->rx_irq = irqres[1].start; in fetch_irq_lantiq()
742 ltq_port->err_irq = irqres[2].start; in fetch_irq_lantiq()
750 struct ltq_uart_port *ltq_port = to_ltq_uart_port(port); in request_irq_lantiq() local
753 retval = request_irq(ltq_port->tx_irq, lqasc_tx_int, in request_irq_lantiq()
760 retval = request_irq(ltq_port->rx_irq, lqasc_rx_int, in request_irq_lantiq()
767 retval = request_irq(ltq_port->err_irq, lqasc_err_int, in request_irq_lantiq()
776 free_irq(ltq_port->rx_irq, port); in request_irq_lantiq()
778 free_irq(ltq_port->tx_irq, port); in request_irq_lantiq()
784 struct ltq_uart_port *ltq_port = to_ltq_uart_port(port); in free_irq_lantiq() local
786 free_irq(ltq_port->tx_irq, port); in free_irq_lantiq()
787 free_irq(ltq_port->rx_irq, port); in free_irq_lantiq()
788 free_irq(ltq_port->err_irq, port); in free_irq_lantiq()
791 static int fetch_irq_intel(struct device *dev, struct ltq_uart_port *ltq_port) in fetch_irq_intel() argument
793 struct uart_port *port = &ltq_port->port; in fetch_irq_intel()
801 ltq_port->common_irq = ret; in fetch_irq_intel()
809 struct ltq_uart_port *ltq_port = to_ltq_uart_port(port); in request_irq_intel() local
812 retval = request_irq(ltq_port->common_irq, lqasc_irq, 0, in request_irq_intel()
822 struct ltq_uart_port *ltq_port = to_ltq_uart_port(port); in free_irq_intel() local
824 free_irq(ltq_port->common_irq, port); in free_irq_intel()
830 struct ltq_uart_port *ltq_port; in lqasc_probe() local
843 ltq_port = devm_kzalloc(&pdev->dev, sizeof(struct ltq_uart_port), in lqasc_probe()
845 if (!ltq_port) in lqasc_probe()
848 port = &ltq_port->port; in lqasc_probe()
850 ltq_port->soc = of_device_get_match_data(&pdev->dev); in lqasc_probe()
851 ret = ltq_port->soc->fetch_irq(&pdev->dev, ltq_port); in lqasc_probe()
886 ltq_port->freqclk = clk_get_fpi(); in lqasc_probe()
888 ltq_port->freqclk = devm_clk_get(&pdev->dev, "freq"); in lqasc_probe()
891 if (IS_ERR(ltq_port->freqclk)) { in lqasc_probe()
898 ltq_port->clk = clk_get(&pdev->dev, NULL); in lqasc_probe()
900 ltq_port->clk = devm_clk_get(&pdev->dev, "asc"); in lqasc_probe()
902 spin_lock_init(&ltq_port->lock); in lqasc_probe()
903 lqasc_port[line] = ltq_port; in lqasc_probe()
904 platform_set_drvdata(pdev, ltq_port); in lqasc_probe()