1581 lines · 41.3 KB · C
RawDownload
voidregister_time_interpolator(struct time_interpolator *ti){	unsigned long flags; 	/* Sanity check */	BUG_ON(ti->frequency == 0 || ti->mask == 0); 	ti->nsec_per_cyc = ((u64)NSEC_PER_SEC << ti->shift) / ti->frequency;	spin_lock(&time_interpolator_lock);	write_seqlock_irqsave(&xtime_lock, flags);	if (is_better_time_interpolator(ti)) {		time_interpolator = ti;		time_interpolator_reset();	}	write_sequnlock_irqrestore(&xtime_lock, flags); 	ti->next = time_interpolator_list;	time_interpolator_list = ti;	spin_unlock(&time_interpolator_lock);} voidunregister_time_interpolator(struct time_interpolator *ti){	struct time_interpolator *curr, **prev;	unsigned long flags; 	spin_lock(&time_interpolator_lock);	prev = &time_interpolator_list;	for (curr = *prev; curr; curr = curr->next) {		if (curr == ti) {			*prev = curr->next;			break;		}		prev = &curr->next;	} 	write_seqlock_irqsave(&xtime_lock, flags);	if (ti == time_interpolator) {		/* we lost the best time-interpolator: */		time_interpolator = NULL;		/* find the next-best interpolator */		for (curr = time_interpolator_list; curr; curr = curr->next)			if (is_better_time_interpolator(curr))				time_interpolator = curr;		time_interpolator_reset();	}	write_sequnlock_irqrestore(&xtime_lock, flags);	spin_unlock(&time_interpolator_lock);}#endif /* CONFIG_TIME_INTERPOLATION */ /** * msleep - sleep safely even with waitqueue interruptions * @msecs: Time in milliseconds to sleep for */void msleep(unsigned int msecs){	unsigned long timeout = msecs_to_jiffies(msecs) + 1; 	while (timeout)		timeout = schedule_timeout_uninterruptible(timeout);} EXPORT_SYMBOL(msleep); /** * msleep_interruptible - sleep waiting for signals * @msecs: Time in milliseconds to sleep for */unsigned long msleep_interruptible(unsigned int msecs){	unsigned long timeout = msecs_to_jiffies(msecs) + 1; 	while (timeout && !signal_pending(current))		timeout = schedule_timeout_interruptible(timeout);	return jiffies_to_msecs(timeout);} EXPORT_SYMBOL(msleep_interruptible);

Lines 1501–1581 of 1581. Previous lines