mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	highmem: kill all __kmap_atomic()
[swarren@nvidia.com: highmem: Fix ARM build break due to __kmap_atomic rename] Signed-off-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Cong Wang <amwang@redhat.com>
This commit is contained in:
		
							parent
							
								
									589973a704
								
							
						
					
					
						commit
						a24401bcf4
					
				
					 16 changed files with 24 additions and 29 deletions
				
			
		| 
						 | 
					@ -57,7 +57,7 @@ static inline void *kmap_high_get(struct page *page)
 | 
				
			||||||
#ifdef CONFIG_HIGHMEM
 | 
					#ifdef CONFIG_HIGHMEM
 | 
				
			||||||
extern void *kmap(struct page *page);
 | 
					extern void *kmap(struct page *page);
 | 
				
			||||||
extern void kunmap(struct page *page);
 | 
					extern void kunmap(struct page *page);
 | 
				
			||||||
extern void *__kmap_atomic(struct page *page);
 | 
					extern void *kmap_atomic(struct page *page);
 | 
				
			||||||
extern void __kunmap_atomic(void *kvaddr);
 | 
					extern void __kunmap_atomic(void *kvaddr);
 | 
				
			||||||
extern void *kmap_atomic_pfn(unsigned long pfn);
 | 
					extern void *kmap_atomic_pfn(unsigned long pfn);
 | 
				
			||||||
extern struct page *kmap_atomic_to_page(const void *ptr);
 | 
					extern struct page *kmap_atomic_to_page(const void *ptr);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -36,7 +36,7 @@ void kunmap(struct page *page)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
EXPORT_SYMBOL(kunmap);
 | 
					EXPORT_SYMBOL(kunmap);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void *__kmap_atomic(struct page *page)
 | 
					void *kmap_atomic(struct page *page)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	unsigned int idx;
 | 
						unsigned int idx;
 | 
				
			||||||
	unsigned long vaddr;
 | 
						unsigned long vaddr;
 | 
				
			||||||
| 
						 | 
					@ -81,7 +81,7 @@ void *__kmap_atomic(struct page *page)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return (void *)vaddr;
 | 
						return (void *)vaddr;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
EXPORT_SYMBOL(__kmap_atomic);
 | 
					EXPORT_SYMBOL(kmap_atomic);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void __kunmap_atomic(void *kvaddr)
 | 
					void __kunmap_atomic(void *kvaddr)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -157,7 +157,7 @@ static inline void kunmap_atomic_primary(void *kvaddr, enum km_type type)
 | 
				
			||||||
	pagefault_enable();
 | 
						pagefault_enable();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void *__kmap_atomic(struct page *page);
 | 
					void *kmap_atomic(struct page *page);
 | 
				
			||||||
void __kunmap_atomic(void *kvaddr);
 | 
					void __kunmap_atomic(void *kvaddr);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif /* !__ASSEMBLY__ */
 | 
					#endif /* !__ASSEMBLY__ */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -37,7 +37,7 @@ struct page *kmap_atomic_to_page(void *ptr)
 | 
				
			||||||
	return virt_to_page(ptr);
 | 
						return virt_to_page(ptr);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void *__kmap_atomic(struct page *page)
 | 
					void *kmap_atomic(struct page *page)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	unsigned long paddr;
 | 
						unsigned long paddr;
 | 
				
			||||||
	int type;
 | 
						int type;
 | 
				
			||||||
| 
						 | 
					@ -64,7 +64,7 @@ void *__kmap_atomic(struct page *page)
 | 
				
			||||||
		return NULL;
 | 
							return NULL;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
EXPORT_SYMBOL(__kmap_atomic);
 | 
					EXPORT_SYMBOL(kmap_atomic);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void __kunmap_atomic(void *kvaddr)
 | 
					void __kunmap_atomic(void *kvaddr)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -47,7 +47,7 @@ extern void kunmap_high(struct page *page);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
extern void *kmap(struct page *page);
 | 
					extern void *kmap(struct page *page);
 | 
				
			||||||
extern void kunmap(struct page *page);
 | 
					extern void kunmap(struct page *page);
 | 
				
			||||||
extern void *__kmap_atomic(struct page *page);
 | 
					extern void *kmap_atomic(struct page *page);
 | 
				
			||||||
extern void __kunmap_atomic(void *kvaddr);
 | 
					extern void __kunmap_atomic(void *kvaddr);
 | 
				
			||||||
extern void *kmap_atomic_pfn(unsigned long pfn);
 | 
					extern void *kmap_atomic_pfn(unsigned long pfn);
 | 
				
			||||||
