summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-tegra/irq.c
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2012-01-06 23:09:14 +0000
committerArnd Bergmann <arnd@arndb.de>2012-01-06 23:09:14 +0000
commite067096c8d57d191f29d734cd5692695c95cc36e (patch)
treee1c200404c3ed3730d04837113d59ca898eb483a /arch/arm/mach-tegra/irq.c
parent1fc3eb81100c3f3cd44e706e54390151b0f1ce74 (diff)
parente5570bbc9c06634cfac94e06ac1432b53d8595e5 (diff)
Merge branch 'tegra/soc' into next/boards
Conflicts: arch/arm/mach-tegra/board-harmony-pcie.c To fix an internal merge conflict between the tegra/soc and tegra/boards branches. Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'arch/arm/mach-tegra/irq.c')
-rw-r--r--arch/arm/mach-tegra/irq.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/arch/arm/mach-tegra/irq.c b/arch/arm/mach-tegra/irq.c
index 4956c3cea73..004b0fdf0d7 100644
--- a/arch/arm/mach-tegra/irq.c
+++ b/arch/arm/mach-tegra/irq.c
@@ -21,6 +21,7 @@
#include <linux/interrupt.h>
#include <linux/irq.h>
#include <linux/io.h>
+#include <linux/of.h>
#include <asm/hardware/gic.h>
@@ -129,6 +130,11 @@ void __init tegra_init_irq(void)
gic_arch_extn.irq_unmask = tegra_unmask;
gic_arch_extn.irq_retrigger = tegra_retrigger;
- gic_init(0, 29, IO_ADDRESS(TEGRA_ARM_INT_DIST_BASE),
- IO_ADDRESS(TEGRA_ARM_PERIF_BASE + 0x100));
+ /*
+ * Check if there is a devicetree present, since the GIC will be
+ * initialized elsewhere under DT.
+ */
+ if (!of_have_populated_dt())
+ gic_init(0, 29, IO_ADDRESS(TEGRA_ARM_INT_DIST_BASE),
+ IO_ADDRESS(TEGRA_ARM_PERIF_BASE + 0x100));
}