Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Stephen Boyd and committed by
Stephen Boyd
a340dae9 4d89c3d5

+6 -7
+6 -7
drivers/clk/clk-si570.c
··· 408 408 { 409 409 struct clk_si570 *data; 410 410 struct clk_init_data init; 411 - struct clk *clk; 412 411 u32 initial_fout, factory_fout, stability; 413 412 int err; 414 413 enum clk_si570_variant variant = id->driver_data; ··· 461 462 if (err) 462 463 return err; 463 464 464 - clk = devm_clk_register(&client->dev, &data->hw); 465 - if (IS_ERR(clk)) { 465 + err = devm_clk_hw_register(&client->dev, &data->hw); 466 + if (err) { 466 467 dev_err(&client->dev, "clock registration failed\n"); 467 - return PTR_ERR(clk); 468 + return err; 468 469 } 469 - err = of_clk_add_provider(client->dev.of_node, of_clk_src_simple_get, 470 - clk); 470 + err = of_clk_add_hw_provider(client->dev.of_node, of_clk_hw_simple_get, 471 + &data->hw); 471 472 if (err) { 472 473 dev_err(&client->dev, "unable to add clk provider\n"); 473 474 return err; ··· 476 477 /* Read the requested initial output frequency from device tree */ 477 478 if (!of_property_read_u32(client->dev.of_node, "clock-frequency", 478 479 &initial_fout)) { 479 - err = clk_set_rate(clk, initial_fout); 480 + err = clk_set_rate(data->hw.clk, initial_fout); 480 481 if (err) { 481 482 of_clk_del_provider(client->dev.of_node); 482 483 return err;