Browse Source

ASoC: simple-card: tidyup get dai_link/dai_props from priv

It can get dai_link/dai_props pointer from priv + index

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Kuninori Morimoto 11 years ago
parent
commit
9810f5370b
1 changed files with 7 additions and 9 deletions
  1. 7 9
      sound/soc/generic/simple-card.c

+ 7 - 9
sound/soc/generic/simple-card.c

@@ -29,6 +29,8 @@ struct simple_card_data {
 };
 
 #define simple_priv_to_dev(priv) ((priv)->snd_card.dev)
+#define simple_priv_to_link(priv, i) ((priv)->snd_card.dai_link + i)
+#define simple_priv_to_props(priv, i) ((priv)->dai_props + i)
 
 static int asoc_simple_card_hw_params(struct snd_pcm_substream *substream,
 				      struct snd_pcm_hw_params *params)
@@ -173,11 +175,12 @@ asoc_simple_card_sub_parse_of(struct device_node *np,
 
 static int asoc_simple_card_dai_link_of(struct device_node *node,
 					struct simple_card_data *priv,
-					struct snd_soc_dai_link *dai_link,
-					struct simple_dai_props *dai_props,
+					int idx,
 					bool is_top_level_node)
 {
 	struct device *dev = simple_priv_to_dev(priv);
+	struct snd_soc_dai_link *dai_link = simple_priv_to_link(priv, idx);
+	struct simple_dai_props *dai_props = simple_priv_to_props(priv, idx);
 	struct device_node *np = NULL;
 	struct device_node *bitclkmaster = NULL;
 	struct device_node *framemaster = NULL;
@@ -325,8 +328,6 @@ static int asoc_simple_card_parse_of(struct device_node *node,
 				     struct simple_card_data *priv)
 {
 	struct device *dev = simple_priv_to_dev(priv);
-	struct snd_soc_dai_link *dai_link = priv->snd_card.dai_link;
-	struct simple_dai_props *dai_props = priv->dai_props;
 	u32 val;
 	int ret;
 
@@ -368,9 +369,7 @@ static int asoc_simple_card_parse_of(struct device_node *node,
 		for_each_child_of_node(node, np) {
 			dev_dbg(dev, "\tlink %d:\n", i);
 			ret = asoc_simple_card_dai_link_of(np, priv,
-							   dai_link + i,
-							   dai_props + i,
-							   false);
+							   i, false);
 			if (ret < 0) {
 				of_node_put(np);
 				return ret;
@@ -379,8 +378,7 @@ static int asoc_simple_card_parse_of(struct device_node *node,
 		}
 	} else {
 		/* For single DAI link & old style of DT node */
-		ret = asoc_simple_card_dai_link_of(node, priv,
-						   dai_link, dai_props, true);
+		ret = asoc_simple_card_dai_link_of(node, priv, 0, true);
 		if (ret < 0)
 			return ret;
 	}