>From b4c40cb00c44e65dd2a722f99e88260e0746bc22 Mon Sep 17 00:00:00 2001
From: Pekka Paalanen <p...@iki.fi>
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 <p...@iki.fi>
---
 linux-core/drm_compat.c |   29 -----------------------------
 linux-core/drm_compat.h |   21 ---------------------
 2 files changed, 0 insertions(+), 50 deletions(-)

diff --git a/linux-core/drm_compat.c b/linux-core/drm_compat.c
index c4ebc2f..67baac5 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 4ae4ba6..a567356 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
-- 
1.6.0.6


------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
--
_______________________________________________
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to