Lines Matching refs:clks
525 static int bm1880_clk_register_plls(struct bm1880_pll_hw_clock *clks, in bm1880_clk_register_plls() argument
534 struct bm1880_pll_hw_clock *bm1880_clk = &clks[i]; in bm1880_clk_register_plls()
543 data->hw_data.hws[clks[i].pll.id] = hw; in bm1880_clk_register_plls()
550 clk_hw_unregister(data->hw_data.hws[clks[i].pll.id]); in bm1880_clk_register_plls()
555 static int bm1880_clk_register_mux(const struct bm1880_mux_clock *clks, in bm1880_clk_register_mux() argument
564 hw = clk_hw_register_mux(NULL, clks[i].name, in bm1880_clk_register_mux()
565 clks[i].parents, in bm1880_clk_register_mux()
566 clks[i].num_parents, in bm1880_clk_register_mux()
567 clks[i].flags, in bm1880_clk_register_mux()
568 sys_base + clks[i].reg, in bm1880_clk_register_mux()
569 clks[i].shift, 1, 0, in bm1880_clk_register_mux()
573 __func__, clks[i].name); in bm1880_clk_register_mux()
577 data->hw_data.hws[clks[i].id] = hw; in bm1880_clk_register_mux()
584 clk_hw_unregister_mux(data->hw_data.hws[clks[i].id]); in bm1880_clk_register_mux()
690 static int bm1880_clk_register_divs(struct bm1880_div_hw_clock *clks, in bm1880_clk_register_divs() argument
699 struct bm1880_div_hw_clock *bm1880_clk = &clks[i]; in bm1880_clk_register_divs()
708 id = clks[i].div.id; in bm1880_clk_register_divs()
716 clk_hw_unregister(data->hw_data.hws[clks[i].div.id]); in bm1880_clk_register_divs()
721 static int bm1880_clk_register_gate(const struct bm1880_gate_clock *clks, in bm1880_clk_register_gate() argument
730 hw = clk_hw_register_gate(NULL, clks[i].name, in bm1880_clk_register_gate()
731 clks[i].parent, in bm1880_clk_register_gate()
732 clks[i].flags, in bm1880_clk_register_gate()
733 sys_base + clks[i].gate_reg, in bm1880_clk_register_gate()
734 clks[i].gate_shift, 0, in bm1880_clk_register_gate()
738 __func__, clks[i].name); in bm1880_clk_register_gate()
742 data->hw_data.hws[clks[i].id] = hw; in bm1880_clk_register_gate()
749 clk_hw_unregister_gate(data->hw_data.hws[clks[i].id]); in bm1880_clk_register_gate()
754 static struct clk_hw *bm1880_clk_register_composite(struct bm1880_composite_clock *clks, in bm1880_clk_register_composite() argument
768 if (clks->mux_shift >= 0) { in bm1880_clk_register_composite()
773 mux->reg = sys_base + clks->mux_reg; in bm1880_clk_register_composite()
775 mux->shift = clks->mux_shift; in bm1880_clk_register_composite()
780 parent_names = clks->parents; in bm1880_clk_register_composite()
781 num_parents = clks->num_parents; in bm1880_clk_register_composite()
783 parent = clks->parent; in bm1880_clk_register_composite()
788 if (clks->gate_shift >= 0) { in bm1880_clk_register_composite()
795 gate->reg = sys_base + clks->gate_reg; in bm1880_clk_register_composite()
796 gate->bit_idx = clks->gate_shift; in bm1880_clk_register_composite()
803 if (clks->div_shift >= 0) { in bm1880_clk_register_composite()
811 div_hws->div.reg = clks->div_reg; in bm1880_clk_register_composite()
812 div_hws->div.shift = clks->div_shift; in bm1880_clk_register_composite()
813 div_hws->div.width = clks->div_width; in bm1880_clk_register_composite()
814 div_hws->div.table = clks->table; in bm1880_clk_register_composite()
815 div_hws->div.initval = clks->div_initval; in bm1880_clk_register_composite()
824 hw = clk_hw_register_composite(NULL, clks->name, parent_names, in bm1880_clk_register_composite()
827 clks->flags); in bm1880_clk_register_composite()
844 static int bm1880_clk_register_composites(struct bm1880_composite_clock *clks, in bm1880_clk_register_composites() argument
853 struct bm1880_composite_clock *bm1880_clk = &clks[i]; in bm1880_clk_register_composites()
862 data->hw_data.hws[clks[i].id] = hw; in bm1880_clk_register_composites()
869 clk_hw_unregister_composite(data->hw_data.hws[clks[i].id]); in bm1880_clk_register_composites()