Lines Matching refs:cdns_uart_data

1150 	struct cdns_uart *cdns_uart_data = port->private_data;  in cdns_uart_get_mctrl()  local
1152 if (cdns_uart_data->cts_override) in cdns_uart_get_mctrl()
1172 struct cdns_uart *cdns_uart_data = port->private_data; in cdns_uart_set_mctrl() local
1174 if (cdns_uart_data->cts_override) in cdns_uart_set_mctrl()
1185 if (cdns_uart_data->gpiod_rts) in cdns_uart_set_mctrl()
1186 gpiod_set_value(cdns_uart_data->gpiod_rts, !(mctrl & TIOCM_RTS)); in cdns_uart_set_mctrl()
1651 struct cdns_uart *cdns_uart_data; in cdns_uart_probe() local
1654 cdns_uart_data = devm_kzalloc(&pdev->dev, sizeof(*cdns_uart_data), in cdns_uart_probe()
1656 if (!cdns_uart_data) in cdns_uart_probe()
1690 cdns_uart_data->cdns_uart_driver = &cdns_uart_uart_driver; in cdns_uart_probe()
1696 cdns_uart_data->quirks = data->quirks; in cdns_uart_probe()
1699 cdns_uart_data->pclk = devm_clk_get(&pdev->dev, "pclk"); in cdns_uart_probe()
1700 if (PTR_ERR(cdns_uart_data->pclk) == -EPROBE_DEFER) { in cdns_uart_probe()
1701 rc = PTR_ERR(cdns_uart_data->pclk); in cdns_uart_probe()
1705 if (IS_ERR(cdns_uart_data->pclk)) { in cdns_uart_probe()
1706 cdns_uart_data->pclk = devm_clk_get(&pdev->dev, "aper_clk"); in cdns_uart_probe()
1707 if (IS_ERR(cdns_uart_data->pclk)) { in cdns_uart_probe()
1708 rc = PTR_ERR(cdns_uart_data->pclk); in cdns_uart_probe()
1714 cdns_uart_data->uartclk = devm_clk_get(&pdev->dev, "uart_clk"); in cdns_uart_probe()
1715 if (PTR_ERR(cdns_uart_data->uartclk) == -EPROBE_DEFER) { in cdns_uart_probe()
1716 rc = PTR_ERR(cdns_uart_data->uartclk); in cdns_uart_probe()
1720 if (IS_ERR(cdns_uart_data->uartclk)) { in cdns_uart_probe()
1721 cdns_uart_data->uartclk = devm_clk_get(&pdev->dev, "ref_clk"); in cdns_uart_probe()
1722 if (IS_ERR(cdns_uart_data->uartclk)) { in cdns_uart_probe()
1723 rc = PTR_ERR(cdns_uart_data->uartclk); in cdns_uart_probe()
1729 cdns_uart_data->rstc = devm_reset_control_get_optional_exclusive(&pdev->dev, NULL); in cdns_uart_probe()
1730 if (IS_ERR(cdns_uart_data->rstc)) { in cdns_uart_probe()
1731 rc = PTR_ERR(cdns_uart_data->rstc); in cdns_uart_probe()
1736 rc = clk_prepare_enable(cdns_uart_data->pclk); in cdns_uart_probe()
1741 rc = clk_prepare_enable(cdns_uart_data->uartclk); in cdns_uart_probe()
1760 cdns_uart_data->clk_rate_change_nb.notifier_call = in cdns_uart_probe()
1762 if (clk_notifier_register(cdns_uart_data->uartclk, in cdns_uart_probe()
1763 &cdns_uart_data->clk_rate_change_nb)) in cdns_uart_probe()
1785 port->uartclk = clk_get_rate(cdns_uart_data->uartclk); in cdns_uart_probe()
1786 port->private_data = cdns_uart_data; in cdns_uart_probe()
1791 cdns_uart_data->port = port; in cdns_uart_probe()
1798 cdns_uart_data->gpiod_rts = devm_gpiod_get_optional(&pdev->dev, "rts", in cdns_uart_probe()
1800 if (IS_ERR(cdns_uart_data->gpiod_rts)) { in cdns_uart_probe()
1801 rc = PTR_ERR(cdns_uart_data->gpiod_rts); in cdns_uart_probe()
1824 if (cdns_uart_data->port->rs485.flags & SER_RS485_ENABLED) in cdns_uart_probe()
1825 cdns_rs485_rx_setup(cdns_uart_data); in cdns_uart_probe()
1843 cdns_uart_data->cts_override = of_property_read_bool(pdev->dev.of_node, in cdns_uart_probe()
1856 clk_notifier_unregister(cdns_uart_data->uartclk, in cdns_uart_probe()
1857 &cdns_uart_data->clk_rate_change_nb); in cdns_uart_probe()
1860 clk_disable_unprepare(cdns_uart_data->uartclk); in cdns_uart_probe()
1862 clk_disable_unprepare(cdns_uart_data->pclk); in cdns_uart_probe()
1865 uart_unregister_driver(cdns_uart_data->cdns_uart_driver); in cdns_uart_probe()
1876 struct cdns_uart *cdns_uart_data = port->private_data; in cdns_uart_remove() local
1880 clk_notifier_unregister(cdns_uart_data->uartclk, in cdns_uart_remove()
1881 &cdns_uart_data->clk_rate_change_nb); in cdns_uart_remove()
1883 uart_remove_one_port(cdns_uart_data->cdns_uart_driver, port); in cdns_uart_remove()
1885 clk_disable_unprepare(cdns_uart_data->uartclk); in cdns_uart_remove()
1886 clk_disable_unprepare(cdns_uart_data->pclk); in cdns_uart_remove()
1896 reset_control_assert(cdns_uart_data->rstc); in cdns_uart_remove()
1899 uart_unregister_driver(cdns_uart_data->cdns_uart_driver); in cdns_uart_remove()