clk: si570: 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: Guenter Roeck <linux@roeck-us.net> Cc: Sören Brinkmann <soren.brinkmann@xilinx.com> Signed-off-by: Stephen Boyd <stephen.boyd@linaro.org> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
This commit is contained in:
parent
4d89c3d54e
commit
a340dae9de
1 changed files with 6 additions and 7 deletions
|
@ -408,7 +408,6 @@ static int si570_probe(struct i2c_client *client,
|
|||
{
|
||||
struct clk_si570 *data;
|
||||
struct clk_init_data init;
|
||||
struct clk *clk;
|
||||
u32 initial_fout, factory_fout, stability;
|
||||
int err;
|
||||
enum clk_si570_variant variant = id->driver_data;
|
||||
|
@ -462,13 +461,13 @@ static int si570_probe(struct i2c_client *client,
|
|||
if (err)
|
||||
return err;
|
||||
|
||||
clk = devm_clk_register(&client->dev, &data->hw);
|
||||
if (IS_ERR(clk)) {
|
||||
err = devm_clk_hw_register(&client->dev, &data->hw);
|
||||
if (err) {
|
||||
dev_err(&client->dev, "clock registration failed\n");
|
||||
return PTR_ERR(clk);
|
||||
return err;
|
||||
}
|
||||
err = of_clk_add_provider(client->dev.of_node, of_clk_src_simple_get,
|
||||
clk);
|
||||
err = of_clk_add_hw_provider(client->dev.of_node, of_clk_hw_simple_get,
|
||||
&data->hw);
|
||||
if (err) {
|
||||
dev_err(&client->dev, "unable to add clk provider\n");
|
||||
return err;
|
||||
|
@ -477,7 +476,7 @@ static int si570_probe(struct i2c_client *client,
|
|||
/* Read the requested initial output frequency from device tree */
|
||||
if (!of_property_read_u32(client->dev.of_node, "clock-frequency",
|
||||
&initial_fout)) {
|
||||
err = clk_set_rate(clk, initial_fout);
|
||||
err = clk_set_rate(data->hw.clk, initial_fout);
|
||||
if (err) {
|
||||
of_clk_del_provider(client->dev.of_node);
|
||||
return err;
|
||||
|
|
Loading…
Reference in a new issue