 556269c138
			
		
	
	
	556269c138
	
	
	
		
			
			Add ioremap_wt() to all arch-specific asm/io.h headers which define ioremap_wc() locally. These headers do not include <asm-generic/iomap.h>. Some of them include <asm-generic/io.h>, but ioremap_wt() is defined for consistency since they define all ioremap_xxx locally. In all architectures without Write-Through support, ioremap_wt() is defined indentical to ioremap_nocache(). frv and m68k already have ioremap_writethrough(). On those we add ioremap_wt() indetical to ioremap_writethrough() and defines ARCH_HAS_IOREMAP_WT in both architectures. The ioremap_wt() interface is exported to drivers. Signed-off-by: Toshi Kani <toshi.kani@hp.com> Signed-off-by: Borislav Petkov <bp@suse.de> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Andy Lutomirski <luto@amacapital.net> Cc: Elliott@hp.com Cc: H. Peter Anvin <hpa@zytor.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Luis R. Rodriguez <mcgrof@suse.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: arnd@arndb.de Cc: hch@lst.de Cc: hmh@hmh.eng.br Cc: jgross@suse.com Cc: konrad.wilk@oracle.com Cc: linux-mm <linux-mm@kvack.org> Cc: linux-nvdimm@lists.01.org Cc: stefan.bader@canonical.com Cc: yigal@plexistor.com Link: http://lkml.kernel.org/r/1433436928-31903-9-git-send-email-bp@alien8.de Signed-off-by: Ingo Molnar <mingo@kernel.org>
		
			
				
	
	
		
			64 lines
		
	
	
	
		
			1.8 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
	
		
			1.8 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * Copyright (C) 2014 Altera Corporation
 | |
|  * Copyright (C) 2010 Tobias Klauser <tklauser@distanz.ch>
 | |
|  * Copyright (C) 2004 Microtronix Datacom Ltd.
 | |
|  *
 | |
|  * This file is subject to the terms and conditions of the GNU General Public
 | |
|  * License. See the file "COPYING" in the main directory of this archive
 | |
|  * for more details.
 | |
|  */
 | |
| 
 | |
| #ifndef _ASM_NIOS2_IO_H
 | |
| #define _ASM_NIOS2_IO_H
 | |
| 
 | |
| #include <linux/types.h>
 | |
| #include <asm/pgtable-bits.h>
 | |
| 
 | |
| /* PCI is not supported in nios2, set this to 0. */
 | |
| #define IO_SPACE_LIMIT 0
 | |
| 
 | |
| #define readb_relaxed(addr)	readb(addr)
 | |
| #define readw_relaxed(addr)	readw(addr)
 | |
| #define readl_relaxed(addr)	readl(addr)
 | |
| 
 | |
| #define writeb_relaxed(x, addr)	writeb(x, addr)
 | |
| #define writew_relaxed(x, addr)	writew(x, addr)
 | |
| #define writel_relaxed(x, addr)	writel(x, addr)
 | |
| 
 | |
| extern void __iomem *__ioremap(unsigned long physaddr, unsigned long size,
 | |
| 			unsigned long cacheflag);
 | |
| extern void __iounmap(void __iomem *addr);
 | |
| 
 | |
| static inline void __iomem *ioremap(unsigned long physaddr, unsigned long size)
 | |
| {
 | |
| 	return __ioremap(physaddr, size, 0);
 | |
| }
 | |
| 
 | |
| static inline void __iomem *ioremap_nocache(unsigned long physaddr,
 | |
| 						unsigned long size)
 | |
| {
 | |
| 	return __ioremap(physaddr, size, 0);
 | |
| }
 | |
| 
 | |
| static inline void iounmap(void __iomem *addr)
 | |
| {
 | |
| 	__iounmap(addr);
 | |
| }
 | |
| 
 | |
| #define ioremap_wc ioremap_nocache
 | |
| #define ioremap_wt ioremap_nocache
 | |
| 
 | |
| /* Pages to physical address... */
 | |
| #define page_to_phys(page)	virt_to_phys(page_to_virt(page))
 | |
| #define page_to_bus(page)	page_to_virt(page)
 | |
| 
 | |
| /* Macros used for converting between virtual and physical mappings. */
 | |
| #define phys_to_virt(vaddr)	\
 | |
| 	((void *)((unsigned long)(vaddr) | CONFIG_NIOS2_KERNEL_REGION_BASE))
 | |
| /* Clear top 3 bits */
 | |
| #define virt_to_phys(vaddr)	\
 | |
| 	((unsigned long)((unsigned long)(vaddr) & ~0xE0000000))
 | |
| 
 | |
| #include <asm-generic/io.h>
 | |
| 
 | |
| #endif /* _ASM_NIOS2_IO_H */
 |