[PATCH 0/4] clk: mvebu: fix clk init order
From: Ezequiel Garcia <hidden>
Date: 2014-02-17 14:14:05
Also in:
lkml
On Wed, Feb 05, 2014 at 01:34:57PM -0500, Jason Cooper wrote:
On Sat, Jan 25, 2014 at 07:19:06PM +0100, Sebastian Hesselbarth wrote:quoted
This patch set fixes clk init order that went upside-down with v3.14. I haven't really investigated what caused this, but I assume it is related with DT node reordering by addresses. Anyway, with v3.14 for MVEBU SoCs, the clock gating driver gets registered before core clocks driver. Unfortunately, we cannot return -EPROBE_DEFER in drivers initialized by clk_of_init. As the init order for our drivers is always core clocks before clock gating, we maintain init order ourselves by hooking CLK_OF_DECLARE to one init function that will register core clocks before clock gating driver. This patch is based on pre-v3.14-rc1 mainline and should go in as fixes for it. As we now send MVEBU clk pull-requests to Mike directly, I suggest Jason picks it up as a topic branch. The patches have been boot tested on Dove and compile-tested only for Kirkwood, Armada 370 and XP. Sebastian Hesselbarth (4): clk: mvebu: armada-370: maintain clock init order clk: mvebu: armada-xp: maintain clock init order clk: mvebu: dove: maintain clock init order clk: mvebu: kirkwood: maintain clock init order drivers/clk/mvebu/armada-370.c | 21 ++++++++++----------- drivers/clk/mvebu/armada-xp.c | 20 +++++++++----------- drivers/clk/mvebu/dove.c | 19 +++++++++---------- drivers/clk/mvebu/kirkwood.c | 34 ++++++++++++++++------------------ 4 files changed, 44 insertions(+), 50 deletions(-)Whole series applied to mvebu/clk-fixes.
Are we still in time to consider Emilio's oneline proposal? (Emilio: would you mind preparing a suitable patch against dove, kirkwood, armada370/xp, so we can see the real thing?). Sebastian fix works perfect, and it easy to understand. However, it has quite a large diffstat. When compared to Emilio's oneline proposal, it seems to me it would be preferable, unless it's broken. Workaround or not, the fact is this code will be in v3.14, so maybe we can spend some time considering a cleaner option. Or is this just rubbish? -- Ezequiel Garc?a, Free Electrons Embedded Linux, Kernel and Android Engineering http://free-electrons.com