Lines Matching refs:s2mps11_clks
123 struct s2mps11_clk *s2mps11_clks;
129 s2mps11_clks = devm_kcalloc(&pdev->dev, S2MPS11_CLKS_NUM,
130 sizeof(*s2mps11_clks), GFP_KERNEL);
131 if (!s2mps11_clks)
158 /* Store clocks of_node in first element of s2mps11_clks array */
159 s2mps11_clks->clk_np = s2mps11_clk_parse_dt(pdev, s2mps11_clks_init);
160 if (IS_ERR(s2mps11_clks->clk_np))
161 return PTR_ERR(s2mps11_clks->clk_np);
166 s2mps11_clks[i].iodev = iodev;
167 s2mps11_clks[i].hw.init = &s2mps11_clks_init[i];
168 s2mps11_clks[i].mask = 1 << i;
169 s2mps11_clks[i].reg = s2mps11_reg;
171 s2mps11_clks[i].clk = devm_clk_register(&pdev->dev,
172 &s2mps11_clks[i].hw);
173 if (IS_ERR(s2mps11_clks[i].clk)) {
176 ret = PTR_ERR(s2mps11_clks[i].clk);
180 s2mps11_clks[i].lookup = clkdev_hw_create(&s2mps11_clks[i].hw,
182 if (!s2mps11_clks[i].lookup) {
186 clk_data->hws[i] = &s2mps11_clks[i].hw;
190 of_clk_add_hw_provider(s2mps11_clks->clk_np, of_clk_hw_onecell_get,
193 platform_set_drvdata(pdev, s2mps11_clks);
198 of_node_put(s2mps11_clks[0].clk_np);
200 clkdev_drop(s2mps11_clks[i].lookup);
207 struct s2mps11_clk *s2mps11_clks = platform_get_drvdata(pdev);
210 of_clk_del_provider(s2mps11_clks[0].clk_np);
212 of_node_put(s2mps11_clks[0].clk_np);
216 if (!s2mps11_clks[i].lookup)
218 clkdev_drop(s2mps11_clks[i].lookup);