Fix serial console on SNI RM400 machines
sccnxp driver doesn't get the correct uart clock rate, if CONFIG_HAVE_CLOCK
is disabled. Correct usage of clk API to make it work with/without it.
Fixes: 90efa75f7a
(serial: sccnxp: Using CLK API for getting UART clock)
Suggested-by: Russell King - ARM Linux <linux@armlinux.org.uk>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
8a8dabf2dd
commit
e279e6d98e
|
@ -884,14 +884,19 @@ static int sccnxp_probe(struct platform_device *pdev)
|
|||
|
||||
clk = devm_clk_get(&pdev->dev, NULL);
|
||||
if (IS_ERR(clk)) {
|
||||
if (PTR_ERR(clk) == -EPROBE_DEFER) {
|
||||
ret = -EPROBE_DEFER;
|
||||
ret = PTR_ERR(clk);
|
||||
if (ret == -EPROBE_DEFER)
|
||||
goto err_out;
|
||||
}
|
||||
uartclk = 0;
|
||||
} else {
|
||||
clk_prepare_enable(clk);
|
||||
uartclk = clk_get_rate(clk);
|
||||
}
|
||||
|
||||
if (!uartclk) {
|
||||
dev_notice(&pdev->dev, "Using default clock frequency\n");
|
||||
uartclk = s->chip->freq_std;
|
||||
} else
|
||||
uartclk = clk_get_rate(clk);
|
||||
}
|
||||
|
||||
/* Check input frequency */
|
||||
if ((uartclk < s->chip->freq_min) || (uartclk > s->chip->freq_max)) {
|
||||
|
|
Loading…
Reference in New Issue