Lines Matching refs:timer

44 int cs5535_mfgpt_toggle_event(struct cs5535_mfgpt_timer *timer, int cmp,  in cs5535_mfgpt_toggle_event()  argument
50 if (!timer) { in cs5535_mfgpt_toggle_event()
67 mask = 1 << (timer->nr + 24); in cs5535_mfgpt_toggle_event()
72 mask = 1 << (timer->nr + shift); in cs5535_mfgpt_toggle_event()
77 mask = 1 << (timer->nr + shift); in cs5535_mfgpt_toggle_event()
96 int cs5535_mfgpt_set_irq(struct cs5535_mfgpt_timer *timer, int cmp, int *irq, in cs5535_mfgpt_set_irq() argument
102 if (!timer) { in cs5535_mfgpt_set_irq()
116 shift = ((cmp == MFGPT_CMP1 ? 0 : 4) + timer->nr % 4) * 4; in cs5535_mfgpt_set_irq()
134 if (cs5535_mfgpt_toggle_event(timer, cmp, MFGPT_EVENT_IRQ, enable)) in cs5535_mfgpt_set_irq()
148 struct cs5535_mfgpt_timer *timer = NULL; in cs5535_mfgpt_alloc_timer() local
189 timer = kmalloc(sizeof(*timer), GFP_KERNEL); in cs5535_mfgpt_alloc_timer()
190 if (!timer) { in cs5535_mfgpt_alloc_timer()
197 timer->chip = mfgpt; in cs5535_mfgpt_alloc_timer()
198 timer->nr = timer_nr; in cs5535_mfgpt_alloc_timer()
202 return timer; in cs5535_mfgpt_alloc_timer()
211 void cs5535_mfgpt_free_timer(struct cs5535_mfgpt_timer *timer) in cs5535_mfgpt_free_timer() argument
217 val = cs5535_mfgpt_read(timer, MFGPT_REG_SETUP); in cs5535_mfgpt_free_timer()
219 spin_lock_irqsave(&timer->chip->lock, flags); in cs5535_mfgpt_free_timer()
220 __set_bit(timer->nr, timer->chip->avail); in cs5535_mfgpt_free_timer()
221 spin_unlock_irqrestore(&timer->chip->lock, flags); in cs5535_mfgpt_free_timer()
224 kfree(timer); in cs5535_mfgpt_free_timer()
228 uint16_t cs5535_mfgpt_read(struct cs5535_mfgpt_timer *timer, uint16_t reg) in cs5535_mfgpt_read() argument
230 return inw(timer->chip->base + reg + (timer->nr * 8)); in cs5535_mfgpt_read()
234 void cs5535_mfgpt_write(struct cs5535_mfgpt_timer *timer, uint16_t reg, in cs5535_mfgpt_write() argument
237 outw(value, timer->chip->base + reg + (timer->nr * 8)); in cs5535_mfgpt_write()
289 struct cs5535_mfgpt_timer timer = { .chip = mfgpt }; in scan_timers() local
304 timer.nr = i; in scan_timers()
305 val = cs5535_mfgpt_read(&timer, MFGPT_REG_SETUP); in scan_timers()