ARM: OMAP2+: Use omap initcalls
authorTony Lindgren <tony@atomide.com>
Fri, 11 Jan 2013 19:24:18 +0000 (11:24 -0800)
committerTony Lindgren <tony@atomide.com>
Fri, 11 Jan 2013 19:24:18 +0000 (11:24 -0800)
This way the initcalls don't run on other SoCs on multiplatform
kernels. Otherwise we'll get something like this when booting
on vexpress:

omap_hwmod: _ensure_mpu_hwmod_is_setup: MPU initiator hwmod mpu not yet registered
...
WARNING: at arch/arm/mach-omap2/pm.c:82 _init_omap_device+0x74/0x94()
_init_omap_device: could not find omap_hwmod for mpu
...
omap-dma-engine omap-dma-engine: OMAP DMA engine driver
...

Tested-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
31 files changed:
arch/arm/mach-omap2/board-omap3beagle.c
arch/arm/mach-omap2/board-rx51-video.c
arch/arm/mach-omap2/clock2xxx.c
arch/arm/mach-omap2/clock3xxx.c
arch/arm/mach-omap2/devices.c
arch/arm/mach-omap2/dma.c
arch/arm/mach-omap2/drm.c
arch/arm/mach-omap2/emu.c
arch/arm/mach-omap2/fb.c
arch/arm/mach-omap2/gpio.c
arch/arm/mach-omap2/gpmc.c
arch/arm/mach-omap2/hdq1w.c
arch/arm/mach-omap2/hwspinlock.c
arch/arm/mach-omap2/mcbsp.c
arch/arm/mach-omap2/omap-iommu.c
arch/arm/mach-omap2/omap2-restart.c
arch/arm/mach-omap2/omap4-common.c
arch/arm/mach-omap2/omap_device.c
arch/arm/mach-omap2/omap_hwmod.c
arch/arm/mach-omap2/omap_phy_internal.c
arch/arm/mach-omap2/opp3xxx_data.c
arch/arm/mach-omap2/opp4xxx_data.c
arch/arm/mach-omap2/pm-debug.c
arch/arm/mach-omap2/pm.c
arch/arm/mach-omap2/pmu.c
arch/arm/mach-omap2/prm3xxx.c
arch/arm/mach-omap2/prm44xx.c
arch/arm/mach-omap2/serial.c
arch/arm/mach-omap2/smartreflex-class3.c
arch/arm/mach-omap2/timer.c
arch/arm/mach-omap2/wd_timer.c

index 22c483d5dfa829891fd8ec9ece81f35c94cf152b..5c68009a97955d29a6867407e4f16470452cc8f5 100644 (file)
@@ -494,7 +494,7 @@ static int __init beagle_opp_init(void)
        }
        return 0;
 }
-device_initcall(beagle_opp_init);
+omap_device_initcall(beagle_opp_init);
 
 static void __init omap3_beagle_init(void)
 {
index 46f4fc982766e638b920c456114b58d94eab7888..eb667261df0844555bb00de06c851ccc62bb9d7a 100644 (file)
@@ -18,6 +18,7 @@
 #include <video/omapdss.h>
 #include <linux/platform_data/spi-omap2-mcspi.h>
 
+#include "soc.h"
 #include "board-rx51.h"
 
 #include "mux.h"
@@ -85,5 +86,5 @@ static int __init rx51_video_init(void)
        return 0;
 }
 
-subsys_initcall(rx51_video_init);
+omap_subsys_initcall(rx51_video_init);
 #endif /* defined(CONFIG_FB_OMAP2) || defined(CONFIG_FB_OMAP2_MODULE) */
index 1ff646908627df9a2b161f404b778b2ab8d6f334..b870f6a9e28317fd5bf9704862c2f0e1fa0c0b8c 100644 (file)
@@ -52,6 +52,6 @@ static int __init omap2xxx_clk_arch_init(void)
        return ret;
 }
 
