clk: Make clk API return per-user struct clk instances
authorTomeu Vizoso <tomeu.vizoso@collabora.com>
Fri, 23 Jan 2015 11:03:30 +0000 (12:03 +0100)
committerMichael Turquette <mturquette@linaro.org>
Mon, 2 Feb 2015 22:22:19 +0000 (14:22 -0800)
commit035a61c314eb3dab5bcc5683afaf4d412689858a
tree3c325fc76191cf1319c4a3399dfdd9f777033d6d
parentaf0f349b2996f9f3d83e5aac1edf58fff727a0e0
clk: Make clk API return per-user struct clk instances

Moves clock state to struct clk_core, but takes care to change as little API as
possible.

struct clk_hw still has a pointer to a struct clk, which is the
implementation's per-user clk instance, for backwards compatibility.

The struct clk that clk_get_parent() returns isn't owned by the caller, but by
the clock implementation, so the former shouldn't call clk_put() on it.

Because some boards in mach-omap2 still register clocks statically, their clock
registration had to be updated to take into account that the clock information
is stored in struct clk_core now.

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reviewed-by: Stephen Boyd <sboyd@codeaurora.org>
Tested-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Michael Turquette <mturquette@linaro.org>
[mturquette@linaro.org: adapted clk_has_parent to struct clk_core
                        applied OMAP3+ DPLL fix from Tero & Tony]
arch/arm/mach-omap2/cclock3xxx_data.c
arch/arm/mach-omap2/clock.h
arch/arm/mach-omap2/clock_common_data.c
arch/arm/mach-omap2/dpll3xxx.c
drivers/clk/clk.c
drivers/clk/clk.h
drivers/clk/clkdev.c
include/linux/clk-private.h
include/linux/clk-provider.h