Lines Matching refs:ltq_port

103 	int	(*fetch_irq)(struct device *dev, struct ltq_uart_port *ltq_port);
153 struct ltq_uart_port *ltq_port = to_ltq_uart_port(port); in lqasc_start_tx() local
156 spin_lock_irqsave(&ltq_port->lock, flags); in lqasc_start_tx()
160 spin_unlock_irqrestore(&ltq_port->lock, flags); in lqasc_start_tx()
237 struct ltq_uart_port *ltq_port = to_ltq_uart_port(port); in lqasc_tx_int() local
239 spin_lock_irqsave(&ltq_port->lock, flags); in lqasc_tx_int()
241 spin_unlock_irqrestore(&ltq_port->lock, flags); in lqasc_tx_int()
251 struct ltq_uart_port *ltq_port = to_ltq_uart_port(port); in lqasc_err_int() local
253 spin_lock_irqsave(&ltq_port->lock, flags); in lqasc_err_int()
258 spin_unlock_irqrestore(&ltq_port->lock, flags); in lqasc_err_int()
267 struct ltq_uart_port *ltq_port = to_ltq_uart_port(port); in lqasc_rx_int() local
269 spin_lock_irqsave(&ltq_port->lock, flags); in lqasc_rx_int()
272 spin_unlock_irqrestore(&ltq_port->lock, flags); in lqasc_rx_int()
281 struct ltq_uart_port *ltq_port = to_ltq_uart_port(port); in lqasc_irq() local
283 spin_lock_irqsave(&ltq_port->lock, flags); in lqasc_irq()
285 spin_unlock_irqrestore(&ltq_port->lock, flags); in lqasc_irq()
329 struct ltq_uart_port *ltq_port = to_ltq_uart_port(port); in lqasc_startup() local
333 if (!IS_ERR(ltq_port->clk)) in lqasc_startup()
334 clk_prepare_enable(ltq_port->clk); in lqasc_startup()
335 port->uartclk = clk_get_rate(ltq_port->freqclk); in lqasc_startup()
337 spin_lock_irqsave(&ltq_port->lock, flags); in lqasc_startup()
357 spin_unlock_irqrestore(&ltq_port->lock, flags); in lqasc_startup()
359 retval = ltq_port->soc->request_irq(port); in lqasc_startup()
371 struct ltq_uart_port *ltq_port = to_ltq_uart_port(port); in lqasc_shutdown() local
374 ltq_port->soc->free_irq(port); in lqasc_shutdown()
376 spin_lock_irqsave(&ltq_port->lock, flags); in lqasc_shutdown()
382 spin_unlock_irqrestore(&ltq_port->lock, flags); in lqasc_shutdown()
383 if (!IS_ERR(ltq_port->clk)) in lqasc_shutdown()
384 clk_disable_unprepare(ltq_port->clk); in lqasc_shutdown()
397 struct ltq_uart_port *ltq_port = to_ltq_uart_port(port); in lqasc_set_termios() local
451 spin_lock_irqsave(&ltq_port->lock, flags); in lqasc_set_termios()
479 spin_unlock_irqrestore(&ltq_port->lock, flags); in lqasc_set_termios()
601 struct ltq_uart_port *ltq_port; in lqasc_console_write() local
607 ltq_port = lqasc_port[co->index]; in lqasc_console_write()
608 if (!ltq_port) in lqasc_console_write()
611 spin_lock_irqsave(&ltq_port->lock, flags); in lqasc_console_write()
612 lqasc_serial_port_write(&ltq_port->port, s, count); in lqasc_console_write()
613 spin_unlock_irqrestore(&ltq_port->lock, flags); in lqasc_console_write()
619 struct ltq_uart_port *ltq_port; in lqasc_console_setup() local
629 ltq_port = lqasc_port[co->index]; in lqasc_console_setup()
630 if (!ltq_port) in lqasc_console_setup()
633 port = &ltq_port->port; in lqasc_console_setup()
635 if (!IS_ERR(ltq_port->clk)) in lqasc_console_setup()
636 clk_prepare_enable(ltq_port->clk); in lqasc_console_setup()
638 port->uartclk = clk_get_rate(ltq_port->freqclk); in lqasc_console_setup()
703 static int fetch_irq_lantiq(struct device *dev, struct ltq_uart_port *ltq_port) in fetch_irq_lantiq() argument
705 struct uart_port *port = &ltq_port->port; in fetch_irq_lantiq()
712 ltq_port->tx_irq = irq; in fetch_irq_lantiq()
716 ltq_port->rx_irq = irq; in fetch_irq_lantiq()
720 ltq_port->err_irq = irq; in fetch_irq_lantiq()
722 port->irq = ltq_port->tx_irq; in fetch_irq_lantiq()
729 struct ltq_uart_port *ltq_port = to_ltq_uart_port(port); in request_irq_lantiq() local
732 retval = request_irq(ltq_port->tx_irq, lqasc_tx_int, in request_irq_lantiq()
739 retval = request_irq(ltq_port->rx_irq, lqasc_rx_int, in request_irq_lantiq()
746 retval = request_irq(ltq_port->err_irq, lqasc_err_int, in request_irq_lantiq()
755 free_irq(ltq_port->rx_irq, port); in request_irq_lantiq()
757 free_irq(ltq_port->tx_irq, port); in request_irq_lantiq()
763 struct ltq_uart_port *ltq_port = to_ltq_uart_port(port); in free_irq_lantiq() local
765 free_irq(ltq_port->tx_irq, port); in free_irq_lantiq()
766 free_irq(ltq_port->rx_irq, port); in free_irq_lantiq()
767 free_irq(ltq_port->err_irq, port); in free_irq_lantiq()
770 static int fetch_irq_intel(struct device *dev, struct ltq_uart_port *ltq_port) in fetch_irq_intel() argument
772 struct uart_port *port = &ltq_port->port; in fetch_irq_intel()
780 ltq_port->common_irq = ret; in fetch_irq_intel()
788 struct ltq_uart_port *ltq_port = to_ltq_uart_port(port); in request_irq_intel() local
791 retval = request_irq(ltq_port->common_irq, lqasc_irq, 0, in request_irq_intel()
801 struct ltq_uart_port *ltq_port = to_ltq_uart_port(port); in free_irq_intel() local
803 free_irq(ltq_port->common_irq, port); in free_irq_intel()
809 struct ltq_uart_port *ltq_port; in lqasc_probe() local
822 ltq_port = devm_kzalloc(&pdev->dev, sizeof(struct ltq_uart_port), in lqasc_probe()
824 if (!ltq_port) in lqasc_probe()
827 port = &ltq_port->port; in lqasc_probe()
829 ltq_port->soc = of_device_get_match_data(&pdev->dev); in lqasc_probe()
830 ret = ltq_port->soc->fetch_irq(&pdev->dev, ltq_port); in lqasc_probe()
865 ltq_port->freqclk = clk_get_fpi(); in lqasc_probe()
867 ltq_port->freqclk = devm_clk_get(&pdev->dev, "freq"); in lqasc_probe()
870 if (IS_ERR(ltq_port->freqclk)) { in lqasc_probe()
877 ltq_port->clk = clk_get(&pdev->dev, NULL); in lqasc_probe()
879 ltq_port->clk = devm_clk_get(&pdev->dev, "asc"); in lqasc_probe()
881 spin_lock_init(&ltq_port->lock); in lqasc_probe()
882 lqasc_port[line] = ltq_port; in lqasc_probe()
883 platform_set_drvdata(pdev, ltq_port); in lqasc_probe()