Lines Matching refs:ctrl
199 static struct clk_gating_ctrl *ctrl; variable
209 for (n = 0; n < ctrl->num_gates; n++) { in clk_gating_get_src()
211 to_clk_gate(__clk_get_hw(ctrl->gates[n])); in clk_gating_get_src()
213 return ctrl->gates[n]; in clk_gating_get_src()
220 ctrl->saved_reg = readl(ctrl->base); in mvebu_clk_gating_suspend()
226 writel(ctrl->saved_reg, ctrl->base); in mvebu_clk_gating_resume()
242 if (ctrl) { in mvebu_clk_gating_setup()
257 ctrl = kzalloc(sizeof(*ctrl), GFP_KERNEL); in mvebu_clk_gating_setup()
258 if (WARN_ON(!ctrl)) in mvebu_clk_gating_setup()
262 ctrl->lock = &ctrl_gating_lock; in mvebu_clk_gating_setup()
264 ctrl->base = base; in mvebu_clk_gating_setup()
270 ctrl->num_gates = n; in mvebu_clk_gating_setup()
271 ctrl->gates = kcalloc(ctrl->num_gates, sizeof(*ctrl->gates), in mvebu_clk_gating_setup()
273 if (WARN_ON(!ctrl->gates)) in mvebu_clk_gating_setup()
276 for (n = 0; n < ctrl->num_gates; n++) { in mvebu_clk_gating_setup()
279 ctrl->gates[n] = clk_register_gate(NULL, desc[n].name, parent, in mvebu_clk_gating_setup()
281 0, ctrl->lock); in mvebu_clk_gating_setup()
282 WARN_ON(IS_ERR(ctrl->gates[n])); in mvebu_clk_gating_setup()
285 of_clk_add_provider(np, clk_gating_get_src, ctrl); in mvebu_clk_gating_setup()
291 kfree(ctrl); in mvebu_clk_gating_setup()