ARM: pxa3xx: skip default device initialization when booting via DT
authorDaniel Mack <zonque@gmail.com>
Wed, 25 Jul 2012 15:52:52 +0000 (17:52 +0200)
committerHaojian Zhuang <haojian.zhuang@gmail.com>
Thu, 16 Aug 2012 08:15:01 +0000 (16:15 +0800)
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>
arch/arm/mach-pxa/pxa3xx.c

index 1827d3ce2d5b36901ebd2fcbb3c69883c9caa46d..4a9d04a57de536e69a5bd20088a4a8eb1894f0dd 100644 (file)
@@ -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;