[POWERPC] fix ioremap for a combined kernel
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
This commit is contained in:
parent
eecba334bd
commit
5e203d6862
@ -63,32 +63,13 @@
|
|||||||
#include <asm/iommu.h>
|
#include <asm/iommu.h>
|
||||||
#include <asm/abs_addr.h>
|
#include <asm/abs_addr.h>
|
||||||
#include <asm/vdso.h>
|
#include <asm/vdso.h>
|
||||||
|
#include <asm/firmware.h>
|
||||||
|
|
||||||
#include "mmu_decl.h"
|
#include "mmu_decl.h"
|
||||||
|
|
||||||
unsigned long ioremap_bot = IMALLOC_BASE;
|
unsigned long ioremap_bot = IMALLOC_BASE;
|
||||||
static unsigned long phbs_io_bot = PHBS_IO_BASE;
|
static unsigned long phbs_io_bot = PHBS_IO_BASE;
|
||||||
|
|
||||||
#ifdef CONFIG_PPC_ISERIES
|
|
||||||
|
|
||||||
void __iomem *ioremap(unsigned long addr, unsigned long size)
|
|
||||||
{
|
|
||||||
return (void __iomem *)addr;
|
|
||||||
}
|
|
||||||
|
|
||||||
extern void __iomem *__ioremap(unsigned long addr, unsigned long size,
|
|
||||||
unsigned long flags)
|
|
||||||
{
|
|
||||||
return (void __iomem *)addr;
|
|
||||||
}
|
|
||||||
|
|
||||||
void iounmap(volatile void __iomem *addr)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* map_io_page currently only called by __ioremap
|
* map_io_page currently only called by __ioremap
|
||||||
* map_io_page adds an entry to the ioremap page table
|
* map_io_page adds an entry to the ioremap page table
|
||||||
@ -161,6 +142,9 @@ void __iomem * __ioremap(unsigned long addr, unsigned long size,
|
|||||||
unsigned long pa, ea;
|
unsigned long pa, ea;
|
||||||
void __iomem *ret;
|
void __iomem *ret;
|
||||||
|
|
||||||
|
if (firmware_has_feature(FW_FEATURE_ISERIES))
|
||||||
|
return (void __iomem *)addr;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Choose an address to map it to.
|
* Choose an address to map it to.
|
||||||
* Once the imalloc system is running, we use it.
|
* Once the imalloc system is running, we use it.
|
||||||
@ -255,6 +239,9 @@ void iounmap(volatile void __iomem *token)
|
|||||||
{
|
{
|
||||||
void *addr;
|
void *addr;
|
||||||
|
|
||||||
|
if (firmware_has_feature(FW_FEATURE_ISERIES))
|
||||||
|
return;
|
||||||
|
|
||||||
if (!mem_init_done)
|
if (!mem_init_done)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@ -315,8 +302,6 @@ int iounmap_explicit(volatile void __iomem *start, unsigned long size)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
EXPORT_SYMBOL(ioremap);
|
EXPORT_SYMBOL(ioremap);
|
||||||
EXPORT_SYMBOL(__ioremap);
|
EXPORT_SYMBOL(__ioremap);
|
||||||
EXPORT_SYMBOL(iounmap);
|
EXPORT_SYMBOL(iounmap);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user