Lines Matching refs:busy
44 struct clk_busy_divider *busy = to_clk_busy_divider(hw); in clk_busy_divider_recalc_rate() local
46 return busy->div_ops->recalc_rate(&busy->div.hw, parent_rate); in clk_busy_divider_recalc_rate()
52 struct clk_busy_divider *busy = to_clk_busy_divider(hw); in clk_busy_divider_round_rate() local
54 return busy->div_ops->round_rate(&busy->div.hw, rate, prate); in clk_busy_divider_round_rate()
60 struct clk_busy_divider *busy = to_clk_busy_divider(hw); in clk_busy_divider_set_rate() local
63 ret = busy->div_ops->set_rate(&busy->div.hw, rate, parent_rate); in clk_busy_divider_set_rate()
65 ret = clk_busy_wait(busy->reg, busy->shift); in clk_busy_divider_set_rate()
80 struct clk_busy_divider *busy; in imx_clk_hw_busy_divider() local
85 busy = kzalloc(sizeof(*busy), GFP_KERNEL); in imx_clk_hw_busy_divider()
86 if (!busy) in imx_clk_hw_busy_divider()
89 busy->reg = busy_reg; in imx_clk_hw_busy_divider()
90 busy->shift = busy_shift; in imx_clk_hw_busy_divider()
92 busy->div.reg = reg; in imx_clk_hw_busy_divider()
93 busy->div.shift = shift; in imx_clk_hw_busy_divider()
94 busy->div.width = width; in imx_clk_hw_busy_divider()
95 busy->div.lock = &imx_ccm_lock; in imx_clk_hw_busy_divider()
96 busy->div_ops = &clk_divider_ops; in imx_clk_hw_busy_divider()
104 busy->div.hw.init = &init; in imx_clk_hw_busy_divider()
106 hw = &busy->div.hw; in imx_clk_hw_busy_divider()
110 kfree(busy); in imx_clk_hw_busy_divider()
133 struct clk_busy_mux *busy = to_clk_busy_mux(hw); in clk_busy_mux_get_parent() local
135 return busy->mux_ops->get_parent(&busy->mux.hw); in clk_busy_mux_get_parent()
140 struct clk_busy_mux *busy = to_clk_busy_mux(hw); in clk_busy_mux_set_parent() local
143 ret = busy->mux_ops->set_parent(&busy->mux.hw, index); in clk_busy_mux_set_parent()
145 ret = clk_busy_wait(busy->reg, busy->shift); in clk_busy_mux_set_parent()
159 struct clk_busy_mux *busy; in imx_clk_hw_busy_mux() local
164 busy = kzalloc(sizeof(*busy), GFP_KERNEL); in imx_clk_hw_busy_mux()
165 if (!busy) in imx_clk_hw_busy_mux()
168 busy->reg = busy_reg; in imx_clk_hw_busy_mux()
169 busy->shift = busy_shift; in imx_clk_hw_busy_mux()
171 busy->mux.reg = reg; in imx_clk_hw_busy_mux()
172 busy->mux.shift = shift; in imx_clk_hw_busy_mux()
173 busy->mux.mask = BIT(width) - 1; in imx_clk_hw_busy_mux()
174 busy->mux.lock = &imx_ccm_lock; in imx_clk_hw_busy_mux()
175 busy->mux_ops = &clk_mux_ops; in imx_clk_hw_busy_mux()
183 busy->mux.hw.init = &init; in imx_clk_hw_busy_mux()
185 hw = &busy->mux.hw; in imx_clk_hw_busy_mux()
189 kfree(busy); in imx_clk_hw_busy_mux()