Lines Matching refs:data

244 static void plt_clk_unregister_fixed_rate_loop(struct clk_plt_data *data,
248 plt_clk_unregister_fixed_rate(data->parents[i]);
259 static void plt_clk_unregister_loop(struct clk_plt_data *data,
263 plt_clk_unregister(data->clks[i]);
267 struct clk_plt_data *data,
275 data->nparents = 0;
279 data->parents = devm_kcalloc(&pdev->dev, nparents,
280 sizeof(*data->parents), GFP_KERNEL);
281 if (!data->parents)
290 data->parents[i] =
294 if (IS_ERR(data->parents[i])) {
295 err = PTR_ERR(data->parents[i]);
301 data->nparents = nparents;
305 plt_clk_unregister_fixed_rate_loop(data, i);
310 static void plt_clk_unregister_parents(struct clk_plt_data *data)
312 plt_clk_unregister_fixed_rate_loop(data, data->nparents);
319 struct clk_plt_data *data;
327 data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL);
328 if (!data)
331 parent_names = plt_clk_register_parents(pdev, data, pmc_data->clks);
336 data->clks[i] = plt_clk_register(pdev, i, pmc_data,
337 parent_names, data->nparents);
338 if (IS_ERR(data->clks[i])) {
339 err = PTR_ERR(data->clks[i]);
343 data->mclk_lookup = clkdev_hw_create(&data->clks[3]->hw, "mclk", NULL);
344 if (!data->mclk_lookup) {
349 data->ether_clk_lookup = clkdev_hw_create(&data->clks[4]->hw,
351 if (!data->ether_clk_lookup) {
356 plt_clk_free_parent_names_loop(parent_names, data->nparents);
358 platform_set_drvdata(pdev, data);
362 clkdev_drop(data->mclk_lookup);
364 plt_clk_unregister_loop(data, i);
365 plt_clk_unregister_parents(data);
366 plt_clk_free_parent_names_loop(parent_names, data->nparents);
372 struct clk_plt_data *data;
374 data = platform_get_drvdata(pdev);
376 clkdev_drop(data->ether_clk_lookup);
377 clkdev_drop(data->mclk_lookup);
378 plt_clk_unregister_loop(data, PMC_CLK_NUM);
379 plt_clk_unregister_parents(data);