Commit 2ceb3c7a authored by Stephen Boyd's avatar Stephen Boyd Committed by Stephen Boyd

clk: cs2000: Migrate to clk_hw based OF and registration APIs

Now that we have clk_hw based provider APIs to register clks, we
can get rid of struct clk pointers while registering clks in
these drivers, allowing us to move closer to a clear split of
consumer and provider clk APIs.

Cc: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: default avatarStephen Boyd <stephen.boyd@linaro.org>
Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
parent f48d947a
...@@ -59,7 +59,6 @@ struct cs2000_priv { ...@@ -59,7 +59,6 @@ struct cs2000_priv {
struct i2c_client *client; struct i2c_client *client;
struct clk *clk_in; struct clk *clk_in;
struct clk *ref_clk; struct clk *ref_clk;
struct clk *clk_out;
}; };
static const struct of_device_id cs2000_of_match[] = { static const struct of_device_id cs2000_of_match[] = {
...@@ -371,7 +370,6 @@ static int cs2000_clk_register(struct cs2000_priv *priv) ...@@ -371,7 +370,6 @@ static int cs2000_clk_register(struct cs2000_priv *priv)
struct device_node *np = dev->of_node; struct device_node *np = dev->of_node;
struct clk_init_data init; struct clk_init_data init;
const char *name = np->name; const char *name = np->name;
struct clk *clk;
static const char *parent_names[CLK_MAX]; static const char *parent_names[CLK_MAX];
int ch = 0; /* it uses ch0 only at this point */ int ch = 0; /* it uses ch0 only at this point */
int rate; int rate;
...@@ -400,18 +398,16 @@ static int cs2000_clk_register(struct cs2000_priv *priv) ...@@ -400,18 +398,16 @@ static int cs2000_clk_register(struct cs2000_priv *priv)
priv->hw.init = &init; priv->hw.init = &init;
clk = clk_register(dev, &priv->hw); ret = clk_hw_register(dev, &priv->hw);
if (IS_ERR(clk)) if (ret)
return PTR_ERR(clk); return ret;
ret = of_clk_add_provider(np, of_clk_src_simple_get, clk); ret = of_clk_add_hw_provider(np, of_clk_hw_simple_get, &priv->hw);
if (ret < 0) { if (ret < 0) {
clk_unregister(clk); clk_hw_unregister(&priv->hw);
return ret; return ret;
} }
priv->clk_out = clk;
return 0; return 0;
} }
...@@ -454,7 +450,7 @@ static int cs2000_remove(struct i2c_client *client) ...@@ -454,7 +450,7 @@ static int cs2000_remove(struct i2c_client *client)
of_clk_del_provider(np); of_clk_del_provider(np);
clk_unregister(priv->clk_out); clk_hw_unregister(&priv->hw);
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment