]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commit - include/linux/clk-provider.h
clk: Add {devm_}clk_hw_{register,unregister}() APIs
authorStephen Boyd <sboyd@codeaurora.org>
Sat, 6 Feb 2016 01:02:52 +0000 (17:02 -0800)
committerStephen Boyd <sboyd@codeaurora.org>
Tue, 19 Apr 2016 23:51:58 +0000 (16:51 -0700)
commit4143804c4fdef40358c654d1fb2271a1a0f1fedf
tree8e12e7e18b46dc81af91fb4092f61b3bde726f02
parenta14b9e0512404ed7d4415b888dc9f1f9785a4fa3
clk: Add {devm_}clk_hw_{register,unregister}() APIs

We've largely split the clk consumer and provider APIs along
struct clk and struct clk_hw, but clk_register() still returns a
struct clk pointer for each struct clk_hw that's registered.
Eventually we'd like to only allocate struct clks when there's a
user, because struct clk is per-user now, so clk_register() needs
to change.

Let's add new APIs to register struct clk_hws, but this time
we'll hide the struct clk from the caller by returning an int
error code. Also add an unregistration API that takes the clk_hw
structure that was passed to the registration API. This way
provider drivers never have to deal with a struct clk pointer
unless they're using the clk consumer APIs.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Documentation/driver-model/devres.txt
drivers/clk/clk.c
include/linux/clk-provider.h