summaryrefslogtreecommitdiff
path: root/target/linux/layerscape/patches-5.4/801-audio-0011-Revert-ASoC-fsl_sai-add-of_match-data.patch
blob: d6a8c97379c2ceb4b4c3d8a2aa514b119b17b83d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
From 6e0abca40338d5078be0e5947c7f9723b40bc7e7 Mon Sep 17 00:00:00 2001
From: Dong Aisheng <aisheng.dong@nxp.com>
Date: Mon, 30 Mar 2020 16:17:52 +0800
Subject: [PATCH] Revert "ASoC: fsl_sai: add of_match data"

This reverts commit 89c9679f699d88986ce552738dc7c5c500c8fc67.

[rebase]
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
---
 sound/soc/fsl/fsl_sai.c | 22 ++++++++--------------
 sound/soc/fsl/fsl_sai.h |  6 +-----
 2 files changed, 9 insertions(+), 19 deletions(-)

--- a/sound/soc/fsl/fsl_sai.c
+++ b/sound/soc/fsl/fsl_sai.c
@@ -9,7 +9,6 @@
 #include <linux/dmaengine.h>
 #include <linux/module.h>
 #include <linux/of_address.h>
-#include <linux/of_device.h>
 #include <linux/pm_runtime.h>
 #include <linux/regmap.h>
 #include <linux/slab.h>
@@ -790,7 +789,10 @@ static int fsl_sai_probe(struct platform
 		return -ENOMEM;
 
 	sai->pdev = pdev;
-	sai->soc_data = of_device_get_match_data(&pdev->dev);
+
+	if (of_device_is_compatible(np, "fsl,imx6sx-sai") ||
+	    of_device_is_compatible(np, "fsl,imx6ul-sai"))
+		sai->sai_on_imx = true;
 
 	sai->is_lsb_first = of_property_read_bool(np, "lsb-first");
 
@@ -902,7 +904,7 @@ static int fsl_sai_probe(struct platform
 	if (ret)
 		goto err_pm_disable;
 
-	if (sai->soc_data->use_imx_pcm) {
+	if (sai->sai_on_imx)
 		ret = imx_pcm_dma_init(pdev, IMX_SAI_DMABUF_SIZE);
 		if (ret)
 			goto err_pm_disable;
@@ -927,18 +929,10 @@ static int fsl_sai_remove(struct platfor
 	return 0;
 }
 
-static const struct fsl_sai_soc_data fsl_sai_vf610_data = {
-	.use_imx_pcm = false,
-};
-
-static const struct fsl_sai_soc_data fsl_sai_imx6sx_data = {
-	.use_imx_pcm = true,
-};
-
 static const struct of_device_id fsl_sai_ids[] = {
-	{ .compatible = "fsl,vf610-sai", .data = &fsl_sai_vf610_data },
-	{ .compatible = "fsl,imx6sx-sai", .data = &fsl_sai_imx6sx_data },
-	{ .compatible = "fsl,imx6ul-sai", .data = &fsl_sai_imx6sx_data },
+	{ .compatible = "fsl,vf610-sai", },
+	{ .compatible = "fsl,imx6sx-sai", },
+	{ .compatible = "fsl,imx6ul-sai", },
 	{ /* sentinel */ }
 };
 MODULE_DEVICE_TABLE(of, fsl_sai_ids);
--- a/sound/soc/fsl/fsl_sai.h
+++ b/sound/soc/fsl/fsl_sai.h
@@ -126,10 +126,6 @@
 #define FSL_SAI_MAXBURST_TX 6
 #define FSL_SAI_MAXBURST_RX 6
 
-struct fsl_sai_soc_data {
-	bool use_imx_pcm;
-};
-
 struct fsl_sai {
 	struct platform_device *pdev;
 	struct regmap *regmap;
@@ -139,6 +135,7 @@ struct fsl_sai {
 	bool is_slave_mode;
 	bool is_lsb_first;
 	bool is_dsp_mode;
+	bool sai_on_imx;
 	bool synchronous[2];
 
 	unsigned int mclk_id[2];
@@ -146,7 +143,6 @@ struct fsl_sai {
 	unsigned int slots;
 	unsigned int slot_width;
 
-	const struct fsl_sai_soc_data *soc_data;
 	struct snd_soc_dai_driver cpu_dai_drv;
 	struct snd_dmaengine_dai_dma_data dma_params_rx;
 	struct snd_dmaengine_dai_dma_data dma_params_tx;