Lines Matching refs:pll_clk
220 struct axs10x_pll_clk *pll_clk; in axs10x_pll_clk_probe() local
224 pll_clk = devm_kzalloc(dev, sizeof(*pll_clk), GFP_KERNEL); in axs10x_pll_clk_probe()
225 if (!pll_clk) in axs10x_pll_clk_probe()
228 pll_clk->base = devm_platform_ioremap_resource(pdev, 0); in axs10x_pll_clk_probe()
229 if (IS_ERR(pll_clk->base)) in axs10x_pll_clk_probe()
230 return PTR_ERR(pll_clk->base); in axs10x_pll_clk_probe()
232 pll_clk->lock = devm_platform_ioremap_resource(pdev, 1); in axs10x_pll_clk_probe()
233 if (IS_ERR(pll_clk->lock)) in axs10x_pll_clk_probe()
234 return PTR_ERR(pll_clk->lock); in axs10x_pll_clk_probe()
241 pll_clk->hw.init = &init; in axs10x_pll_clk_probe()
242 pll_clk->dev = dev; in axs10x_pll_clk_probe()
243 pll_clk->pll_cfg = of_device_get_match_data(dev); in axs10x_pll_clk_probe()
245 if (!pll_clk->pll_cfg) { in axs10x_pll_clk_probe()
250 ret = devm_clk_hw_register(dev, &pll_clk->hw); in axs10x_pll_clk_probe()
257 &pll_clk->hw); in axs10x_pll_clk_probe()
269 struct axs10x_pll_clk *pll_clk; in of_axs10x_pll_clk_setup() local
273 pll_clk = kzalloc(sizeof(*pll_clk), GFP_KERNEL); in of_axs10x_pll_clk_setup()
274 if (!pll_clk) in of_axs10x_pll_clk_setup()
277 pll_clk->base = of_iomap(node, 0); in of_axs10x_pll_clk_setup()
278 if (!pll_clk->base) { in of_axs10x_pll_clk_setup()
283 pll_clk->lock = of_iomap(node, 1); in of_axs10x_pll_clk_setup()
284 if (!pll_clk->lock) { in of_axs10x_pll_clk_setup()
294 pll_clk->hw.init = &init; in of_axs10x_pll_clk_setup()
295 pll_clk->pll_cfg = arc_pll_cfg; in of_axs10x_pll_clk_setup()
297 ret = clk_hw_register(NULL, &pll_clk->hw); in of_axs10x_pll_clk_setup()
303 ret = of_clk_add_hw_provider(node, of_clk_hw_simple_get, &pll_clk->hw); in of_axs10x_pll_clk_setup()
312 clk_hw_unregister(&pll_clk->hw); in of_axs10x_pll_clk_setup()
314 iounmap(pll_clk->lock); in of_axs10x_pll_clk_setup()
316 iounmap(pll_clk->base); in of_axs10x_pll_clk_setup()
318 kfree(pll_clk); in of_axs10x_pll_clk_setup()