msm: board-copper: Move clock init into msm_copper_add_drivers
The clock driver depends on rpm, rpm-smd and regulators
and needs to initialize after those drivers. Place the
clock init call at the right position in msm_copper_add_drivers.
Change-Id: Idf8c810d787140c451d9704767b805328c89c94c
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
diff --git a/arch/arm/mach-msm/board-copper.c b/arch/arm/mach-msm/board-copper.c
index 2afefa6..f83b403 100644
--- a/arch/arm/mach-msm/board-copper.c
+++ b/arch/arm/mach-msm/board-copper.c
@@ -421,33 +421,6 @@
platform_device_register(&copper_device_tz_log);
}
-/*
- * Used to satisfy dependencies for devices that need to be
- * run early or in a particular order. Most likely your device doesn't fall
- * into this category, and thus the driver should not be added here. The
- * EPROBE_DEFER can satisfy most dependency problems.
- */
-void __init msm_copper_add_drivers(void)
-{
- msm_smd_init();
- msm_rpm_driver_init();
- rpm_regulator_smd_driver_init();
- msm_spm_device_init();
- regulator_stub_init();
-}
-
-static struct of_device_id irq_match[] __initdata = {
- { .compatible = "qcom,msm-qgic2", .data = gic_of_init, },
- { .compatible = "qcom,msm-gpio", .data = msm_gpio_of_init, },
- { .compatible = "qcom,spmi-pmic-arb", .data = qpnpint_of_init, },
- {}
-};
-
-void __init msm_copper_init_irq(void)
-{
- of_irq_init(irq_match);
-}
-
static struct clk_lookup msm_clocks_dummy[] = {
CLK_DUMMY("xo", XO_CLK, NULL, OFF),
CLK_DUMMY("xo", XO_CLK, "pil_pronto", OFF),
@@ -476,6 +449,37 @@
.size = ARRAY_SIZE(msm_clocks_dummy),
};
+/*
+ * Used to satisfy dependencies for devices that need to be
+ * run early or in a particular order. Most likely your device doesn't fall
+ * into this category, and thus the driver should not be added here. The
+ * EPROBE_DEFER can satisfy most dependency problems.
+ */
+void __init msm_copper_add_drivers(void)
+{
+ msm_smd_init();
+ msm_rpm_driver_init();
+ rpm_regulator_smd_driver_init();
+ msm_spm_device_init();
+ regulator_stub_init();
+ if (machine_is_copper_rumi())
+ msm_clock_init(&msm_dummy_clock_init_data);
+ else
+ msm_clock_init(&msmcopper_clock_init_data);
+}
+
+static struct of_device_id irq_match[] __initdata = {
+ { .compatible = "qcom,msm-qgic2", .data = gic_of_init, },
+ { .compatible = "qcom,msm-gpio", .data = msm_gpio_of_init, },
+ { .compatible = "qcom,spmi-pmic-arb", .data = qpnpint_of_init, },
+ {}
+};
+
+void __init msm_copper_init_irq(void)
+{
+ of_irq_init(irq_match);
+}
+
static struct of_dev_auxdata msm_copper_auxdata_lookup[] __initdata = {
OF_DEV_AUXDATA("qcom,msm-lsuart-v14", 0xF991F000, \
"msm_serial_hsl.0", NULL),
@@ -510,11 +514,6 @@
{
msm_copper_init_gpiomux();
- if (machine_is_copper_rumi())
- msm_clock_init(&msm_dummy_clock_init_data);
- else
- msm_clock_init(&msmcopper_clock_init_data);
-
*adata = msm_copper_auxdata_lookup;
regulator_has_full_constraints();