Lines Matching refs:frac
144 struct rockchip_clk_frac *frac = to_rockchip_clk_frac_nb(nb); in rockchip_clk_frac_notifier_cb() local
145 struct clk_mux *frac_mux = &frac->mux; in rockchip_clk_frac_notifier_cb()
151 frac->rate_change_idx = in rockchip_clk_frac_notifier_cb()
152 frac->mux_ops->get_parent(&frac_mux->hw); in rockchip_clk_frac_notifier_cb()
153 if (frac->rate_change_idx != frac->mux_frac_idx) { in rockchip_clk_frac_notifier_cb()
154 frac->mux_ops->set_parent(&frac_mux->hw, in rockchip_clk_frac_notifier_cb()
155 frac->mux_frac_idx); in rockchip_clk_frac_notifier_cb()
156 frac->rate_change_remuxed = 1; in rockchip_clk_frac_notifier_cb()
165 if (frac->rate_change_remuxed) { in rockchip_clk_frac_notifier_cb()
166 frac->mux_ops->set_parent(&frac_mux->hw, in rockchip_clk_frac_notifier_cb()
167 frac->rate_change_idx); in rockchip_clk_frac_notifier_cb()
168 frac->rate_change_remuxed = 0; in rockchip_clk_frac_notifier_cb()
205 struct rockchip_clk_frac *frac; in rockchip_clk_register_frac_branch() local
219 frac = kzalloc(sizeof(*frac), GFP_KERNEL); in rockchip_clk_register_frac_branch()
220 if (!frac) in rockchip_clk_register_frac_branch()
224 gate = &frac->gate; in rockchip_clk_register_frac_branch()
232 div = &frac->div; in rockchip_clk_register_frac_branch()
251 kfree(frac); in rockchip_clk_register_frac_branch()
256 struct clk_mux *frac_mux = &frac->mux; in rockchip_clk_register_frac_branch()
261 frac->mux_frac_idx = match_string(child->parent_names, in rockchip_clk_register_frac_branch()
263 frac->mux_ops = &clk_mux_ops; in rockchip_clk_register_frac_branch()
264 frac->clk_nb.notifier_call = rockchip_clk_frac_notifier_cb; in rockchip_clk_register_frac_branch()
275 init.ops = frac->mux_ops; in rockchip_clk_register_frac_branch()
281 kfree(frac); in rockchip_clk_register_frac_branch()
288 if (frac->mux_frac_idx >= 0) { in rockchip_clk_register_frac_branch()
290 __func__, frac->mux_frac_idx); in rockchip_clk_register_frac_branch()
291 ret = clk_notifier_register(hw->clk, &frac->clk_nb); in rockchip_clk_register_frac_branch()