Add missing round_jiffies_relative() for older kernels

main
Alan Hourihane 2008-02-05 10:10:36 +00:00
parent c9772f8c03
commit 7cc825f594
3 changed files with 41 additions and 1 deletions

View File

@ -274,7 +274,8 @@ static int ati_pcigart_needs_unbind_cache_adjust(struct drm_ttm_backend *backend
static int ati_pcigart_populate(struct drm_ttm_backend *backend,
unsigned long num_pages,
struct page **pages)
struct page **pages,
struct page *dummy_page)
{
ati_pcigart_ttm_backend_t *atipci_be =
container_of(backend, ati_pcigart_ttm_backend_t, backend);

View File

@ -729,3 +729,38 @@ void *idr_replace(struct idr *idp, void *ptr, int id)
}
EXPORT_SYMBOL(idr_replace);
#endif
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19))
static __inline__ unsigned long __round_jiffies(unsigned long j, int cpu)
{
int rem;
unsigned long original = j;
j += cpu * 3;
rem = j % HZ;
if (rem < HZ/4) /* round down */
j = j - rem;
else /* round up */
j = j - rem + HZ;
/* now that we have rounded, subtract the extra skew again */
j -= cpu * 3;
if (j <= jiffies) /* rounding ate our timeout entirely; */
return original;
return j;
}
static __inline__ unsigned long __round_jiffies_relative(unsigned long j, int cpu)
{
return __round_jiffies(j + jiffies, cpu) - jiffies;
}
unsigned long round_jiffies_relative(unsigned long j)
{
return __round_jiffies_relative(j, raw_smp_processor_id());
}
EXPORT_SYMBOL(round_jiffies_relative);
#endif

View File

@ -331,4 +331,8 @@ void idr_remove_all(struct idr *idp);
void *idr_replace(struct idr *idp, void *ptr, int id);
#endif
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19))
extern unsigned long round_jiffies_relative(unsigned long j);
#endif
#endif