diff options
author | Shawn Guo <shawn.guo@linaro.org> | 2013-03-25 13:13:22 (GMT) |
---|---|---|
committer | Shawn Guo <shawn.guo@linaro.org> | 2013-04-01 08:30:03 (GMT) |
commit | 8256aa7129f5d0d1692f6a18b83b66fef43405ed (patch) | |
tree | 1ae2981095251fb73d6bf2d0af394ec9d20ff137 | |
parent | c74512bf83f3568baf566265c5bd3b8a96ede353 (diff) | |
download | linux-8256aa7129f5d0d1692f6a18b83b66fef43405ed.tar.xz |
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>
-rw-r--r-- | arch/arm/mach-mxs/icoll.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/arm/mach-mxs/icoll.c b/arch/arm/mach-mxs/icoll.c index e26eeba..1cf32af 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. |