Lines Matching refs:cs

153 	struct sun5i_timer_clksrc *cs = to_sun5i_timer_clksrc(clksrc);  in sun5i_clksrc_read()  local
155 return ~readl(cs->timer.base + TIMER_CNTVAL_LO_REG(1)); in sun5i_clksrc_read()
163 struct sun5i_timer_clksrc *cs = container_of(timer, struct sun5i_timer_clksrc, timer); in sun5i_rate_cb_clksrc() local
167 clocksource_unregister(&cs->clksrc); in sun5i_rate_cb_clksrc()
171 clocksource_register_hz(&cs->clksrc, ndata->new_rate); in sun5i_rate_cb_clksrc()
185 struct sun5i_timer_clksrc *cs; in sun5i_setup_clocksource() local
189 cs = kzalloc(sizeof(*cs), GFP_KERNEL); in sun5i_setup_clocksource()
190 if (!cs) in sun5i_setup_clocksource()
201 cs->timer.base = base; in sun5i_setup_clocksource()
202 cs->timer.clk = clk; in sun5i_setup_clocksource()
203 cs->timer.clk_rate_cb.notifier_call = sun5i_rate_cb_clksrc; in sun5i_setup_clocksource()
204 cs->timer.clk_rate_cb.next = NULL; in sun5i_setup_clocksource()
206 ret = clk_notifier_register(clk, &cs->timer.clk_rate_cb); in sun5i_setup_clocksource()
216 cs->clksrc.name = node->name; in sun5i_setup_clocksource()
217 cs->clksrc.rating = 340; in sun5i_setup_clocksource()
218 cs->clksrc.read = sun5i_clksrc_read; in sun5i_setup_clocksource()
219 cs->clksrc.mask = CLOCKSOURCE_MASK(32); in sun5i_setup_clocksource()
220 cs->clksrc.flags = CLOCK_SOURCE_IS_CONTINUOUS; in sun5i_setup_clocksource()
222 ret = clocksource_register_hz(&cs->clksrc, rate); in sun5i_setup_clocksource()
231 clk_notifier_unregister(clk, &cs->timer.clk_rate_cb); in sun5i_setup_clocksource()
235 kfree(cs); in sun5i_setup_clocksource()