Lines Matching refs:clocks
3 * Ingenic XBurst SoCs SYSOST clocks driver
82 struct clk_hw_onecell_data *clocks;
271 struct clk_hw_onecell_data *clocks)
296 clocks->hws[idx] = &ost_clk->hw;
455 ost->clocks = kzalloc(struct_size(ost->clocks, hws, ost->soc_info->num_channels),
457 if (!ost->clocks) {
462 ost->clocks->num = ost->soc_info->num_channels;
464 for (i = 0; i < ost->clocks->num; i++) {
465 ret = ingenic_ost_register_clock(ost, i, &ingenic_ost_clk_info[i], ost->clocks);
472 ret = of_clk_add_hw_provider(np, of_clk_hw_onecell_get, ost->clocks);
483 for (i = 0; i < ost->clocks->num; i++)
484 if (ost->clocks->hws[i])
485 clk_hw_unregister(ost->clocks->hws[i]);
486 kfree(ost->clocks);
504 pr_crit("%s: Failed to initialize OST clocks: %d\n", __func__, ret);