From 0054e14793e585ec0d8e95e3d7b82cbf1a684af8 Mon Sep 17 00:00:00 2001 From: Pekka Paalanen Date: Sat, 14 Feb 2009 22:22:39 +0200 Subject: [PATCH] drm_compat: remove kmap_atomic_prot_pfn() This function is unused, and yet creates build problems: the symbol init_mm is not exported by the latest -rc kernels and I don't believe it ever will be. Even CONFIG_UNUSED_SYMBOLS does not provide it anymore. If this function is needed in the future, it needs to be reinvented in any case. So remove it. Signed-off-by: Pekka Paalanen --- linux-core/drm_compat.c | 29 ----------------------------- linux-core/drm_compat.h | 21 --------------------- 2 files changed, 50 deletions(-) diff --git a/linux-core/drm_compat.c b/linux-core/drm_compat.c index c4ebc2fa..67baac5e 100644 --- a/linux-core/drm_compat.c +++ b/linux-core/drm_compat.c @@ -730,35 +730,6 @@ void *idr_replace(struct idr *idp, void *ptr, int id) EXPORT_SYMBOL(idr_replace); #endif -#if defined(DRM_KMAP_ATOMIC_PROT_PFN) -#define drm_kmap_get_fixmap_pte(vaddr) \ - pte_offset_kernel(pmd_offset(pud_offset(pgd_offset_k(vaddr), vaddr), (vaddr)), (vaddr)) - -void *kmap_atomic_prot_pfn(unsigned long pfn, enum km_type type, - pgprot_t protection) -{ - enum fixed_addresses idx; - unsigned long vaddr; - static pte_t *km_pte; - static int initialized = 0; - - if (unlikely(!initialized)) { - km_pte = drm_kmap_get_fixmap_pte(__fix_to_virt(FIX_KMAP_BEGIN)); - initialized = 1; - } - - pagefault_disable(); - idx = type + KM_TYPE_NR*smp_processor_id(); - vaddr = __fix_to_virt(FIX_KMAP_BEGIN + idx); - set_pte(km_pte-idx, pfn_pte(pfn, protection)); - - return (void*) vaddr; -} - -EXPORT_SYMBOL(kmap_atomic_prot_pfn); - -#endif - #ifdef DRM_FULL_MM_COMPAT #ifdef DRM_NO_FAULT unsigned long drm_bo_vm_nopfn(struct vm_area_struct *vma, diff --git a/linux-core/drm_compat.h b/linux-core/drm_compat.h index 4ae4ba6d..a5673563 100644 --- a/linux-core/drm_compat.h +++ b/linux-core/drm_compat.h @@ -338,27 +338,6 @@ typedef _Bool bool; #endif -#if (defined(CONFIG_X86) && defined(CONFIG_X86_32) && defined(CONFIG_HIGHMEM)) -/* - * pgd_offset_k() is a macro that uses the symbol init_mm, - * check that it is available. - */ -# if ((LINUX_VERSION_CODE < KERNEL_VERSION(2,6,25)) || \ - defined(CONFIG_UNUSED_SYMBOLS)) -#define DRM_KMAP_ATOMIC_PROT_PFN -extern void *kmap_atomic_prot_pfn(unsigned long pfn, enum km_type type, - pgprot_t protection); -# else -#warning "init_mm is not available on this kernel!" -static inline void *kmap_atomic_prot_pfn(unsigned long pfn, enum km_type type, - pgprot_t protection) -{ - /* stub */ - return NULL; -} -# endif /* no init_mm */ -#endif - #if !defined(flush_agp_mappings) #define flush_agp_mappings() do {} while(0) #endif