Revert "clk: avoid circular clock topology"
authorStephen Boyd <sboyd@codeaurora.org>
Mon, 22 Feb 2016 23:01:39 +0000 (15:01 -0800)
committerStephen Boyd <sboyd@codeaurora.org>
Mon, 22 Feb 2016 23:01:39 +0000 (15:01 -0800)
commitfa459711a0b8fb190a12fe86b03d910c252a7f5c
tree834dcd5a0eba97eae4b8bf0476b3722184307431
parent56713da3ee5c6b0cf5b1881973b939250766a91b
Revert "clk: avoid circular clock topology"

This reverts commit 858d5881564026cbc4e6f5e25ae878a27df5d4c9.

Joachim reports that this commit breaks lpc18xx boot. This is
because the hardware has circular clk topology where PLLs can
feed into dividers and the same dividers can feed into the PLLs.
The hardware is designed this way so that you can choose to put
the divider before the PLL or after the PLL depending on what you
configure to be the parent of the divider and what you configure
to be the parent of the PLL.

So let's drop this patch for now because we have hardware that
actually has loops. A future patch could check for circular
parents when we change parents and fail the switch, but that's
probably best left to some debugging Kconfig option so that we
don't suffer the sanity checking cost all the time.

Reported-by: Joachim Eastwood <manabian@gmail.com>
Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
drivers/clk/clk.c