mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-19 21:51:31 +00:00
powerpc: Use asm-generic/io.h
Convert the powerpc architecture to make use of the new asm-generic/io.h to provide address mapping functions. As powerpc can actually perform non-identity mapping between physical & virtual addresses we can't simply make use of the generic phys_to_virt() & virt_to_phys() functions. However since map_physmem() already effectively implemented the same thing as virt_to_phys() we can simply implement virt_to_phys() instead of map_physmem() & use the generic map_physmem(). We also drop the no-op unmap_physmem(). This has only been build-tested, feedback from architecture maintainers is welcome. Signed-off-by: Paul Burton <paul.burton@imgtec.com> Cc: Wolfgang Denk <wd@denx.de>
This commit is contained in:
parent
e16986c481
commit
ae07d609e9
1 changed files with 5 additions and 20 deletions
|
@ -282,18 +282,7 @@ static inline void out_be32(volatile unsigned __iomem *addr, u32 val)
|
||||||
#define setbits_8(addr, set) setbits(8, addr, set)
|
#define setbits_8(addr, set) setbits(8, addr, set)
|
||||||
#define clrsetbits_8(addr, clear, set) clrsetbits(8, addr, clear, set)
|
#define clrsetbits_8(addr, clear, set) clrsetbits(8, addr, clear, set)
|
||||||
|
|
||||||
/*
|
static inline void *phys_to_virt(phys_addr_t paddr)
|
||||||
* Given a physical address and a length, return a virtual address
|
|
||||||
* that can be used to access the memory range with the caching
|
|
||||||
* properties specified by "flags".
|
|
||||||
*/
|
|
||||||
#define MAP_NOCACHE (0)
|
|
||||||
#define MAP_WRCOMBINE (0)
|
|
||||||
#define MAP_WRBACK (0)
|
|
||||||
#define MAP_WRTHROUGH (0)
|
|
||||||
|
|
||||||
static inline void *
|
|
||||||
map_physmem(phys_addr_t paddr, unsigned long len, unsigned long flags)
|
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_ADDR_MAP
|
#ifdef CONFIG_ADDR_MAP
|
||||||
return addrmap_phys_to_virt(paddr);
|
return addrmap_phys_to_virt(paddr);
|
||||||
|
@ -301,14 +290,7 @@ map_physmem(phys_addr_t paddr, unsigned long len, unsigned long flags)
|
||||||
return (void *)((unsigned long)paddr);
|
return (void *)((unsigned long)paddr);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
#define phys_to_virt phys_to_virt
|
||||||
/*
|
|
||||||
* Take down a mapping set up by map_physmem().
|
|
||||||
*/
|
|
||||||
static inline void unmap_physmem(void *vaddr, unsigned long flags)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline phys_addr_t virt_to_phys(void * vaddr)
|
static inline phys_addr_t virt_to_phys(void * vaddr)
|
||||||
{
|
{
|
||||||
|
@ -318,5 +300,8 @@ static inline phys_addr_t virt_to_phys(void * vaddr)
|
||||||
return (phys_addr_t)((unsigned long)vaddr);
|
return (phys_addr_t)((unsigned long)vaddr);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
#define virt_to_phys virt_to_phys
|
||||||
|
|
||||||
|
#include <asm-generic/io.h>
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Add table
Reference in a new issue