msm: qdss: limit platform data access to probe function

Ensure platform data is only accessed in the probe function to help
with code maintainance.

Change-Id: I5f085fa1b472364fad53d0681f79069cd046793f
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 c9bc9bc..83a6a36 100644
--- a/arch/arm/mach-msm/qdss.c
+++ b/arch/arm/mach-msm/qdss.c
@@ -41,7 +41,7 @@
  */
 struct qdss_ctx {
 	struct kobject			*modulekobj;
-	struct msm_qdss_platform_data	*pdata;
+	uint8_t				afamily;
 	struct list_head		sources;	/* S: sources list */
 	struct mutex			sources_mutex;
 	uint8_t				sink_count;	/* I: sink count */
@@ -120,7 +120,7 @@
 	if (ret)
 		goto err;
 
-	if ((qdss.pdata)->afamily) {
+	if (qdss.afamily) {
 		mutex_lock(&qdss.sink_mutex);
 		if (qdss.sink_count == 0) {
 			etb_disable();
@@ -154,7 +154,7 @@
 	if (!src)
 		return;
 
-	if ((qdss.pdata)->afamily) {
+	if (qdss.afamily) {
 		mutex_lock(&qdss.sink_mutex);
 		if (WARN(qdss.sink_count == 0, "qdss is unbalanced\n"))
 			goto out;
@@ -187,7 +187,7 @@
  */
 void qdss_disable_sink(void)
 {
-	if ((qdss.pdata)->afamily) {
+	if (qdss.afamily) {
 		etb_dump();
 		etb_disable();
 	}
@@ -330,24 +330,20 @@
 static int __devinit qdss_probe(struct platform_device *pdev)
 {
 	int ret;
-	struct qdss_source *src_table;
-	size_t num_srcs;
+	struct msm_qdss_platform_data *pdata;
 
 	mutex_init(&qdss.sources_mutex);
 	mutex_init(&qdss.clk_mutex);
 	mutex_init(&qdss.sink_mutex);
 
-	if (pdev->dev.platform_data == NULL) {
-		pr_err("%s: platform data is NULL\n", __func__);
-		ret = -ENODEV;
-		goto err_pdata;
-	}
-	qdss.pdata = pdev->dev.platform_data;
-
 	INIT_LIST_HEAD(&qdss.sources);
-	src_table = (qdss.pdata)->src_table;
-	num_srcs = (qdss.pdata)->size;
-	qdss_add_sources(src_table, num_srcs);
+
+	pdata = pdev->dev.platform_data;
+	if (!pdata)
+		goto err_pdata;
+
+	qdss.afamily = pdata->afamily;
+	qdss_add_sources(pdata->src_table, pdata->size);
 
 	pr_info("QDSS arch initialized\n");
 	return 0;