-arch_initcall(omap2xxx_clk_arch_init);
+omap_arch_initcall(omap2xxx_clk_arch_init);
 
 
index 4eacab8f1176b7437022bfa78b31adfdce8345a7..0b02b4161d71f9806fd10acea364d3dbfe005505 100644 (file)
@@ -94,6 +94,6 @@ static int __init omap3xxx_clk_arch_init(void)
        return ret;
 }
 
-arch_initcall(omap3xxx_clk_arch_init);
+omap_arch_initcall(omap3xxx_clk_arch_init);
 
 
index 5e304d0719a2ae763885d8e5468de14a1dad0257..7709e8d4efcb178988104b3a9d8fe280574550ef 100644 (file)
@@ -68,7 +68,7 @@ static int __init omap3_l3_init(void)
 
        return IS_ERR(pdev) ? PTR_ERR(pdev) : 0;
 }
-postcore_initcall(omap3_l3_init);
+omap_postcore_initcall(omap3_l3_init);
 
 static int __init omap4_l3_init(void)
 {
@@ -103,7 +103,7 @@ static int __init omap4_l3_init(void)
 
        return IS_ERR(pdev) ? PTR_ERR(pdev) : 0;
 }
-postcore_initcall(omap4_l3_init);
+omap_postcore_initcall(omap4_l3_init);
 
 #if defined(CONFIG_VIDEO_OMAP2) || defined(CONFIG_VIDEO_OMAP2_MODULE)
 
@@ -734,4 +734,4 @@ static int __init omap2_init_devices(void)
 
        return 0;
 }
-arch_initcall(omap2_init_devices);
+omap_arch_initcall(omap2_init_devices);
index 612b9824987351db13d331a7a0c302c091bf4b91..e034ab69a0460e211c5268279068bc180be163fa 100644 (file)
@@ -293,4 +293,4 @@ static int __init omap2_system_dma_init(void)
        return omap_hwmod_for_each_by_class("dma",
                        omap2_system_dma_init_dev, NULL);
 }
-arch_initcall(omap2_system_dma_init);
+omap_arch_initcall(omap2_system_dma_init);
index 4c7566c7e24a3f5ca90c5d320cc43a76fcbbd82a..ab8a0e64c5f7fa12e0be877588fd9eb5f0b1d57b 100644 (file)
@@ -62,6 +62,6 @@ static int __init omap_init_drm(void)
 
 }
 
-arch_initcall(omap_init_drm);
+omap_arch_initcall(omap_init_drm);
 
 #endif
index b3566f68a559fdff07705a637079f51182f09497..cbeaca2d7695a6c9497dfea6e9e0b248335937a2 100644 (file)
@@ -47,4 +47,4 @@ static int __init emu_init(void)
        return 0;
 }
 
-subsys_initcall(emu_init);
+omap_subsys_initcall(emu_init);
index d9bd965f6d073d80f3faee98bd7e00c6b088d12d..190ae493c6efe97bf2465b93245df54106cdd02b 100644 (file)
@@ -89,7 +89,7 @@ static int __init omap_init_vrfb(void)
                return 0;
 }
 
-arch_initcall(omap_init_vrfb);
+omap_arch_initcall(omap_init_vrfb);
 #endif
 
 #if defined(CONFIG_FB_OMAP2) || defined(CONFIG_FB_OMAP2_MODULE)
@@ -113,6 +113,6 @@ static int __init omap_init_fb(void)
        return platform_device_register(&omap_fb_device);
 }
 
-arch_initcall(omap_init_fb);
+omap_arch_initcall(omap_init_fb);
 
 #endif
index 399acabc3d0b96006641e30593fb4d586ad00737..40950f5af1f0076725979787b654fa67b57832f6 100644 (file)
@@ -23,6 +23,7 @@
 #include <linux/of.h>
 #include <linux/platform_data/gpio-omap.h>
 
+#include "soc.h"
 #include "omap_hwmod.h"
 #include "omap_device.h"
 #include "omap-pm.h"
