Lines Matching full:busy
43 struct clk_busy_divider *busy = to_clk_busy_divider(hw); in clk_busy_divider_recalc_rate() local
45 return busy->div_ops->recalc_rate(&busy->div.hw, parent_rate); in clk_busy_divider_recalc_rate()
51 struct clk_busy_divider *busy = to_clk_busy_divider(hw); in clk_busy_divider_round_rate() local
53 return busy->div_ops->round_rate(&busy->div.hw, rate, prate); in clk_busy_divider_round_rate()
59 struct clk_busy_divider *busy = to_clk_busy_divider(hw); in clk_busy_divider_set_rate() local
62 ret = busy->div_ops->set_rate(&busy->div.hw, rate, parent_rate); in clk_busy_divider_set_rate()
64 ret = clk_busy_wait(busy->reg, busy->shift); in clk_busy_divider_set_rate()
79 struct clk_busy_divider *busy; in imx_clk_hw_busy_divider() local
84 busy = kzalloc(sizeof(*busy), GFP_KERNEL); in imx_clk_hw_busy_divider()
85 if (!busy) in imx_clk_hw_busy_divider()
88 busy->reg = busy_reg; in imx_clk_hw_busy_divider()
89 busy->shift = busy_shift; in imx_clk_hw_busy_divider()
91 busy->div.reg = reg; in imx_clk_hw_busy_divider()
92 busy->div.shift = shift; in imx_clk_hw_busy_divider()
93 busy->div.width = width; in imx_clk_hw_busy_divider()
94 busy->div.lock = &imx_ccm_lock; in imx_clk_hw_busy_divider()
95 busy->div_ops = &clk_divider_ops; in imx_clk_hw_busy_divider()
103 busy->div.hw.init = &init; in imx_clk_hw_busy_divider()
105 hw = &busy->div.hw; in imx_clk_hw_busy_divider()
109 kfree(busy); in imx_clk_hw_busy_divider()
132 struct clk_busy_mux *busy = to_clk_busy_mux(hw); in clk_busy_mux_get_parent() local
134 return busy->mux_ops->get_parent(&busy->mux.hw); in clk_busy_mux_get_parent()
139 struct clk_busy_mux *busy = to_clk_busy_mux(hw); in clk_busy_mux_set_parent() local
142 ret = busy->mux_ops->set_parent(&busy->mux.hw, index); in clk_busy_mux_set_parent()
144 ret = clk_busy_wait(busy->reg, busy->shift); in clk_busy_mux_set_parent()
158 struct clk_busy_mux *busy; in imx_clk_hw_busy_mux() local
163 busy = kzalloc(sizeof(*busy), GFP_KERNEL); in imx_clk_hw_busy_mux()
164 if (!busy) in imx_clk_hw_busy_mux()
167 busy->reg = busy_reg; in imx_clk_hw_busy_mux()
168 busy->shift = busy_shift; in imx_clk_hw_busy_mux()
170 busy->mux.reg = reg; in imx_clk_hw_busy_mux()
171 busy->mux.shift = shift; in imx_clk_hw_busy_mux()
172 busy->mux.mask = BIT(width) - 1; in imx_clk_hw_busy_mux()
173 busy->mux.lock = &imx_ccm_lock; in imx_clk_hw_busy_mux()
174 busy->mux_ops = &clk_mux_ops; in imx_clk_hw_busy_mux()
182 busy->mux.hw.init = &init; in imx_clk_hw_busy_mux()
184 hw = &busy->mux.hw; in imx_clk_hw_busy_mux()
188 kfree(busy); in imx_clk_hw_busy_mux()