Lines Matching refs:timer

47 int cs5535_mfgpt_toggle_event(struct cs5535_mfgpt_timer *timer, int cmp,  in cs5535_mfgpt_toggle_event()  argument
53 if (!timer) { in cs5535_mfgpt_toggle_event()
70 mask = 1 << (timer->nr + 24); in cs5535_mfgpt_toggle_event()
75 mask = 1 << (timer->nr + shift); in cs5535_mfgpt_toggle_event()
80 mask = 1 << (timer->nr + shift); in cs5535_mfgpt_toggle_event()
99 int cs5535_mfgpt_set_irq(struct cs5535_mfgpt_timer *timer, int cmp, int *irq, in cs5535_mfgpt_set_irq() argument
105 if (!timer) { in cs5535_mfgpt_set_irq()
119 shift = ((cmp == MFGPT_CMP1 ? 0 : 4) + timer->nr % 4) * 4; in cs5535_mfgpt_set_irq()
137 if (cs5535_mfgpt_toggle_event(timer, cmp, MFGPT_EVENT_IRQ, enable)) in cs5535_mfgpt_set_irq()
151 struct cs5535_mfgpt_timer *timer = NULL; in cs5535_mfgpt_alloc_timer() local
192 timer = kmalloc(sizeof(*timer), GFP_KERNEL); in cs5535_mfgpt_alloc_timer()
193 if (!timer) { in cs5535_mfgpt_alloc_timer()
200 timer->chip = mfgpt; in cs5535_mfgpt_alloc_timer()
201 timer->nr = timer_nr; in cs5535_mfgpt_alloc_timer()
205 return timer; in cs5535_mfgpt_alloc_timer()
214 void cs5535_mfgpt_free_timer(struct cs5535_mfgpt_timer *timer) in cs5535_mfgpt_free_timer() argument
220 val = cs5535_mfgpt_read(timer, MFGPT_REG_SETUP); in cs5535_mfgpt_free_timer()
222 spin_lock_irqsave(&timer->chip->lock, flags); in cs5535_mfgpt_free_timer()
223 __set_bit(timer->nr, timer->chip->avail); in cs5535_mfgpt_free_timer()
224 spin_unlock_irqrestore(&timer->chip->lock, flags); in cs5535_mfgpt_free_timer()
227 kfree(timer); in cs5535_mfgpt_free_timer()
231 uint16_t cs5535_mfgpt_read(struct cs5535_mfgpt_timer *timer, uint16_t reg) in cs5535_mfgpt_read() argument
233 return inw(timer->chip->base + reg + (timer->nr * 8)); in cs5535_mfgpt_read()
237 void cs5535_mfgpt_write(struct cs5535_mfgpt_timer *timer, uint16_t reg, in cs5535_mfgpt_write() argument
240 outw(value, timer->chip->base + reg + (timer->nr * 8)); in cs5535_mfgpt_write()
292 struct cs5535_mfgpt_timer timer = { .chip = mfgpt }; in scan_timers() local
307 timer.nr = i; in scan_timers()
308 val = cs5535_mfgpt_read(&timer, MFGPT_REG_SETUP); in scan_timers()