[PATCH 4/4] clk: rockchip: enable CLK_DEFER_ORPHAN for all branches

Heiko Stuebner heiko at sntech.de
Thu Apr 2 08:34:13 PDT 2015

All Rockchip drivers should handle deferentials correctly and on all boards
we have the situation that some clock sources are generated off-soc by an
external i2c component (like the xin32k feeding for example the sclk_tsadc
on rk3288). So some clocks are always orphans until the i2c drivers are
So add the new CLK_DEFER_ORPHAN flag for all our clock branches to generate
correct deferals for this timespan.

Signed-off-by: Heiko Stuebner <heiko at sntech.de>
 drivers/clk/rockchip/clk.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/clk/rockchip/clk.c b/drivers/clk/rockchip/clk.c
index 20e05bb..5bb5fa6 100644
--- a/drivers/clk/rockchip/clk.c
+++ b/drivers/clk/rockchip/clk.c
@@ -220,6 +220,9 @@ void __init rockchip_clk_register_branches(
 	for (idx = 0; idx < nr_clk; idx++, list++) {
 		flags = list->flags;
+		/* defer clk_get on orphan clocks */
+		flags |= CLK_DEFER_ORPHAN;
 		/* catch simple muxes */
 		switch (list->branch_type) {
 		case branch_mux:

More information about the Linux-rockchip mailing list