Lines Matching refs:cs

157 	struct sun5i_timer_clksrc *cs = to_sun5i_timer_clksrc(clksrc);  in sun5i_clksrc_read()  local
159 return ~readl(cs->timer.base + TIMER_CNTVAL_LO_REG(1)); in sun5i_clksrc_read()
167 struct sun5i_timer_clksrc *cs = container_of(timer, struct sun5i_timer_clksrc, timer); in sun5i_rate_cb_clksrc() local
171 clocksource_unregister(&cs->clksrc); in sun5i_rate_cb_clksrc()
175 clocksource_register_hz(&cs->clksrc, ndata->new_rate); in sun5i_rate_cb_clksrc()
189 struct sun5i_timer_clksrc *cs; in sun5i_setup_clocksource() local
193 cs = kzalloc(sizeof(*cs), GFP_KERNEL); in sun5i_setup_clocksource()
194 if (!cs) in sun5i_setup_clocksource()
205 cs->timer.base = base; in sun5i_setup_clocksource()
206 cs->timer.clk = clk; in sun5i_setup_clocksource()
207 cs->timer.clk_rate_cb.notifier_call = sun5i_rate_cb_clksrc; in sun5i_setup_clocksource()
208 cs->timer.clk_rate_cb.next = NULL; in sun5i_setup_clocksource()
210 ret = clk_notifier_register(clk, &cs->timer.clk_rate_cb); in sun5i_setup_clocksource()
220 cs->clksrc.name = node->name; in sun5i_setup_clocksource()
221 cs->clksrc.rating = 340; in sun5i_setup_clocksource()
222 cs->clksrc.read = sun5i_clksrc_read; in sun5i_setup_clocksource()
223 cs->clksrc.mask = CLOCKSOURCE_MASK(32); in sun5i_setup_clocksource()
224 cs->clksrc.flags = CLOCK_SOURCE_IS_CONTINUOUS; in sun5i_setup_clocksource()
226 ret = clocksource_register_hz(&cs->clksrc, rate); in sun5i_setup_clocksource()
235 clk_notifier_unregister(clk, &cs->timer.clk_rate_cb); in sun5i_setup_clocksource()
239 kfree(cs); in sun5i_setup_clocksource()