summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Mack <zonque@gmail.com>2012-07-25 17:52:52 +0200
committerHaojian Zhuang <haojian.zhuang@gmail.com>2012-08-16 10:15:01 +0200
commit82ce44d104dc97f4f7fbd035ca34f723f0fb7287 (patch)
treec6758ff48d48a0f70aea2e345cd93b5e42b244da
parentARM: pxa: add devicetree code for irq handling (diff)
downloadlinux-82ce44d104dc97f4f7fbd035ca34f723f0fb7287.tar.xz
linux-82ce44d104dc97f4f7fbd035ca34f723f0fb7287.zip
ARM: pxa3xx: skip default device initialization when booting via DT
When booting via DT, the default PXA devices must not have been probed before, otherwise the augmented information from the device tree is ignored. Signed-off-by: Daniel Mack <zonque@gmail.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Haojian Zhuang <haojian.zhuang@gmail.com>
-rw-r--r--arch/arm/mach-pxa/pxa3xx.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/arm/mach-pxa/pxa3xx.c b/arch/arm/mach-pxa/pxa3xx.c
index 1827d3ce2d5b..4a9d04a57de5 100644
--- a/arch/arm/mach-pxa/pxa3xx.c
+++ b/arch/arm/mach-pxa/pxa3xx.c
@@ -19,6 +19,7 @@
#include <linux/platform_device.h>
#include <linux/irq.h>
#include <linux/io.h>
+#include <linux/of.h>
#include <linux/syscore_ops.h>
#include <linux/i2c/pxa-i2c.h>
@@ -479,7 +480,8 @@ static int __init pxa3xx_init(void)
register_syscore_ops(&pxa3xx_mfp_syscore_ops);
register_syscore_ops(&pxa3xx_clock_syscore_ops);
- ret = platform_add_devices(devices, ARRAY_SIZE(devices));
+ if (!of_have_populated_dt())
+ ret = platform_add_devices(devices, ARRAY_SIZE(devices));
}
return ret;