@@ -147,7 +148,7 @@ static int __init omap2_gpio_dev_init(struct omap_hwmod *oh, void *unused)
 /*
  * gpio_init needs to be done before
  * machine_init functions access gpio APIs.
- * Hence gpio_init is a postcore_initcall.
+ * Hence gpio_init is a omap_postcore_initcall.
  */
 static int __init omap2_gpio_init(void)
 {
@@ -157,4 +158,4 @@ static int __init omap2_gpio_init(void)
 
        return omap_hwmod_for_each_by_class("gpio", omap2_gpio_dev_init, NULL);
 }
-postcore_initcall(omap2_gpio_init);
+omap_postcore_initcall(omap2_gpio_init);
index 8033cb747c86ecc60ca18397ec9a9a2bfd9855ca..972a6fc466caefc420f8a4cba6784debeadc4a1b 100644 (file)
@@ -1205,7 +1205,7 @@ static __exit void gpmc_exit(void)
 
 }
 
-postcore_initcall(gpmc_init);
+omap_postcore_initcall(gpmc_init);
 module_exit(gpmc_exit);
 
 static int __init omap_gpmc_init(void)
@@ -1225,7 +1225,7 @@ static int __init omap_gpmc_init(void)
 
        return IS_ERR(pdev) ? PTR_ERR(pdev) : 0;
 }
-postcore_initcall(omap_gpmc_init);
+omap_postcore_initcall(omap_gpmc_init);
 
 static irqreturn_t gpmc_handle_irq(int irq, void *dev)
 {
index ab7bf181a1052feb452f26efe34ca2089a291398..f6e0e7e68f9f4b1dd1a902d7e57619cd658a72dc 100644 (file)
@@ -27,6 +27,7 @@
 #include <linux/err.h>
 #include <linux/platform_device.h>
 
+#include "soc.h"
 #include "omap_hwmod.h"
 #include "omap_device.h"
 #include "hdq1w.h"
@@ -93,4 +94,4 @@ static int __init omap_init_hdq(void)
 
        return 0;
 }
-arch_initcall(omap_init_hdq);
+omap_arch_initcall(omap_init_hdq);
index 1df9b5feda16a5db49d09ca77e4ae8f374f1ee95..ce1b5b6fc22c976dd20f46ecb5df56446ad07eaa 100644 (file)
@@ -57,4 +57,4 @@ static int __init hwspinlocks_init(void)
        return retval;
 }
 /* early board code might need to reserve specific hwspinlock instances */
-postcore_initcall(hwspinlocks_init);
+omap_postcore_initcall(hwspinlocks_init);
index df49f2a4946122533715b71b6a8c81a080b34b8c..1c0968db43bf81e0d5ae669d4daf45366f544f89 100644 (file)
@@ -23,6 +23,7 @@
 
 #include <linux/omap-dma.h>
 
+#include "soc.h"
 #include "omap_device.h"
 
 /*
@@ -118,4 +119,4 @@ static int __init omap2_mcbsp_init(void)
 
        return 0;
 }
-arch_initcall(omap2_mcbsp_init);
+omap_arch_initcall(omap2_mcbsp_init);
index 6da4f7ae9d7f2d80545a53443b9ae51f1e64f214..dd8ce6d2f4ebbac4f35dae2a6bbe5f1acbbb7630 100644 (file)
@@ -61,7 +61,7 @@ static int __init omap_iommu_init(void)
        return omap_hwmod_for_each_by_class("mmu", omap_iommu_dev_init, NULL);
 }
 /* must be ready before omap3isp is probed */
-subsys_initcall(omap_iommu_init);
+omap_subsys_initcall(omap_iommu_init);
 
 static void __exit omap_iommu_exit(void)
 {
index be6bc89ab1e86eb385fc5ff11edd3eb22e20ce25..719b716a4494251fbb856896bd20f41adf15537d 100644 (file)
@@ -13,6 +13,7 @@
 #include <linux/clk.h>
 #include <linux/io.h>
 
+#include "soc.h"
 #include "common.h"
 #include "prm2xxx.h"
 
@@ -62,4 +63,4 @@ static int __init omap2xxx_common_look_up_clks_for_reset(void)
 
        return 0;
 }
