tty: serial: owl: add "much needed" clk_prepare_enable()
authorAmit Singh Tomar <amittomer25@gmail.com>
Thu, 16 Apr 2020 20:11:57 +0000 (01:41 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 29 Apr 2020 14:33:14 +0000 (16:33 +0200)
commit3d15344e23c554b6c25f8a5ded3a3657a31e9779
tree73f2fb709aa74d737ef9028172c3d28f8652a892
parent4fbf19bbba6a2f5a5aedcf9d98784fb3b5e8318b
tty: serial: owl: add "much needed" clk_prepare_enable()

commit abf42d2f333b21bf8d33b2fbb8a85fa62037ac01 upstream.

commit 8ba92cf59335 ("arm64: dts: actions: s700: Add Clock Management Unit")
breaks the UART on Cubieboard7-lite (based on S700 SoC), This is due to the
fact that generic clk routine clk_disable_unused() disables the gate clks,
and that in turns disables OWL UART (but UART driver never enables it). To
prove this theory, Andre suggested to use "clk_ignore_unused" in kernel
commnd line and it worked (Kernel happily lands into RAMFS world :)).

This commit fix this up by adding clk_prepare_enable().

Fixes: 8ba92cf59335 ("arm64: dts: actions: s700: Add Clock Management Unit")
Signed-off-by: Amit Singh Tomar <amittomer25@gmail.com>
Cc: stable <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/1587067917-1400-1-git-send-email-amittomer25@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/owl-uart.c