Commit 5e203d68 authored by Stephen Rothwell's avatar Stephen Rothwell

[POWERPC] fix ioremap for a combined kernel

Signed-off-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
parent eecba334
...@@ -63,32 +63,13 @@ ...@@ -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, ...@@ -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) ...@@ -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) ...@@ -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);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment