__clk_set_parent_after() actually used the second argument then we could put this duplicate logic in there and call it with a different order of arguments in the success vs. error paths in this function.
Cc: Mike Turquette <mturque...@linaro.org> Cc: Stephen Boyd <sb...@codeaurora.org> Suggested-by: Stephen Boyd <sb...@codeaurora.org> Signed-off-by: Dong Aisheng <aisheng.d...@freescale.com> --- drivers/clk/clk.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c index 7bb9757..4c7f7b2 100644 --- a/drivers/clk/clk.c +++ b/drivers/clk/clk.c @@ -1185,14 +1185,8 @@ static int __clk_set_parent(struct clk_core *core, struct clk_core *parent, flags = clk_enable_lock(); clk_reparent(core, old_parent); clk_enable_unlock(flags); + __clk_set_parent_after(core, old_parent, parent); - if (core->prepare_count) { - flags = clk_enable_lock(); - clk_core_disable(core); - clk_core_disable(parent); - clk_enable_unlock(flags); - clk_core_unprepare(parent); - } return ret; } -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/