diff options
Diffstat (limited to 'arch/mips/include/asm/io.h')
| -rw-r--r-- | arch/mips/include/asm/io.h | 16 | 
1 files changed, 16 insertions, 0 deletions
| diff --git a/arch/mips/include/asm/io.h b/arch/mips/include/asm/io.h index 025012ae6..80eab75e1 100644 --- a/arch/mips/include/asm/io.h +++ b/arch/mips/include/asm/io.h @@ -120,12 +120,20 @@ static inline void set_io_port_base(unsigned long base)   */  extern inline phys_addr_t virt_to_phys(volatile void * address)  { +#ifndef CONFIG_64BIT  	return CPHYSADDR(address); +#else +	return XPHYSADDR(address); +#endif  }  extern inline void * phys_to_virt(unsigned long address)  { +#ifndef CONFIG_64BIT  	return (void *)KSEG0ADDR(address); +#else +	return (void *)CKSEG0ADDR(address); +#endif  }  /* @@ -133,12 +141,20 @@ extern inline void * phys_to_virt(unsigned long address)   */  extern inline unsigned long virt_to_bus(volatile void * address)  { +#ifndef CONFIG_64BIT  	return CPHYSADDR(address); +#else +	return XPHYSADDR(address); +#endif  }  extern inline void * bus_to_virt(unsigned long address)  { +#ifndef CONFIG_64BIT  	return (void *)KSEG0ADDR(address); +#else +	return (void *)CKSEG0ADDR(address); +#endif  }  /* |