Lines Matching refs:timer
75 struct mISDNtimer *timer, *next; in mISDN_close() local
82 timer = list_first_entry(list, struct mISDNtimer, list); in mISDN_close()
84 del_timer_sync(&timer->tl); in mISDN_close()
87 list_del(&timer->list); in mISDN_close()
88 kfree(timer); in mISDN_close()
92 list_for_each_entry_safe(timer, next, &dev->expired, list) { in mISDN_close()
93 kfree(timer); in mISDN_close()
104 struct mISDNtimer *timer; in mISDN_read() local
128 timer = list_first_entry(list, struct mISDNtimer, list); in mISDN_read()
129 list_del(&timer->list); in mISDN_read()
131 if (put_user(timer->id, (int __user *)buf)) in mISDN_read()
135 kfree(timer); in mISDN_read()
165 struct mISDNtimer *timer = (void *)data; in dev_expire_timer() local
168 spin_lock_irqsave(&timer->dev->lock, flags); in dev_expire_timer()
169 if (timer->id >= 0) in dev_expire_timer()
170 list_move_tail(&timer->list, &timer->dev->expired); in dev_expire_timer()
171 spin_unlock_irqrestore(&timer->dev->lock, flags); in dev_expire_timer()
172 wake_up_interruptible(&timer->dev->wait); in dev_expire_timer()
179 struct mISDNtimer *timer; in misdn_add_timer() local
186 timer = kzalloc(sizeof(struct mISDNtimer), GFP_KERNEL); in misdn_add_timer()
187 if (!timer) in misdn_add_timer()
189 timer->dev = dev; in misdn_add_timer()
190 setup_timer(&timer->tl, dev_expire_timer, (long)timer); in misdn_add_timer()
192 id = timer->id = dev->next_id++; in misdn_add_timer()
195 list_add_tail(&timer->list, &dev->pending); in misdn_add_timer()
196 timer->tl.expires = jiffies + ((HZ * (u_long)timeout) / 1000); in misdn_add_timer()
197 add_timer(&timer->tl); in misdn_add_timer()
206 struct mISDNtimer *timer; in misdn_del_timer() local
209 list_for_each_entry(timer, &dev->pending, list) { in misdn_del_timer()
210 if (timer->id == id) { in misdn_del_timer()
211 list_del_init(&timer->list); in misdn_del_timer()
212 timer->id = -1; in misdn_del_timer()
214 del_timer_sync(&timer->tl); in misdn_del_timer()
215 kfree(timer); in misdn_del_timer()