serial: lantiq: Add CCF support
Previous implementation uses platform-dependent API to get the clock. Those functions are not available for other SoC which uses the same IP. The CCF (Common Clock Framework) have an abstraction based APIs for clock. In future, the platform specific code will be removed when the legacy soc use CCF as well. Change to use CCF APIs to get clock and rate. So that different SoCs can use the same driver. Signed-off-by: Songjun Wu <songjun.wu@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
5034ce0605
commit
dbbc26dbd0
@ -744,14 +744,22 @@ lqasc_probe(struct platform_device *pdev)
|
||||
port->irq = irqres[0].start;
|
||||
port->mapbase = mmres->start;
|
||||
|
||||
ltq_port->freqclk = clk_get_fpi();
|
||||
if (IS_ENABLED(CONFIG_LANTIQ) && !IS_ENABLED(CONFIG_COMMON_CLK))
|
||||
ltq_port->freqclk = clk_get_fpi();
|
||||
else
|
||||
ltq_port->freqclk = devm_clk_get(&pdev->dev, "freq");
|
||||
|
||||
|
||||
if (IS_ERR(ltq_port->freqclk)) {
|
||||
pr_err("failed to get fpi clk\n");
|
||||
return -ENOENT;
|
||||
}
|
||||
|
||||
/* not all asc ports have clock gates, lets ignore the return code */
|
||||
ltq_port->clk = clk_get(&pdev->dev, NULL);
|
||||
if (IS_ENABLED(CONFIG_LANTIQ) && !IS_ENABLED(CONFIG_COMMON_CLK))
|
||||
ltq_port->clk = clk_get(&pdev->dev, NULL);
|
||||
else
|
||||
ltq_port->clk = devm_clk_get(&pdev->dev, "asc");
|
||||
|
||||
ltq_port->tx_irq = irqres[0].start;
|
||||
ltq_port->rx_irq = irqres[1].start;
|
||||
|
Loading…
Reference in New Issue
Block a user