summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRajendra Nayak <rnayak@codeaurora.org>2015-10-13 17:10:09 +0530
committerAndy Gross <agross@codeaurora.org>2015-11-04 14:52:06 -0600
commit1f660f1ffb510b58322d7d8ca8128a0dce996623 (patch)
tree6cf41c9c139e32ad6dbcf4b71c8f6c9fcc46c820
parent67a1e6a0e5c0c0ba172e123239e11ab23044dbae (diff)
downloadlinux-1f660f1ffb510b58322d7d8ca8128a0dce996623.tar.gz
drivers: Make rpmcc probe early
Make smd/smd-rpm and rpmcc probe early. msm_bus driver does not defer probe on failure to get clocks. Signed-off-by: Rajendra Nayak <rnayak@codeaurora.org>
-rw-r--r--drivers/clk/qcom/rpmcc-msm8916.c12
-rw-r--r--drivers/mfd/qcom-smd-rpm.c12
-rw-r--r--drivers/soc/qcom/msm_bus/Makefile2
-rw-r--r--drivers/soc/qcom/smd.c2
4 files changed, 24 insertions, 4 deletions
diff --git a/drivers/clk/qcom/rpmcc-msm8916.c b/drivers/clk/qcom/rpmcc-msm8916.c
index 64050567cbb3..3251ff3b3e29 100644
--- a/drivers/clk/qcom/rpmcc-msm8916.c
+++ b/drivers/clk/qcom/rpmcc-msm8916.c
@@ -176,7 +176,17 @@ static struct platform_driver rpmcc_msm8916_driver = {
.remove = rpmcc_msm8916_remove,
};
-module_platform_driver(rpmcc_msm8916_driver);
+static int __init rpmcc_msm8916_init(void)
+{
+ return platform_driver_register(&rpmcc_msm8916_driver);
+}
+core_initcall(rpmcc_msm8916_init);
+
+static void __exit rpmcc_msm8916_exit(void)
+{
+ platform_driver_unregister(&rpmcc_msm8916_driver);
+}
+module_exit(rpmcc_msm8916_exit);
MODULE_LICENSE("GPL v2");
MODULE_DESCRIPTION("Qualcomm MSM8916 RPM Clock Controller Driver");
diff --git a/drivers/mfd/qcom-smd-rpm.c b/drivers/mfd/qcom-smd-rpm.c
index 10c8a84b7223..c25870026737 100644
--- a/drivers/mfd/qcom-smd-rpm.c
+++ b/drivers/mfd/qcom-smd-rpm.c
@@ -228,7 +228,17 @@ static struct qcom_smd_driver qcom_smd_rpm_driver = {
},
};
-module_qcom_smd_driver(qcom_smd_rpm_driver);
+static int __init qcom_smd_rpm_init(void)
+{
+ return qcom_smd_driver_register(&qcom_smd_rpm_driver);
+}
+core_initcall(qcom_smd_rpm_init);
+
+static void __exit qcom_smd_rpm_exit(void)
+{
+ qcom_smd_driver_unregister(&qcom_smd_rpm_driver);
+}
+module_exit(qcom_smd_rpm_exit);
MODULE_AUTHOR("Bjorn Andersson <bjorn.andersson@sonymobile.com>");
MODULE_DESCRIPTION("Qualcomm SMD backed RPM driver");
diff --git a/drivers/soc/qcom/msm_bus/Makefile b/drivers/soc/qcom/msm_bus/Makefile
index 3bbf6bef1257..03a540f4c199 100644
--- a/drivers/soc/qcom/msm_bus/Makefile
+++ b/drivers/soc/qcom/msm_bus/Makefile
@@ -1,7 +1,7 @@
#
# Makefile for msm-bus driver specific files
#
-obj-y += msm_bus_bimc.o msm_bus_noc.o msm_bus_core.o msm_bus_client_api.o
+obj-y += msm_bus_bimc.o msm_bus_noc.o msm_bus_core.o msm_bus_client_api.o qcom_rpm_msm_bus.o
obj-$(CONFIG_OF) += msm_bus_of.o
obj-$(CONFIG_QCOM_SMD_RPM) += msm_bus_rpm_smd.o
obj-$(CONFIG_QCOM_SMD_RPM) += qcom_rpm_msm_bus.o
diff --git a/drivers/soc/qcom/smd.c b/drivers/soc/qcom/smd.c
index 0fe3d648ce50..a3e14bf795e7 100644
--- a/drivers/soc/qcom/smd.c
+++ b/drivers/soc/qcom/smd.c
@@ -1249,7 +1249,7 @@ static int __init qcom_smd_init(void)
return platform_driver_register(&qcom_smd_driver);
}
-arch_initcall(qcom_smd_init);
+core_initcall(qcom_smd_init);
static void __exit qcom_smd_exit(void)
{