forked from mirrors/linux
		
	ARM: dma-mapping: simplify page_to_dma() and __pfn_to_bus()
The non-highmem() and the __pfn_to_bus() based page_to_dma() both compile to the same code, so its pointless having these two different approaches. Use the __pfn_to_bus() based version. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Tested-By: Jamie Iles <jamie@jamieiles.com> Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
This commit is contained in:
		
							parent
							
								
									719301ff1c
								
							
						
					
					
						commit
						1c4a4f48a1
					
				
					 2 changed files with 2 additions and 11 deletions
				
			
		| 
						 | 
				
			
			@ -15,20 +15,10 @@
 | 
			
		|||
 * must not be used by drivers.
 | 
			
		||||
 */
 | 
			
		||||
#ifndef __arch_page_to_dma
 | 
			
		||||
 | 
			
		||||
#if !defined(CONFIG_HIGHMEM)
 | 
			
		||||
static inline dma_addr_t page_to_dma(struct device *dev, struct page *page)
 | 
			
		||||
{
 | 
			
		||||
	return (dma_addr_t)__virt_to_bus((unsigned long)page_address(page));
 | 
			
		||||
}
 | 
			
		||||
#elif defined(__pfn_to_bus)
 | 
			
		||||
static inline dma_addr_t page_to_dma(struct device *dev, struct page *page)
 | 
			
		||||
{
 | 
			
		||||
	return (dma_addr_t)__pfn_to_bus(page_to_pfn(page));
 | 
			
		||||
}
 | 
			
		||||
#else
 | 
			
		||||
#error "this machine class needs to define __arch_page_to_dma to use HIGHMEM"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
static inline void *dma_to_virt(struct device *dev, dma_addr_t addr)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -200,7 +200,8 @@ static inline void *phys_to_virt(unsigned long x)
 | 
			
		|||
#ifndef __virt_to_bus
 | 
			
		||||
#define __virt_to_bus	__virt_to_phys
 | 
			
		||||
#define __bus_to_virt	__phys_to_virt
 | 
			
		||||
#define __pfn_to_bus(x)	((x) << PAGE_SHIFT)
 | 
			
		||||
#define __pfn_to_bus(x)	__pfn_to_phys(x)
 | 
			
		||||
#define __bus_to_pfn(x)	__phys_to_pfn(x)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
static inline __deprecated unsigned long virt_to_bus(void *x)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue