From: robherring2@gmail.com (Rob Herring)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v4 4/4] ARM: iop13xx: use runtime ioremap hook
Date: Mon, 5 Mar 2012 22:03:00 -0600 [thread overview]
Message-ID: <1331006580-3579-4-git-send-email-robherring2@gmail.com> (raw)
In-Reply-To: <1331006580-3579-1-git-send-email-robherring2@gmail.com>
From: Rob Herring <rob.herring@calxeda.com>
Convert iop13xx platforms to use run-time ioremap hook instead of the
compile time hook. The custom ioremap is still needed for 64-bit address
handling.
Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Russell King <linux@arm.linux.org.uk>
---
arch/arm/mach-iop13xx/include/mach/io.h | 7 -------
arch/arm/mach-iop13xx/io.c | 18 ++++++++++--------
arch/arm/mach-iop13xx/iq81340mc.c | 1 +
arch/arm/mach-iop13xx/iq81340sc.c | 1 +
4 files changed, 12 insertions(+), 15 deletions(-)
diff --git a/arch/arm/mach-iop13xx/include/mach/io.h b/arch/arm/mach-iop13xx/include/mach/io.h
index dffb234..2a69fc0 100644
--- a/arch/arm/mach-iop13xx/include/mach/io.h
+++ b/arch/arm/mach-iop13xx/include/mach/io.h
@@ -26,16 +26,9 @@
#define __mem_isa(a) (a)
extern void __iomem * __iop13xx_io(unsigned long io_addr);
-extern void __iomem *__iop13xx_ioremap(unsigned long cookie, size_t size,
- unsigned int mtype);
-extern void __iop13xx_iounmap(void __iomem *addr);
-
extern u32 iop13xx_atue_mem_base;
extern u32 iop13xx_atux_mem_base;
extern size_t iop13xx_atue_mem_size;
extern size_t iop13xx_atux_mem_size;
-#define __arch_ioremap __iop13xx_ioremap
-#define __arch_iounmap __iop13xx_iounmap
-
#endif
diff --git a/arch/arm/mach-iop13xx/io.c b/arch/arm/mach-iop13xx/io.c
index 48642e6..6dd5b49 100644
--- a/arch/arm/mach-iop13xx/io.c
+++ b/arch/arm/mach-iop13xx/io.c
@@ -40,8 +40,8 @@ void * __iomem __iop13xx_io(unsigned long io_addr)
}
EXPORT_SYMBOL(__iop13xx_io);
-void * __iomem __iop13xx_ioremap(unsigned long cookie, size_t size,
- unsigned int mtype)
+static void __iomem *__iop13xx_ioremap_caller(unsigned long cookie,
+ size_t size, unsigned int mtype, void *caller)
{
void __iomem * retval;
@@ -76,17 +76,14 @@ void * __iomem __iop13xx_ioremap(unsigned long cookie, size_t size,
break;
default:
retval = __arm_ioremap_caller(cookie, size, mtype,
- __builtin_return_address(0));
+ caller);
}
return retval;
}
-EXPORT_SYMBOL(__iop13xx_ioremap);
-void __iop13xx_iounmap(void __iomem *addr)
+static void __iop13xx_iounmap(volatile void __iomem *addr)
{
- extern void __iounmap(volatile void __iomem *addr);
-
if (iop13xx_atue_mem_base)
if (addr >= (void __iomem *) iop13xx_atue_mem_base &&
addr < (void __iomem *) (iop13xx_atue_mem_base +
@@ -110,4 +107,9 @@ void __iop13xx_iounmap(void __iomem *addr)
skip:
return;
}
-EXPORT_SYMBOL(__iop13xx_iounmap);
+
+void __init iop13xx_init_early(void)
+{
+ arch_ioremap_caller = __iop13xx_ioremap_caller;
+ arch_iounmap = __iop13xx_iounmap;
+}
diff --git a/arch/arm/mach-iop13xx/iq81340mc.c b/arch/arm/mach-iop13xx/iq81340mc.c
index abaee88..5c96b73 100644
--- a/arch/arm/mach-iop13xx/iq81340mc.c
+++ b/arch/arm/mach-iop13xx/iq81340mc.c
@@ -92,6 +92,7 @@ static struct sys_timer iq81340mc_timer = {
MACHINE_START(IQ81340MC, "Intel IQ81340MC")
/* Maintainer: Dan Williams <dan.j.williams@intel.com> */
.atag_offset = 0x100,
+ .init_early = iop13xx_init_early,
.map_io = iop13xx_map_io,
.init_irq = iop13xx_init_irq,
.timer = &iq81340mc_timer,
diff --git a/arch/arm/mach-iop13xx/iq81340sc.c b/arch/arm/mach-iop13xx/iq81340sc.c
index 690916a..aa4dd75 100644
--- a/arch/arm/mach-iop13xx/iq81340sc.c
+++ b/arch/arm/mach-iop13xx/iq81340sc.c
@@ -94,6 +94,7 @@ static struct sys_timer iq81340sc_timer = {
MACHINE_START(IQ81340SC, "Intel IQ81340SC")
/* Maintainer: Dan Williams <dan.j.williams@intel.com> */
.atag_offset = 0x100,
+ .init_early = iop13xx_init_early,
.map_io = iop13xx_map_io,
.init_irq = iop13xx_init_irq,
.timer = &iq81340sc_timer,
--
1.7.5.4
next prev parent reply other threads:[~2012-03-06 4:03 UTC|newest]
Thread overview: 67+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-02 3:13 [PATCH v3 00/30] mach/io.h cleanup and removal Rob Herring
2012-03-02 3:13 ` [PATCH v3 01/30] usb: ohci-pxa27x: add explicit include of hardware.h Rob Herring
2012-03-02 3:13 ` [PATCH v3 02/30] ARM: provide runtime hook for ioremap/iounmap Rob Herring
2012-03-05 19:21 ` Nicolas Pitre
2012-03-05 20:13 ` Arnd Bergmann
2012-03-05 21:11 ` Nicolas Pitre
2012-03-06 4:02 ` [PATCH v4 1/4] " Rob Herring
2012-03-06 4:02 ` [PATCH v4 2/4] ARM: imx: convert to common runtime ioremap hook Rob Herring
2012-03-06 4:02 ` [PATCH v4 3/4] ARM: msm: use " Rob Herring
2012-03-06 20:59 ` David Brown
2012-03-06 21:10 ` Rob Herring
2012-03-06 4:03 ` Rob Herring [this message]
2012-03-06 16:53 ` [PATCH v4 1/4] ARM: provide runtime hook for ioremap/iounmap Arnd Bergmann
2012-03-06 17:18 ` Nicolas Pitre
2012-03-06 4:07 ` [PATCH v3 02/30] " Rob Herring
2012-03-06 17:20 ` Nicolas Pitre
2012-03-06 21:45 ` [PATCH v5 1/7] " Rob Herring
2012-03-06 21:45 ` [PATCH v5 2/7] ARM: imx: convert to common runtime ioremap hook Rob Herring
2012-03-06 21:45 ` [PATCH v5 3/7] ARM: msm: use " Rob Herring
2012-03-06 21:45 ` [PATCH v5 4/7] ARM: iop13xx: " Rob Herring
2012-03-06 21:45 ` [PATCH v5 5/7] ARM: ixp4xx: " Rob Herring
2012-03-06 22:11 ` Russell King - ARM Linux
2012-03-06 22:49 ` Rob Herring
2012-03-06 22:50 ` Rob Herring
2012-03-06 21:45 ` [PATCH v5 6/7] ARM: ebsa110: " Rob Herring
2012-03-06 22:06 ` Nicolas Pitre
2012-03-07 3:36 ` [PATCH] " Rob Herring
2012-03-06 21:45 ` [PATCH v5 7/7] ARM: remove compile time __arch_ioremap/__arch_iounmap Rob Herring
2012-03-06 22:01 ` Nicolas Pitre
2012-03-06 21:57 ` [PATCH v5 1/7] ARM: provide runtime hook for ioremap/iounmap Nicolas Pitre
2012-03-02 3:13 ` [PATCH v3 03/30] ARM: imx: convert to common runtime ioremap hook Rob Herring
2012-03-02 3:13 ` [PATCH v3 04/30] ARM: msm: use " Rob Herring
2012-03-02 3:13 ` [PATCH v3 05/30] ARM: msm: clean-up mach/io.h Rob Herring
2012-03-02 3:13 ` [PATCH v3 06/30] ARM: iop13xx: use runtime ioremap hook Rob Herring
2012-03-02 3:13 ` [PATCH v3 07/30] ARM: iop13xx: move io.h externs to pci.h Rob Herring
2012-03-02 3:13 ` [PATCH v3 08/30] ARM: OMAP: Remove remaining includes for mach/io.h Rob Herring
2012-03-02 3:13 ` [PATCH v3 09/30] [media] davinci: remove includes of mach/io.h Rob Herring
2012-03-02 3:13 ` [PATCH v3 10/30] ARM: davinci: remove unneeded mach/io.h include Rob Herring
2012-03-02 3:13 ` [PATCH v3 11/30] ARM: orion5x: clean-up mach/io.h Rob Herring
2012-03-05 19:14 ` Nicolas Pitre
2012-03-02 3:13 ` [PATCH v3 12/30] ARM: tegra: " Rob Herring
2012-03-02 3:13 ` [PATCH v3 13/30] ARM: ep93xx: " Rob Herring
2012-03-02 3:13 ` [PATCH v3 14/30] ARM: at91: add explicit include of hardware.h to uncompressor Rob Herring
2012-03-02 3:13 ` [PATCH v3 15/30] ARM: dove: add explicit include of dove.h to addr-map.c Rob Herring
2012-03-05 19:26 ` Nicolas Pitre
2012-03-02 3:13 ` [PATCH v3 16/30] ARM: clps711x: remove unneeded include of mach/io.h Rob Herring
2012-03-02 3:13 ` [PATCH v3 17/30] ARM: make mach/io.h include optional Rob Herring
2012-03-05 19:31 ` Nicolas Pitre
2012-03-02 3:13 ` [PATCH v3 18/30] ARM: remove bunch of now unused mach/io.h files Rob Herring
2012-03-05 19:33 ` Nicolas Pitre
2012-03-02 3:13 ` [PATCH v3 19/30] ARM: kill off __mem_pci Rob Herring
2012-03-02 3:13 ` [PATCH v3 20/30] iop13xx: use more regular PCI I/O space handling Rob Herring
2012-03-02 3:13 ` [PATCH v3 21/30] ARM: Add fixed PCI i/o mapping Rob Herring
2012-03-05 19:41 ` Nicolas Pitre
2012-03-02 3:13 ` [PATCH v3 22/30] ARM: tegra: use " Rob Herring
2012-03-02 6:59 ` Thierry Reding
2012-03-02 3:13 ` [PATCH v3 23/30] ARM: integrator: " Rob Herring
2012-03-02 3:13 ` [PATCH v3 24/30] ARM: shark: " Rob Herring
2012-03-02 3:13 ` [PATCH v3 25/30] ARM: footbridge: " Rob Herring
2012-03-02 3:13 ` [PATCH v3 26/30] ARM: dove: " Rob Herring
2012-03-05 20:12 ` Nicolas Pitre
2012-03-02 3:13 ` [PATCH v3 27/30] ARM: kirkwood: " Rob Herring
2012-03-05 19:59 ` Nicolas Pitre
2012-03-02 3:13 ` [PATCH v3 28/30] ARM: ixp23xx: " Rob Herring
2012-03-02 3:13 ` [PATCH v3 29/30] ARM: iop13xx: " Rob Herring
2012-03-02 3:13 ` [PATCH v3 30/30] ARM: orion5x: " Rob Herring
2012-03-05 20:13 ` Nicolas Pitre
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1331006580-3579-4-git-send-email-robherring2@gmail.com \
--to=robherring2@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).