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

[POWERPC] fix ioremap for a combined kernel

parent eecba334
Loading
Loading
Loading
Loading
+7 −22
Original line number Diff line number Diff line
@@ -63,32 +63,13 @@
#include <asm/iommu.h>
#include <asm/abs_addr.h>
#include <asm/vdso.h>
#include <asm/firmware.h>

#include "mmu_decl.h"

unsigned long ioremap_bot = IMALLOC_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 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;
	void __iomem *ret;

	if (firmware_has_feature(FW_FEATURE_ISERIES))
		return (void __iomem *)addr;

	/*
	 * Choose an address to map it to.
	 * Once the imalloc system is running, we use it.
@@ -255,6 +239,9 @@ void iounmap(volatile void __iomem *token)
{
	void *addr;

	if (firmware_has_feature(FW_FEATURE_ISERIES))
		return;

	if (!mem_init_done)
		return;
	
@@ -315,8 +302,6 @@ int iounmap_explicit(volatile void __iomem *start, unsigned long size)
	return 0;
}

#endif

EXPORT_SYMBOL(ioremap);
EXPORT_SYMBOL(__ioremap);
EXPORT_SYMBOL(iounmap);