-core_initcall(omap2xxx_common_look_up_clks_for_reset);
+omap_core_initcall(omap2xxx_common_look_up_clks_for_reset);
index 6897ae21bb82e29e88a5bb8c5b25c959398fcbd4..ec11e49e08e5b4542bde67442189aaf227ba6748 100644 (file)
@@ -225,7 +225,7 @@ static int __init omap_l2_cache_init(void)
 
        return 0;
 }
-early_initcall(omap_l2_cache_init);
+omap_early_initcall(omap_l2_cache_init);
 #endif
 
 void __iomem *omap4_get_sar_ram_base(void)
@@ -253,7 +253,7 @@ static int __init omap4_sar_ram_init(void)
 
        return 0;
 }
-early_initcall(omap4_sar_ram_init);
+omap_early_initcall(omap4_sar_ram_init);
 
 static struct of_device_id irq_match[] __initdata = {
        { .compatible = "arm,cortex-a9-gic", .data = gic_of_init, },
index e065daa537c07bd8c8946d394d9ab60c0b120c3b..d109f06785da28c93933f953c8e40cdf035771e3 100644 (file)
@@ -89,6 +89,7 @@
 #include <linux/of.h>
 #include <linux/notifier.h>
 
+#include "soc.h"
 #include "omap_device.h"
 #include "omap_hwmod.h"
 
@@ -1259,7 +1260,7 @@ static int __init omap_device_init(void)
        bus_register_notifier(&platform_bus_type, &platform_nb);
        return 0;
 }