extern struct page *kmap_atomic_to_page(void *ptr);
 | 
					extern struct page *kmap_atomic_to_page(void *ptr);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -41,7 +41,7 @@ EXPORT_SYMBOL(kunmap);
 | 
				
			||||||
 * kmaps are appropriate for short, tight code paths only.
 | 
					 * kmaps are appropriate for short, tight code paths only.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void *__kmap_atomic(struct page *page)
 | 
					void *kmap_atomic(struct page *page)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	unsigned long vaddr;
 | 
						unsigned long vaddr;
 | 
				
			||||||
	int idx, type;
 | 
						int idx, type;
 | 
				
			||||||
| 
						 | 
					@ -62,7 +62,7 @@ void *__kmap_atomic(struct page *page)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return (void*) vaddr;
 | 
						return (void*) vaddr;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
EXPORT_SYMBOL(__kmap_atomic);
 | 
					EXPORT_SYMBOL(kmap_atomic);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void __kunmap_atomic(void *kvaddr)
 | 
					void __kunmap_atomic(void *kvaddr)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -70,7 +70,7 @@ static inline void kunmap(struct page *page)
 | 
				
			||||||
 * be used in IRQ contexts, so in some (very limited) cases we need
 | 
					 * be used in IRQ contexts, so in some (very limited) cases we need
 | 
				
			||||||
 * it.
 | 
					 * it.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
static inline unsigned long __kmap_atomic(struct page *page)
 | 
					static inline unsigned long kmap_atomic(struct page *page)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	unsigned long vaddr;
 | 
						unsigned long vaddr;
 | 
				
			||||||
	int idx, type;
 | 
						int idx, type;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -140,7 +140,7 @@ static inline void *kmap(struct page *page)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define kunmap(page)			kunmap_parisc(page_address(page))
 | 
					#define kunmap(page)			kunmap_parisc(page_address(page))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static inline void *__kmap_atomic(struct page *page)
 | 
					static inline void *kmap_atomic(struct page *page)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	pagefault_disable();
 | 
						pagefault_disable();
 | 
				
			||||||
	return page_address(page);
 | 
						return page_address(page);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -79,7 +79,7 @@ static inline void kunmap(struct page *page)
 | 
				
			||||||
	kunmap_high(page);
 | 
						kunmap_high(page);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static inline void *__kmap_atomic(struct page *page)
 | 
					static inline void *kmap_atomic(struct page *page)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	return kmap_atomic_prot(page, kmap_prot);
 | 
						return kmap_atomic_prot(page, kmap_prot);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -70,7 +70,7 @@ static inline void kunmap(struct page *page)
 | 
				
			||||||
	kunmap_high(page);
 | 
						kunmap_high(page);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
extern void *__kmap_atomic(struct page *page);
 | 
					extern void *kmap_atomic(struct page *page);
 | 
				
			||||||
extern void __kunmap_atomic(void *kvaddr);
 | 
					extern void __kunmap_atomic(void *kvaddr);
 | 
				
			||||||
extern struct page *kmap_atomic_to_page(void *vaddr);
 | 
					extern struct page *kmap_atomic_to_page(void *vaddr);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -30,7 +30,7 @@
 | 
				
			||||||
#include <asm/tlbflush.h>
 | 
					#include <asm/tlbflush.h>
 | 
				
			||||||
#include <asm/fixmap.h>
 | 
					#include <asm/fixmap.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void *__kmap_atomic(struct page *page)
 | 
					void *kmap_atomic(struct page *page)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	unsigned long vaddr;
 | 
						unsigned long vaddr;
 | 
				
			||||||
	long idx, type;
 | 
						long idx, type;
 | 
				
			||||||
| 
						 | 
					@ -64,7 +64,7 @@ void *__kmap_atomic(struct page *page)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return (void*) vaddr;
 | 
						return (void*) vaddr;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
EXPORT_SYMBOL(__kmap_atomic);
 | 
					EXPORT_SYMBOL(kmap_atomic);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void __kunmap_atomic(void *kvaddr)
 | 
					void __kunmap_atomic(void *kvaddr)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -59,7 +59,7 @@ void *kmap_fix_kpte(struct page *page, int finished);
 | 
				
			||||||
/* This macro is used only in map_new_virtual() to map "page". */
 | 
					/* This macro is used only in map_new_virtual() to map "page". */
 | 
				
			||||||
#define kmap_prot page_to_kpgprot(page)
 | 
					#define kmap_prot page_to_kpgprot(page)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void *__kmap_atomic(struct page *page);
 | 
					void *kmap_atomic(struct page *page);
 | 
				
			||||||
void __kunmap_atomic(void *kvaddr);
 | 
					void __kunmap_atomic(void *kvaddr);
 | 
				
			||||||
