diff options
author | Paul Mundt <lethal@linux-sh.org> | 2006-09-27 02:16:42 -0400 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2006-09-27 02:16:42 -0400 |
commit | d7cdc9e8ac82c43fdcd4fde6b5b53d2dcba7f707 (patch) | |
tree | 2489b1831a1b5818af0927e4d3c8933bf7d05f31 /arch/sh/boards/titan | |
parent | 26ff6c11ef38e08990c1e417c299246e6ab18ff7 (diff) |
sh: ioremap() overhaul.
ioremap() overhaul. Add support for transparent PMB mapping, get rid of
p3_ioremap(), etc. Also drop ioremap() and iounmap() routines from the
machvec, as everyone can use the generic ioremap() API instead. For PCI
memory apertures and other special cases, use the pci_iomap() API, as
boards are already required to get the mapping right there.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/boards/titan')
-rw-r--r-- | arch/sh/boards/titan/io.c | 9 | ||||
-rw-r--r-- | arch/sh/boards/titan/setup.c | 1 |
2 files changed, 1 insertions, 9 deletions
diff --git a/arch/sh/boards/titan/io.c b/arch/sh/boards/titan/io.c index d66900c99a11..b886fd233a66 100644 --- a/arch/sh/boards/titan/io.c +++ b/arch/sh/boards/titan/io.c | |||
@@ -138,19 +138,12 @@ void titan_outsl(unsigned long port, const void *src, unsigned long count) | |||
138 | maybebadio(port); | 138 | maybebadio(port); |
139 | } | 139 | } |
140 | 140 | ||
141 | void *titan_ioremap(unsigned long offset, unsigned long size) { | ||
142 | if (CHECK_SH7751_PCIIO(offset) || CHECK_SH7751_PCIMEMIO(offset)) | ||
143 | return (void *)offset; | ||
144 | } | ||
145 | |||
146 | void __iomem *titan_ioport_map(unsigned long port, unsigned int size) | 141 | void __iomem *titan_ioport_map(unsigned long port, unsigned int size) |
147 | { | 142 | { |
148 | if (PXSEG(port)) | 143 | if (PXSEG(port) || CHECK_SH7751_PCIMEMIO(port)) |
149 | return (void __iomem *)port; | 144 | return (void __iomem *)port; |
150 | else if (CHECK_SH7751_PCIIO(port)) | 145 | else if (CHECK_SH7751_PCIIO(port)) |
151 | return (void __iomem *)PCI_IOMAP(port); | 146 | return (void __iomem *)PCI_IOMAP(port); |
152 | 147 | ||
153 | return (void __iomem *)port2adr(port); | 148 | return (void __iomem *)port2adr(port); |
154 | } | 149 | } |
155 | |||
156 | EXPORT_SYMBOL(titan_ioremap); | ||
diff --git a/arch/sh/boards/titan/setup.c b/arch/sh/boards/titan/setup.c index 6ac5c8d7b3fb..c8b431c1d0fd 100644 --- a/arch/sh/boards/titan/setup.c +++ b/arch/sh/boards/titan/setup.c | |||
@@ -51,7 +51,6 @@ struct sh_machine_vector mv_titan __initmv = { | |||
51 | .mv_insl = titan_insl, | 51 | .mv_insl = titan_insl, |
52 | .mv_outsl = titan_outsl, | 52 | .mv_outsl = titan_outsl, |
53 | 53 | ||
54 | .mv_ioremap = titan_ioremap, | ||
55 | .mv_ioport_map = titan_ioport_map, | 54 | .mv_ioport_map = titan_ioport_map, |
56 | 55 | ||
57 | .mv_init_irq = init_titan_irq, | 56 | .mv_init_irq = init_titan_irq, |