summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-mxs
diff options
context:
space:
mode:
authorShawn Guo <shawn.guo@linaro.org>2013-03-25 21:13:22 +0800
committerShawn Guo <shawn.guo@linaro.org>2013-04-01 16:30:03 +0800
commit8256aa7129f5d0d1692f6a18b83b66fef43405ed (patch)
tree1ae2981095251fb73d6bf2d0af394ec9d20ff137 /arch/arm/mach-mxs
parentc74512bf83f3568baf566265c5bd3b8a96ede353 (diff)
downloadlinux-8256aa7129f5d0d1692f6a18b83b66fef43405ed.tar.gz
linux-8256aa7129f5d0d1692f6a18b83b66fef43405ed.tar.bz2
linux-8256aa7129f5d0d1692f6a18b83b66fef43405ed.zip
ARM: mxs: get icoll base address from device tree
Rather than using the static definition, it gets icoll base address with mapping from device tree. As the result, <mach/mxs.h> inclusion can be removed from the driver now. Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Diffstat (limited to 'arch/arm/mach-mxs')
-rw-r--r--arch/arm/mach-mxs/icoll.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/arm/mach-mxs/icoll.c b/arch/arm/mach-mxs/icoll.c
index e26eeba46598..1cf32af1e3f6 100644
--- a/arch/arm/mach-mxs/icoll.c
+++ b/arch/arm/mach-mxs/icoll.c
@@ -22,9 +22,9 @@
#include <linux/irqdomain.h>
#include <linux/io.h>
#include <linux/of.h>
+#include <linux/of_address.h>
#include <linux/of_irq.h>
#include <asm/exception.h>
-#include <mach/mxs.h>
#include <mach/common.h>
#define HW_ICOLL_VECTOR 0x0000
@@ -38,7 +38,7 @@
#define ICOLL_NUM_IRQS 128
-static void __iomem *icoll_base = MXS_IO_ADDRESS(MXS_ICOLL_BASE_ADDR);
+static void __iomem *icoll_base;
static struct irq_domain *icoll_domain;
static void icoll_ack_irq(struct irq_data *d)
@@ -103,6 +103,9 @@ static struct irq_domain_ops icoll_irq_domain_ops = {
static void __init icoll_of_init(struct device_node *np,
struct device_node *interrupt_parent)
{
+ icoll_base = of_iomap(np, 0);
+ WARN_ON(!icoll_base);
+
/*
* Interrupt Collector reset, which initializes the priority
* for each irq to level 0.