Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b76e218a authored by Kuninori Morimoto's avatar Kuninori Morimoto Committed by Mark Brown
Browse files

ASoC: rsnd: add rsnd_mod_get() macro and use it



Renesas sound driver has SSI/SRC/DVC/CTU/MIX, and these are controlled
as modules. And these module are member of each modules's private data.
It used own method to get module pointer, but Let's use common method

Signed-off-by: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent ac37a45b
Loading
Loading
Loading
Loading
+3 −3
Original line number Original line Diff line number Diff line
@@ -66,7 +66,7 @@ struct rsnd_mod *rsnd_ctu_mod_get(struct rsnd_priv *priv, int id)
	if (WARN_ON(id < 0 || id >= rsnd_ctu_nr(priv)))
	if (WARN_ON(id < 0 || id >= rsnd_ctu_nr(priv)))
		id = 0;
		id = 0;


	return &((struct rsnd_ctu *)(priv->ctu) + id)->mod;
	return rsnd_mod_get((struct rsnd_ctu *)(priv->ctu) + id);
}
}


static void rsnd_of_parse_ctu(struct platform_device *pdev,
static void rsnd_of_parse_ctu(struct platform_device *pdev,
@@ -150,7 +150,7 @@ int rsnd_ctu_probe(struct platform_device *pdev,


		ctu->info = &info->ctu_info[i];
		ctu->info = &info->ctu_info[i];


		ret = rsnd_mod_init(priv, &ctu->mod, &rsnd_ctu_ops,
		ret = rsnd_mod_init(priv, rsnd_mod_get(ctu), &rsnd_ctu_ops,
				    clk, RSND_MOD_CTU, i);
				    clk, RSND_MOD_CTU, i);
		if (ret)
		if (ret)
			return ret;
			return ret;
@@ -166,6 +166,6 @@ void rsnd_ctu_remove(struct platform_device *pdev,
	int i;
	int i;


	for_each_rsnd_ctu(ctu, priv, i) {
	for_each_rsnd_ctu(ctu, priv, i) {
		rsnd_mod_quit(&ctu->mod);
		rsnd_mod_quit(rsnd_mod_get(ctu));
	}
	}
}
}
+3 −3
Original line number Original line Diff line number Diff line
@@ -282,7 +282,7 @@ struct rsnd_mod *rsnd_dvc_mod_get(struct rsnd_priv *priv, int id)
	if (WARN_ON(id < 0 || id >= rsnd_dvc_nr(priv)))
	if (WARN_ON(id < 0 || id >= rsnd_dvc_nr(priv)))
		id = 0;
		id = 0;


	return &((struct rsnd_dvc *)(priv->dvc) + id)->mod;
	return rsnd_mod_get((struct rsnd_dvc *)(priv->dvc) + id);
}
}


static void rsnd_of_parse_dvc(struct platform_device *pdev,
static void rsnd_of_parse_dvc(struct platform_device *pdev,
@@ -361,7 +361,7 @@ int rsnd_dvc_probe(struct platform_device *pdev,


		dvc->info = &info->dvc_info[i];
		dvc->info = &info->dvc_info[i];


		ret = rsnd_mod_init(priv, &dvc->mod, &rsnd_dvc_ops,
		ret = rsnd_mod_init(priv, rsnd_mod_get(dvc), &rsnd_dvc_ops,
			      clk, RSND_MOD_DVC, i);
			      clk, RSND_MOD_DVC, i);
		if (ret)
		if (ret)
			return ret;
			return ret;
@@ -377,6 +377,6 @@ void rsnd_dvc_remove(struct platform_device *pdev,
	int i;
	int i;


	for_each_rsnd_dvc(dvc, priv, i) {
	for_each_rsnd_dvc(dvc, priv, i) {
		rsnd_mod_quit(&dvc->mod);
		rsnd_mod_quit(rsnd_mod_get(dvc));
	}
	}
}
}
+3 −3
Original line number Original line Diff line number Diff line
@@ -99,7 +99,7 @@ struct rsnd_mod *rsnd_mix_mod_get(struct rsnd_priv *priv, int id)
	if (WARN_ON(id < 0 || id >= rsnd_mix_nr(priv)))
	if (WARN_ON(id < 0 || id >= rsnd_mix_nr(priv)))
		id = 0;
		id = 0;


	return &((struct rsnd_mix *)(priv->mix) + id)->mod;
	return rsnd_mod_get((struct rsnd_mix *)(priv->mix) + id);
}
}


