Unverified Commit 8d83282e authored by Kuninori Morimoto's avatar Kuninori Morimoto Committed by Mark Brown
Browse files

ASoC: audio-graph-card2: use snd_soc_ret()



We can use snd_soc_ret() to indicate error message when return.
Let's use it.

Signed-off-by: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://patch.msgid.link/877c652ql8.wl-kuninori.morimoto.gx@renesas.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 74a0ca4c
Loading
Loading
Loading
Loading
+49 −32
Original line number Diff line number Diff line
@@ -234,6 +234,13 @@ enum graph_type {
#define GRAPH_NODENAME_DPCM	"dpcm"
#define GRAPH_NODENAME_C2C	"codec2codec"

#define graph_ret(priv, ret) _graph_ret(priv, __func__, ret)
static inline int _graph_ret(struct simple_util_priv *priv,
			       const char *func, int ret)
{
	return snd_soc_ret(simple_priv_to_dev(priv), ret, "at %s()\n", func);
}

#define ep_to_port(ep)	of_get_parent(ep)
static struct device_node *port_to_ports(struct device_node *port)
{
@@ -411,19 +418,19 @@ static int __graph_parse_node(struct simple_util_priv *priv,

	ret = graph_util_parse_dai(priv, ep, dlc, &is_single_links);
	if (ret < 0)
		return ret;
		goto end;

	ret = simple_util_parse_tdm(ep, dai);
	if (ret < 0)
		return ret;
		goto end;

	ret = simple_util_parse_tdm_width_map(priv, ep, dai);
	if (ret < 0)
		return ret;
		goto end;

	ret = simple_util_parse_clk(dev, ep, dai, dlc);
	if (ret < 0)
		return ret;
		goto end;

	/*
	 * set DAI Name
@@ -488,11 +495,12 @@ static int __graph_parse_node(struct simple_util_priv *priv,
		simple_util_canonicalize_cpu(cpus, is_single_links);
		simple_util_canonicalize_platform(platforms, cpus);
	}

	return 0;
end:
	return graph_ret(priv, ret);
}

static int graph_parse_node_multi_nm(struct snd_soc_dai_link *dai_link,
static int graph_parse_node_multi_nm(struct simple_util_priv *priv,
				     struct snd_soc_dai_link *dai_link,
				     int *nm_idx, int cpu_idx,
				     struct device_node *mcpu_port)
{
@@ -534,10 +542,10 @@ static int graph_parse_node_multi_nm(struct snd_soc_dai_link *dai_link,
	struct device_node *mcodec_port_top	__free(device_node) = ep_to_port(mcodec_ep_top);
	struct device_node *mcodec_ports	__free(device_node) = port_to_ports(mcodec_port_top);
	int nm_max = max(dai_link->num_cpus, dai_link->num_codecs);
	int ret = 0;
	int ret = -EINVAL;

	if (cpu_idx > dai_link->num_cpus)
		return -EINVAL;
		goto end;

	for_each_of_graph_port_endpoint(mcpu_port, mcpu_ep_n) {
		int codec_idx = 0;
@@ -578,8 +586,8 @@ static int graph_parse_node_multi_nm(struct snd_soc_dai_link *dai_link,
		if (ret < 0)
			break;
	}

	return ret;
end:
	return graph_ret(priv, ret);
}

static int graph_parse_node_multi(struct simple_util_priv *priv,
@@ -633,7 +641,7 @@ static int graph_parse_node_multi(struct simple_util_priv *priv,

		/* CPU:Codec = N:M */
		if (is_cpu && dai_link->ch_maps) {
			ret = graph_parse_node_multi_nm(dai_link, &nm_idx, idx, port);
			ret = graph_parse_node_multi_nm(priv, dai_link, &nm_idx, idx, port);
			if (ret < 0)
				goto multi_err;
		}
@@ -643,7 +651,7 @@ static int graph_parse_node_multi(struct simple_util_priv *priv,
		ret = -EINVAL;

multi_err:
	return ret;
	return graph_ret(priv, ret);
}

static int graph_parse_node_single(struct simple_util_priv *priv,
@@ -651,7 +659,7 @@ static int graph_parse_node_single(struct simple_util_priv *priv,
				   struct device_node *ep,
				   struct link_info *li, int is_cpu)
{
	return __graph_parse_node(priv, gtype, ep, li, is_cpu, 0);
	return graph_ret(priv, __graph_parse_node(priv, gtype, ep, li, is_cpu, 0));
}

static int graph_parse_node(struct simple_util_priv *priv,
@@ -660,11 +668,14 @@ static int graph_parse_node(struct simple_util_priv *priv,
			    struct link_info *li, int is_cpu)
{
	struct device_node *port __free(device_node) = ep_to_port(ep);
	int ret;

	if (graph_lnk_is_multi(port))
		return graph_parse_node_multi(priv, gtype, port, li, is_cpu);
		ret = graph_parse_node_multi(priv, gtype, port, li, is_cpu);
	else
		return graph_parse_node_single(priv, gtype, ep, li, is_cpu);
		ret = graph_parse_node_single(priv, gtype, ep, li, is_cpu);

	return graph_ret(priv, ret);
}

static void graph_parse_daifmt(struct device_node *node, unsigned int *daifmt)
@@ -842,18 +853,19 @@ int audio_graph2_link_normal(struct simple_util_priv *priv,
	 */
	ret = graph_parse_node(priv, GRAPH_NORMAL, codec_ep, li, 0);
	if (ret < 0)
		return ret;
		goto end;

	/*
	 * call CPU, and set DAI Name
	 */
	ret = graph_parse_node(priv, GRAPH_NORMAL, cpu_ep, li, 1);
	if (ret < 0)
		return ret;
		goto end;

	graph_link_init(priv, lnk, cpu_ep, codec_ep, li, 1);

	return ret;
end:
	return graph_ret(priv, ret);
}
EXPORT_SYMBOL_GPL(audio_graph2_link_normal);

@@ -946,7 +958,7 @@ int audio_graph2_link_dpcm(struct simple_util_priv *priv,

	graph_link_init(priv, lnk, cpu_ep, codec_ep, li, is_cpu);

	return ret;
	return graph_ret(priv, ret);
}
EXPORT_SYMBOL_GPL(audio_graph2_link_dpcm);

@@ -992,8 +1004,13 @@ int audio_graph2_link_c2c(struct simple_util_priv *priv,
		struct snd_soc_pcm_stream *c2c_conf;

		c2c_conf = devm_kzalloc(dev, sizeof(*c2c_conf), GFP_KERNEL);
		if (!c2c_conf)
			return ret;
		if (!c2c_conf) {
			/*
			 * Clang doesn't allow to use "goto end" before calling __free(),
			 * because it bypasses the initialization. Use graph_ret() directly.
			 */
			return graph_ret(priv, -ENOMEM);
		}

		c2c_conf->formats	= SNDRV_PCM_FMTBIT_S32_LE; /* update ME */
		c2c_conf->rates		= SNDRV_PCM_RATE_8000_384000;
@@ -1019,18 +1036,18 @@ int audio_graph2_link_c2c(struct simple_util_priv *priv,
	 */
	ret = graph_parse_node(priv, GRAPH_C2C, codec1_ep, li, 0);
	if (ret < 0)
		return ret;
		goto end;

	/*
	 * call CPU, and set DAI Name
	 */
	ret = graph_parse_node(priv, GRAPH_C2C, codec0_ep, li, 1);
	if (ret < 0)
		return ret;
		goto end;

	graph_link_init(priv, lnk, codec0_ep, codec1_ep, li, 1);

	return ret;
end:
	return graph_ret(priv, ret);
}
EXPORT_SYMBOL_GPL(audio_graph2_link_c2c);

@@ -1078,7 +1095,7 @@ static int graph_link(struct simple_util_priv *priv,

	li->link++;
err:
	return ret;
	return graph_ret(priv, ret);
}

static int graph_counter(struct device_node *lnk)
@@ -1249,7 +1266,7 @@ static int graph_count(struct simple_util_priv *priv,

	li->link++;
err:
	return ret;
	return graph_ret(priv, ret);
}

static int graph_for_each_link(struct simple_util_priv *priv,
@@ -1266,7 +1283,7 @@ static int graph_for_each_link(struct simple_util_priv *priv,
	struct device_node *node = dev->of_node;
	struct device_node *lnk;
	enum graph_type gtype;
	int rc, ret;
	int rc, ret = 0;

	/* loop for all listed CPU port */
	of_for_each_phandle(&it, rc, node, "links", NULL, 0) {
@@ -1276,10 +1293,10 @@ static int graph_for_each_link(struct simple_util_priv *priv,

		ret = func(priv, hooks, gtype, lnk, li);
		if (ret < 0)
			return ret;
			break;
	}

	return 0;
	return graph_ret(priv, ret);
}

int audio_graph2_parse_of(struct simple_util_priv *priv, struct device *dev,
@@ -1355,7 +1372,7 @@ int audio_graph2_parse_of(struct simple_util_priv *priv, struct device *dev,
	if (ret < 0)
		dev_err_probe(dev, ret, "parse error\n");

	return ret;
	return graph_ret(priv, ret);
}
EXPORT_SYMBOL_GPL(audio_graph2_parse_of);