-core_initcall(omap_device_init);
+omap_core_initcall(omap_device_init);
 
 /**
  * omap_device_late_idle - idle devices without drivers
@@ -1297,4 +1298,4 @@ static int __init omap_device_late_init(void)
        bus_for_each_dev(&platform_bus_type, NULL, NULL, omap_device_late_idle);
        return 0;
 }
-late_initcall(omap_device_late_init);
+omap_late_initcall(omap_device_late_init);
index 4653efb87a2721ea20a9fe06a30a6c204d6d2282..6e70707cbb3454434d42bf952bf63c26d4b1b1c4 100644 (file)
@@ -3303,7 +3303,7 @@ static int __init omap_hwmod_setup_all(void)
 
        return 0;
 }
-core_initcall(omap_hwmod_setup_all);
+omap_core_initcall(omap_hwmod_setup_all);
 
 /**
  * omap_hwmod_enable - enable an omap_hwmod
index e237602e10ea45ee3fe0f932242df79cd038bf11..eb8a25de67ed94be01bd5a6e63268e02d2fb9abe 100644 (file)
@@ -63,7 +63,7 @@ static int __init omap4430_phy_power_down(void)
 
        return 0;
 }
-early_initcall(omap4430_phy_power_down);
+omap_early_initcall(omap4430_phy_power_down);
 
 void am35x_musb_reset(void)
 {
index 62772e0e0d6959061068b31c8472f18ae84451a7..fc67add76444ac99cfd0728104fec7c3b0731c5f 100644 (file)
@@ -168,4 +168,4 @@ int __init omap3_opp_init(void)
 
        return r;
 }
-device_initcall(omap3_opp_init);
+omap_device_initcall(omap3_opp_init);
index d470b728e72085b7bcfad5d24fdd9c0a0919cc97..1ef7a3e5ce4aba1e8de7a95461b8991c4517ef46 100644 (file)
@@ -177,4 +177,4 @@ int __init omap4_opp_init(void)
                        ARRAY_SIZE(omap446x_opp_def_list));
        return r;
 }
-device_initcall(omap4_opp_init);
+omap_device_initcall(omap4_opp_init);
index e2c291f52f925b360253add1dc7f4921233bec8b..e0ac8a31d4e0cc6ea95b418271355f9491ad6c2a 100644 (file)
@@ -279,6 +279,6 @@ static int __init pm_dbg_init(void)
 
        return 0;
 }
-arch_initcall(pm_dbg_init);
+omap_arch_initcall(pm_dbg_init);
 
 #endif
index f4b3143a8b1d23f104419181c0d266b07e31ad78..9c65eddd97cc0cfa0e307ec608134a8e42a016e1 100644 (file)
@@ -336,7 +336,7 @@ static int __init omap2_common_pm_init(void)
 
        return 0;
 }
-postcore_initcall(omap2_common_pm_init);
+omap_postcore_initcall(omap2_common_pm_init);
 
 int __init omap2_common_pm_late_init(void)
 {
index eb78ae7a3464e4f00a3e4d36655a53a556e82528..75052b3bc943b60996968f2c45e72ff72380f97c 100644 (file)
@@ -89,4 +89,4 @@ static int __init omap_init_pmu(void)
 
        return omap2_init_pmu(oh_num, oh_names);
 }
-subsys_initcall(omap_init_pmu);
+omap_subsys_initcall(omap_init_pmu);
index e648bd55b0729a6b1023e1cc7b04b8f0c786e0fe..7721990d200680170698eb025b35ea5577ff75de 100644 (file)
@@ -427,7 +427,7 @@ static int __init omap3xxx_prm_late_init(void)
 
        return ret;
 }
-subsys_initcall(omap3xxx_prm_late_init);
+omap_subsys_initcall(omap3xxx_prm_late_init);
 
 static void __exit omap3xxx_prm_exit(void)
 {
index c05a343d465dcc1374a7c3a19142ca2e75d77517..d35f98aabf7a206c1b781511dd1ac3059eca9eeb 100644 (file)
@@ -665,7 +665,7 @@ static int __init omap44xx_prm_late_init(void)
 
        return omap_prcm_register_chain_handler(&omap4_prcm_irq_setup);
 }
-subsys_initcall(omap44xx_prm_late_init);
+omap_subsys_initcall(omap44xx_prm_late_init);
 
 static void __exit omap44xx_prm_exit(void)
 {
index 04fdbc4c499bb9d85b1ff920e46ede6d11891a69..24e9ad3cb9934eb524e74d06af24d868130af3a0 100644 (file)
@@ -254,7 +254,7 @@ static int __init omap_serial_early_init(void)
 
        return 0;
 }
-core_initcall(omap_serial_early_init);
+omap_core_initcall(omap_serial_early_init);
 
 /**
  * omap_serial_init_port() - initialize single serial port
index 1da8f03c479e9940fe2f2ba7ab8a7b569e2a9691..80f3acb266dc5fb261a92aff662e3049f3bf2e0c 100644 (file)
@@ -58,4 +58,4 @@ static int __init sr_class3_init(void)
        pr_info("SmartReflex Class3 initialized\n");
        return sr_register_class(&class3_data);
 }
-late_initcall(sr_class3_init);
+omap_late_initcall(sr_class3_init);
index 691aa674665a46cf4c8ce75c279443b82c5aff05..5b304beeeb12fc4a850a466e178ae30fa43d1f5a 100644 (file)
@@ -742,7 +742,7 @@ static int __init omap2_dm_timer_init(void)
 
        return 0;
 }
-arch_initcall(omap2_dm_timer_init);
+omap_arch_initcall(omap2_dm_timer_init);
 
 /**
  * omap2_override_clocksource - clocksource override with user configuration
index 7c2b4ed38f0261d7b6776103f2f531feb7991f44..70240a54995cc2248f657e7a3bcec709133e7c88 100644 (file)
@@ -130,4 +130,4 @@ static int __init omap_init_wdt(void)
             dev_name, oh->name);
        return 0;
 }
-subsys_initcall(omap_init_wdt);
+omap_subsys_initcall(omap_init_wdt);