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

clk: palmas: 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: Peter Ujfalusi <peter.ujfalusi@ti.com>
Cc: Nishanth Menon <nm@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
c742e365 416886ad

+4 -8
+4 -8
drivers/clk/clk-palmas.c
··· 41 41 42 42 struct palmas_clock_info { 43 43 struct device *dev; 44 - struct clk *clk; 45 44 struct clk_hw hw; 46 45 struct palmas *palmas; 47 46 const struct palmas_clk32k_desc *clk_desc; ··· 217 218 } 218 219 219 220 if (cinfo->ext_control_pin) { 220 - ret = clk_prepare(cinfo->clk); 221 + ret = clk_prepare(cinfo->hw.clk); 221 222 if (ret < 0) { 222 223 dev_err(cinfo->dev, "Clock prep failed, %d\n", ret); 223 224 return ret; ··· 241 242 struct device_node *node = pdev->dev.of_node; 242 243 const struct palmas_clks_of_match_data *match_data; 243 244 struct palmas_clock_info *cinfo; 244 - struct clk *clk; 245 245 int ret; 246 246 247 247 match_data = of_device_get_match_data(&pdev->dev); ··· 259 261 260 262 cinfo->clk_desc = &match_data->desc; 261 263 cinfo->hw.init = &match_data->init; 262 - clk = devm_clk_register(&pdev->dev, &cinfo->hw); 263 - if (IS_ERR(clk)) { 264 - ret = PTR_ERR(clk); 264 + ret = devm_clk_hw_register(&pdev->dev, &cinfo->hw); 265 + if (ret) { 265 266 dev_err(&pdev->dev, "Fail to register clock %s, %d\n", 266 267 match_data->desc.clk_name, ret); 267 268 return ret; 268 269 } 269 270 270 - cinfo->clk = clk; 271 271 ret = palmas_clks_init_configure(cinfo); 272 272 if (ret < 0) { 273 273 dev_err(&pdev->dev, "Clock config failed, %d\n", ret); 274 274 return ret; 275 275 } 276 276 277 - ret = of_clk_add_provider(node, of_clk_src_simple_get, cinfo->clk); 277 + ret = of_clk_add_hw_provider(node, of_clk_hw_simple_get, &cinfo->hw); 278 278 if (ret < 0) 279 279 dev_err(&pdev->dev, "Fail to add clock driver, %d\n", ret); 280 280 return ret;