Lines Matching refs:frac
142 struct rockchip_clk_frac *frac = to_rockchip_clk_frac_nb(nb); in rockchip_clk_frac_notifier_cb() local
143 struct clk_mux *frac_mux = &frac->mux; in rockchip_clk_frac_notifier_cb()
149 frac->rate_change_idx = in rockchip_clk_frac_notifier_cb()
150 frac->mux_ops->get_parent(&frac_mux->hw); in rockchip_clk_frac_notifier_cb()
151 if (frac->rate_change_idx != frac->mux_frac_idx) { in rockchip_clk_frac_notifier_cb()
152 frac->mux_ops->set_parent(&frac_mux->hw, in rockchip_clk_frac_notifier_cb()
153 frac->mux_frac_idx); in rockchip_clk_frac_notifier_cb()
154 frac->rate_change_remuxed = 1; in rockchip_clk_frac_notifier_cb()
163 if (frac->rate_change_remuxed) { in rockchip_clk_frac_notifier_cb()
164 frac->mux_ops->set_parent(&frac_mux->hw, in rockchip_clk_frac_notifier_cb()
165 frac->rate_change_idx); in rockchip_clk_frac_notifier_cb()
166 frac->rate_change_remuxed = 0; in rockchip_clk_frac_notifier_cb()
216 struct rockchip_clk_frac *frac; in rockchip_clk_register_frac_branch() local
230 frac = kzalloc(sizeof(*frac), GFP_KERNEL); in rockchip_clk_register_frac_branch()
231 if (!frac) in rockchip_clk_register_frac_branch()
235 gate = &frac->gate; in rockchip_clk_register_frac_branch()
243 div = &frac->div; in rockchip_clk_register_frac_branch()
262 kfree(frac); in rockchip_clk_register_frac_branch()
267 struct clk_mux *frac_mux = &frac->mux; in rockchip_clk_register_frac_branch()
272 frac->mux_frac_idx = match_string(child->parent_names, in rockchip_clk_register_frac_branch()
274 frac->mux_ops = &clk_mux_ops; in rockchip_clk_register_frac_branch()
275 frac->clk_nb.notifier_call = rockchip_clk_frac_notifier_cb; in rockchip_clk_register_frac_branch()
286 init.ops = frac->mux_ops; in rockchip_clk_register_frac_branch()
292 kfree(frac); in rockchip_clk_register_frac_branch()
299 if (frac->mux_frac_idx >= 0) { in rockchip_clk_register_frac_branch()
301 __func__, frac->mux_frac_idx); in rockchip_clk_register_frac_branch()
302 ret = clk_notifier_register(hw->clk, &frac->clk_nb); in rockchip_clk_register_frac_branch()