PM / clk: Do not __clk_get passed in clock-references
authorStephen Boyd <sboyd@codeaurora.org>
Thu, 1 Oct 2015 19:05:09 +0000 (21:05 +0200)
committerHeiko Stuebner <heiko@sntech.de>
Tue, 6 Oct 2015 07:46:24 +0000 (09:46 +0200)
commit772b05086d7ade59e997c4f5f2cca6af16f5096d
tree6b963e5c6ca8d3e11d634a8917e19198d358e8ba
parent6ff33f3902c3b1c5d0db6b1e2c70b6d76fba357f
PM / clk: Do not __clk_get passed in clock-references

Clock references are on a per-user basis now, so they are not supposed
to be refcounted by itself anymore. Therefore multiple cascaded get and
put calls will fail.

When a clock reference gets passed into pm_clk_add_clk we can assume
that the pm clock handling will take control of the clock reference,
so after this functions returns the caller should've given up control
of that handle.

So remove the additional call to __clk_get() in __pm_clk_add().

The only current user of pm_clk_add_clk is drivers/clk/shmobile/clk-mstp.c
which already follows this paradigm by only getting the clock but not
puting it after passing the reference into pm_clk_add_clk.

In the error case the caller is expected to clean up the clock, as it
may very well try to do something different if pm_clk_add_clk() fails.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
[add commit-message]
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/base/power/clock_ops.c