static void rsnd_of_parse_mix(struct platform_device *pdev,
static void rsnd_of_parse_mix(struct platform_device *pdev,
@@ -179,7 +179,7 @@ int rsnd_mix_probe(struct platform_device *pdev,


		mix->info = &info->mix_info[i];
		mix->info = &info->mix_info[i];


		ret = rsnd_mod_init(priv, &mix->mod, &rsnd_mix_ops,
		ret = rsnd_mod_init(priv, rsnd_mod_get(mix), &rsnd_mix_ops,
				    clk, RSND_MOD_MIX, i);
				    clk, RSND_MOD_MIX, i);
		if (ret)
		if (ret)
			return ret;
			return ret;
@@ -195,6 +195,6 @@ void rsnd_mix_remove(struct platform_device *pdev,
	int i;
	int i;


	for_each_rsnd_mix(mix, priv, i) {
	for_each_rsnd_mix(mix, priv, i) {
		rsnd_mod_quit(&mix->mod);
		rsnd_mod_quit(rsnd_mod_get(mix));
	}
	}
}
}
+1 −0
Original line number Original line Diff line number Diff line
@@ -331,6 +331,7 @@ struct rsnd_mod {
#define rsnd_mod_id(mod) ((mod) ? (mod)->id : -1)
#define rsnd_mod_id(mod) ((mod) ? (mod)->id : -1)
#define rsnd_mod_hw_start(mod)	clk_enable((mod)->clk)
#define rsnd_mod_hw_start(mod)	clk_enable((mod)->clk)
#define rsnd_mod_hw_stop(mod)	clk_disable((mod)->clk)
#define rsnd_mod_hw_stop(mod)	clk_disable((mod)->clk)
#define rsnd_mod_get(ip)	(&(ip)->mod)


int rsnd_mod_init(struct rsnd_priv *priv,
int rsnd_mod_init(struct rsnd_priv *priv,
		  struct rsnd_mod *mod,
		  struct rsnd_mod *mod,
+3 −3
Original line number Original line Diff line number Diff line
@@ -976,7 +976,7 @@ struct rsnd_mod *rsnd_src_mod_get(struct rsnd_priv *priv, int id)
	if (WARN_ON(id < 0 || id >= rsnd_src_nr(priv)))
	if (WARN_ON(id < 0 || id >= rsnd_src_nr(priv)))
		id = 0;
		id = 0;


	return &((struct rsnd_src *)(priv->src) + id)->mod;
	return rsnd_mod_get((struct rsnd_src *)(priv->src) + id);
}
}


static void rsnd_of_parse_src(struct platform_device *pdev,
static void rsnd_of_parse_src(struct platform_device *pdev,
@@ -1071,7 +1071,7 @@ int rsnd_src_probe(struct platform_device *pdev,


		src->info = &info->src_info[i];
		src->info = &info->src_info[i];


		ret = rsnd_mod_init(priv, &src->mod, ops, clk, RSND_MOD_SRC, i);
		ret = rsnd_mod_init(priv, rsnd_mod_get(src), ops, clk, RSND_MOD_SRC, i);
		if (ret)
		if (ret)
			return ret;
			return ret;
	}
	}
@@ -1086,6 +1086,6 @@ void rsnd_src_remove(struct platform_device *pdev,
	int i;
	int i;


	for_each_rsnd_src(src, priv, i) {
	for_each_rsnd_src(src, priv, i) {
		rsnd_mod_quit(&src->mod);
		rsnd_mod_quit(rsnd_mod_get(src));
	}
	}
}
}
Loading