-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[ARM] nommu: add stubs for ioremap and friends
nommu doesn't have any form of remapping support, so ioremap, etc become stubs which just return the casted address, doing nothing else. Move ioport_map(), ioport_unmap(), pci_iomap(), pci_iounmap() into a separate file which is always built. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
- Loading branch information
Russell King
authored and
Russell King
committed
Jun 28, 2006
1 parent
f9c21a6
commit 5924486
Showing
4 changed files
with
92 additions
and
48 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
/* | ||
* linux/arch/arm/mm/iomap.c | ||
* | ||
* Map IO port and PCI memory spaces so that {read,write}[bwl] can | ||
* be used to access this memory. | ||
*/ | ||
#include <linux/module.h> | ||
#include <linux/pci.h> | ||
#include <linux/ioport.h> | ||
|
||
#include <asm/io.h> | ||
|
||
#ifdef __io | ||
void __iomem *ioport_map(unsigned long port, unsigned int nr) | ||
{ | ||
return __io(port); | ||
} | ||
EXPORT_SYMBOL(ioport_map); | ||
|
||
void ioport_unmap(void __iomem *addr) | ||
{ | ||
} | ||
EXPORT_SYMBOL(ioport_unmap); | ||
#endif | ||
|
||
#ifdef CONFIG_PCI | ||
void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long maxlen) | ||
{ | ||
unsigned long start = pci_resource_start(dev, bar); | ||
unsigned long len = pci_resource_len(dev, bar); | ||
unsigned long flags = pci_resource_flags(dev, bar); | ||
|
||
if (!len || !start) | ||
return NULL; | ||
if (maxlen && len > maxlen) | ||
len = maxlen; | ||
if (flags & IORESOURCE_IO) | ||
return ioport_map(start, len); | ||
if (flags & IORESOURCE_MEM) { | ||
if (flags & IORESOURCE_CACHEABLE) | ||
return ioremap(start, len); | ||
return ioremap_nocache(start, len); | ||
} | ||
return NULL; | ||
} | ||
EXPORT_SYMBOL(pci_iomap); | ||
|
||
void pci_iounmap(struct pci_dev *dev, void __iomem *addr) | ||
{ | ||
if ((unsigned long)addr >= VMALLOC_START && | ||
(unsigned long)addr < VMALLOC_END) | ||
iounmap(addr); | ||
} | ||
EXPORT_SYMBOL(pci_iounmap); | ||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
/* | ||
* linux/arch/arm/mm/nommu.c | ||
* | ||
* ARM uCLinux supporting functions. | ||
*/ | ||
#include <linux/module.h> | ||
|
||
#include <asm/io.h> | ||
#include <asm/page.h> | ||
|
||
void __iomem *__ioremap_pfn(unsigned long pfn, unsigned long offset, | ||
size_t size, unsigned long flags) | ||
{ | ||
if (pfn >= (0x100000000ULL >> PAGE_SHIFT)) | ||
return NULL; | ||
return (void __iomem *) (offset + (pfn << PAGE_SHIFT)); | ||
} | ||
EXPORT_SYMBOL(__ioremap_pfn); | ||
|
||
void __iomem *__ioremap(unsigned long phys_addr, size_t size, | ||
unsigned long flags) | ||
{ | ||
return (void __iomem *)phys_addr; | ||
} | ||
EXPORT_SYMBOL(__ioremap); | ||
|
||
void __iounmap(void __iomem *addr) | ||
{ | ||
} | ||
EXPORT_SYMBOL(__iounmap); |