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

clk: twl6040: Migrate to clk_hw based 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: Peter Ujfalusi <peter.ujfalusi@ti.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
f5b3715e a340dae9

+7 -6
+7 -6
drivers/clk/clk-twl6040.c
··· 30 30 struct twl6040 *twl6040; 31 31 struct device *dev; 32 32 struct clk_hw pdmclk_hw; 33 - struct clk *clk; 34 33 int enabled; 35 34 }; 36 35 ··· 92 93 { 93 94 struct twl6040 *twl6040 = dev_get_drvdata(pdev->dev.parent); 94 95 struct twl6040_pdmclk *clkdata; 96 + int ret; 95 97 96 98 clkdata = devm_kzalloc(&pdev->dev, sizeof(*clkdata), GFP_KERNEL); 97 99 if (!clkdata) ··· 102 102 clkdata->twl6040 = twl6040; 103 103 104 104 clkdata->pdmclk_hw.init = &twl6040_pdmclk_init; 105 - clkdata->clk = devm_clk_register(&pdev->dev, &clkdata->pdmclk_hw); 106 - if (IS_ERR(clkdata->clk)) 107 - return PTR_ERR(clkdata->clk); 105 + ret = devm_clk_hw_register(&pdev->dev, &clkdata->pdmclk_hw); 106 + if (ret) 107 + return ret; 108 108 109 109 platform_set_drvdata(pdev, clkdata); 110 110 111 - return of_clk_add_provider(pdev->dev.parent->of_node, 112 - of_clk_src_simple_get, clkdata->clk); 111 + return of_clk_add_hw_provider(pdev->dev.parent->of_node, 112 + of_clk_hw_simple_get, 113 + &clkdata->pdmclk_hw); 113 114 } 114 115 115 116 static struct platform_driver twl6040_pdmclk_driver = {