msm: qdss: separate initialization of different drivers
Let all drivers (etm, etb, funnel, tpiu, qdss) initialize separately
to allow them to initialize at different initcall levels when required.
Change-Id: I6b0a36785f2e114cb1ac209fb0c2209733ad38dd
Signed-off-by: Pratik Patel <pratikp@codeaurora.org>
diff --git a/arch/arm/mach-msm/qdss.c b/arch/arm/mach-msm/qdss.c
index 80ec65a..effb09c 100644
--- a/arch/arm/mach-msm/qdss.c
+++ b/arch/arm/mach-msm/qdss.c
@@ -158,7 +158,7 @@
return ret;
}
-static void qdss_sysfs_exit(void)
+static void __exit qdss_sysfs_exit(void)
{
sysfs_remove_file(qdss.modulekobj, &max_clk_attr.attr);
}
@@ -172,29 +172,9 @@
ret = qdss_sysfs_init();
if (ret)
goto err_sysfs;
- ret = etb_init();
- if (ret)
- goto err_etb;
- ret = tpiu_init();
- if (ret)
- goto err_tpiu;
- ret = funnel_init();
- if (ret)
- goto err_funnel;
- ret = etm_init();
- if (ret)
- goto err_etm;
pr_info("QDSS initialized\n");
return 0;
-err_etm:
- funnel_exit();
-err_funnel:
- tpiu_exit();
-err_tpiu:
- etb_exit();
-err_etb:
- qdss_sysfs_exit();
err_sysfs:
mutex_destroy(&qdss.clk_mutex);
pr_err("QDSS init failed\n");
@@ -205,10 +185,6 @@
static void __exit qdss_exit(void)
{
qdss_sysfs_exit();
- etm_exit();
- funnel_exit();
- tpiu_exit();
- etb_exit();
mutex_destroy(&qdss.clk_mutex);
}
module_exit(qdss_exit);