Lines Matching refs:pclk
154 struct clk_plt *pclk;
158 pclk = devm_kzalloc(&pdev->dev, sizeof(*pclk), GFP_KERNEL);
159 if (!pclk)
168 pclk->hw.init = &init;
169 pclk->reg = pmc_data->base + PMC_CLK_CTL_OFFSET + id * PMC_CLK_CTL_SIZE;
170 spin_lock_init(&pclk->lock);
177 if (pmc_data->critical && plt_clk_is_enabled(&pclk->hw))
180 ret = devm_clk_hw_register(&pdev->dev, &pclk->hw);
182 pclk = ERR_PTR(ret);
186 pclk->lookup = clkdev_hw_create(&pclk->hw, init.name, NULL);
187 if (!pclk->lookup) {
188 pclk = ERR_PTR(-ENOMEM);
194 return pclk;
197 static void plt_clk_unregister(struct clk_plt *pclk)
199 clkdev_drop(pclk->lookup);
207 struct clk_plt_fixed *pclk;
209 pclk = devm_kzalloc(&pdev->dev, sizeof(*pclk), GFP_KERNEL);
210 if (!pclk)
213 pclk->clk = clk_hw_register_fixed_rate(&pdev->dev, name, parent_name,
215 if (IS_ERR(pclk->clk))
216 return ERR_CAST(pclk->clk);
218 pclk->lookup = clkdev_hw_create(pclk->clk, name, NULL);
219 if (!pclk->lookup) {
220 clk_hw_unregister_fixed_rate(pclk->clk);
224 return pclk;
227 static void plt_clk_unregister_fixed_rate(struct clk_plt_fixed *pclk)
229 clkdev_drop(pclk->lookup);
230 clk_hw_unregister_fixed_rate(pclk->clk);