void *kmap_atomic_pfn(unsigned long pfn);
 | 
					void *kmap_atomic_pfn(unsigned long pfn);
 | 
				
			||||||
void *kmap_atomic_prot_pfn(unsigned long pfn, pgprot_t prot);
 | 
					void *kmap_atomic_prot_pfn(unsigned long pfn, pgprot_t prot);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -224,12 +224,12 @@ void *kmap_atomic_prot(struct page *page, pgprot_t prot)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
EXPORT_SYMBOL(kmap_atomic_prot);
 | 
					EXPORT_SYMBOL(kmap_atomic_prot);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void *__kmap_atomic(struct page *page)
 | 
					void *kmap_atomic(struct page *page)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	/* PAGE_NONE is a magic value that tells us to check immutability. */
 | 
						/* PAGE_NONE is a magic value that tells us to check immutability. */
 | 
				
			||||||
	return kmap_atomic_prot(page, PAGE_NONE);
 | 
						return kmap_atomic_prot(page, PAGE_NONE);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
EXPORT_SYMBOL(__kmap_atomic);
 | 
					EXPORT_SYMBOL(kmap_atomic);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void __kunmap_atomic(void *kvaddr)
 | 
					void __kunmap_atomic(void *kvaddr)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -61,7 +61,7 @@ void *kmap(struct page *page);
 | 
				
			||||||
void kunmap(struct page *page);
 | 
					void kunmap(struct page *page);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void *kmap_atomic_prot(struct page *page, pgprot_t prot);
 | 
					void *kmap_atomic_prot(struct page *page, pgprot_t prot);
 | 
				
			||||||
void *__kmap_atomic(struct page *page);
 | 
					void *kmap_atomic(struct page *page);
 | 
				
			||||||
void __kunmap_atomic(void *kvaddr);
 | 
					void __kunmap_atomic(void *kvaddr);
 | 
				
			||||||
void *kmap_atomic_pfn(unsigned long pfn);
 | 
					void *kmap_atomic_pfn(unsigned long pfn);
 | 
				
			||||||
void *kmap_atomic_prot_pfn(unsigned long pfn, pgprot_t prot);
 | 
					void *kmap_atomic_prot_pfn(unsigned long pfn, pgprot_t prot);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -51,11 +51,11 @@ void *kmap_atomic_prot(struct page *page, pgprot_t prot)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
EXPORT_SYMBOL(kmap_atomic_prot);
 | 
					EXPORT_SYMBOL(kmap_atomic_prot);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void *__kmap_atomic(struct page *page)
 | 
					void *kmap_atomic(struct page *page)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	return kmap_atomic_prot(page, kmap_prot);
 | 
						return kmap_atomic_prot(page, kmap_prot);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
EXPORT_SYMBOL(__kmap_atomic);
 | 
					EXPORT_SYMBOL(kmap_atomic);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * This is the same as kmap_atomic() but can map memory that doesn't
 | 
					 * This is the same as kmap_atomic() but can map memory that doesn't
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -55,12 +55,12 @@ static inline void kunmap(struct page *page)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static inline void *__kmap_atomic(struct page *page)
 | 
					static inline void *kmap_atomic(struct page *page)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	pagefault_disable();
 | 
						pagefault_disable();
 | 
				
			||||||
	return page_address(page);
 | 
						return page_address(page);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
#define kmap_atomic_prot(page, prot)	__kmap_atomic(page)
 | 
					#define kmap_atomic_prot(page, prot)	kmap_atomic(page)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static inline void __kunmap_atomic(void *addr)
 | 
					static inline void __kunmap_atomic(void *addr)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
| 
						 | 
					@ -121,15 +121,10 @@ static inline void kmap_atomic_idx_pop(void)
 | 
				
			||||||
#define NARG_(_2, _1, n, ...) n
 | 
					#define NARG_(_2, _1, n, ...) n
 | 
				
			||||||
#define NARG(...) NARG_(__VA_ARGS__, 2, 1, :)
 | 
					#define NARG(...) NARG_(__VA_ARGS__, 2, 1, :)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static inline void *kmap_atomic(struct page *page)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	return __kmap_atomic(page);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
static inline void __deprecated *kmap_atomic_deprecated(struct page *page,
 | 
					static inline void __deprecated *kmap_atomic_deprecated(struct page *page,
 | 
				
			||||||
							enum km_type km)
 | 
												enum km_type km)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	return __kmap_atomic(page);
 | 
						return kmap_atomic(page);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define kmap_atomic1(...) kmap_atomic(__VA_ARGS__)
 | 
					#define kmap_atomic1(...) kmap_atomic(__VA_ARGS__)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue