diff options
author | Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> | 2015-01-15 03:07:19 -0500 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2015-01-15 06:37:48 -0500 |
commit | f708d944fee384961f5ab7df3463760099c9d69c (patch) | |
tree | 519ae6649b81380d4109dc1ebc694054ff85ec59 | |
parent | 985a4f6e61560c4cba19d910a0d81757a1063571 (diff) |
ASoC: rsnd: remove unsed rdai parameter from each function
Current rsnd driver's many functions requests struct rsnd_dai (= rdai),
but, 1) we can get rdai from rsnd_io_to_rsnd(), 2) almost all rdai
is not used. Let's remove these rdai.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r-- | sound/soc/sh/rcar/adg.c | 12 | ||||
-rw-r--r-- | sound/soc/sh/rcar/core.c | 19 | ||||
-rw-r--r-- | sound/soc/sh/rcar/dvc.c | 12 | ||||
-rw-r--r-- | sound/soc/sh/rcar/rsnd.h | 18 | ||||
-rw-r--r-- | sound/soc/sh/rcar/src.c | 54 | ||||
-rw-r--r-- | sound/soc/sh/rcar/ssi.c | 28 |
6 files changed, 56 insertions, 87 deletions
diff --git a/sound/soc/sh/rcar/adg.c b/sound/soc/sh/rcar/adg.c index 9d22c75b9b32..7ac35c9d1cb8 100644 --- a/sound/soc/sh/rcar/adg.c +++ b/sound/soc/sh/rcar/adg.c | |||
@@ -57,8 +57,7 @@ static u32 rsnd_adg_ssi_ws_timing_gen2(struct rsnd_dai_stream *io) | |||
57 | return (0x6 + ws) << 8; | 57 | return (0x6 + ws) << 8; |
58 | } | 58 | } |
59 | 59 | ||
60 | int rsnd_adg_set_cmd_timsel_gen2(struct rsnd_dai *rdai, | 60 | int rsnd_adg_set_cmd_timsel_gen2(struct rsnd_mod *mod, |
61 | struct rsnd_mod *mod, | ||
62 | struct rsnd_dai_stream *io) | 61 | struct rsnd_dai_stream *io) |
63 | { | 62 | { |
64 | int id = rsnd_mod_id(mod); | 63 | int id = rsnd_mod_id(mod); |
@@ -75,8 +74,7 @@ int rsnd_adg_set_cmd_timsel_gen2(struct rsnd_dai *rdai, | |||
75 | return 0; | 74 | return 0; |
76 | } | 75 | } |
77 | 76 | ||
78 | static int rsnd_adg_set_src_timsel_gen2(struct rsnd_dai *rdai, | 77 | static int rsnd_adg_set_src_timsel_gen2(struct rsnd_mod *mod, |
79 | struct rsnd_mod *mod, | ||
80 | struct rsnd_dai_stream *io, | 78 | struct rsnd_dai_stream *io, |
81 | u32 timsel) | 79 | u32 timsel) |
82 | { | 80 | { |
@@ -122,7 +120,6 @@ static int rsnd_adg_set_src_timsel_gen2(struct rsnd_dai *rdai, | |||
122 | } | 120 | } |
123 | 121 | ||
124 | int rsnd_adg_set_convert_clk_gen2(struct rsnd_mod *mod, | 122 | int rsnd_adg_set_convert_clk_gen2(struct rsnd_mod *mod, |
125 | struct rsnd_dai *rdai, | ||
126 | struct rsnd_dai_stream *io, | 123 | struct rsnd_dai_stream *io, |
127 | unsigned int src_rate, | 124 | unsigned int src_rate, |
128 | unsigned int dst_rate) | 125 | unsigned int dst_rate) |
@@ -178,7 +175,7 @@ int rsnd_adg_set_convert_clk_gen2(struct rsnd_mod *mod, | |||
178 | return -EIO; | 175 | return -EIO; |
179 | } | 176 | } |
180 | 177 | ||
181 | ret = rsnd_adg_set_src_timsel_gen2(rdai, mod, io, val); | 178 | ret = rsnd_adg_set_src_timsel_gen2(mod, io, val); |
182 | if (ret < 0) { | 179 | if (ret < 0) { |
183 | dev_err(dev, "timsel error\n"); | 180 | dev_err(dev, "timsel error\n"); |
184 | return ret; | 181 | return ret; |
@@ -190,12 +187,11 @@ int rsnd_adg_set_convert_clk_gen2(struct rsnd_mod *mod, | |||
190 | } | 187 | } |
191 | 188 | ||
192 | int rsnd_adg_set_convert_timing_gen2(struct rsnd_mod *mod, | 189 | int rsnd_adg_set_convert_timing_gen2(struct rsnd_mod *mod, |
193 | struct rsnd_dai *rdai, | ||
194 | struct rsnd_dai_stream *io) | 190 | struct rsnd_dai_stream *io) |
195 | { | 191 | { |
196 | u32 val = rsnd_adg_ssi_ws_timing_gen2(io); | 192 | u32 val = rsnd_adg_ssi_ws_timing_gen2(io); |
197 | 193 | ||
198 | return rsnd_adg_set_src_timsel_gen2(rdai, mod, io, val); | 194 | return rsnd_adg_set_src_timsel_gen2(mod, io, val); |
199 | } | 195 | } |
200 | 196 | ||
201 | int rsnd_adg_set_convert_clk_gen1(struct rsnd_priv *priv, | 197 | int rsnd_adg_set_convert_clk_gen1(struct rsnd_priv *priv, |
diff --git a/sound/soc/sh/rcar/core.c b/sound/soc/sh/rcar/core.c index c1f577da41fe..74e2c4214058 100644 --- a/sound/soc/sh/rcar/core.c +++ b/sound/soc/sh/rcar/core.c | |||
@@ -1025,7 +1025,6 @@ static int rsnd_kctrl_put(struct snd_kcontrol *kctrl, | |||
1025 | } | 1025 | } |
1026 | 1026 | ||
1027 | static int __rsnd_kctrl_new(struct rsnd_mod *mod, | 1027 | static int __rsnd_kctrl_new(struct rsnd_mod *mod, |
1028 | struct rsnd_dai *rdai, | ||
1029 | struct snd_soc_pcm_runtime *rtd, | 1028 | struct snd_soc_pcm_runtime *rtd, |
1030 | const unsigned char *name, | 1029 | const unsigned char *name, |
1031 | struct rsnd_kctrl_cfg *cfg, | 1030 | struct rsnd_kctrl_cfg *cfg, |
@@ -1057,7 +1056,6 @@ static int __rsnd_kctrl_new(struct rsnd_mod *mod, | |||
1057 | } | 1056 | } |
1058 | 1057 | ||
1059 | int rsnd_kctrl_new_m(struct rsnd_mod *mod, | 1058 | int rsnd_kctrl_new_m(struct rsnd_mod *mod, |
1060 | struct rsnd_dai *rdai, | ||
1061 | struct snd_soc_pcm_runtime *rtd, | 1059 | struct snd_soc_pcm_runtime *rtd, |
1062 | const unsigned char *name, | 1060 | const unsigned char *name, |
1063 | void (*update)(struct rsnd_mod *mod), | 1061 | void (*update)(struct rsnd_mod *mod), |
@@ -1067,11 +1065,10 @@ int rsnd_kctrl_new_m(struct rsnd_mod *mod, | |||
1067 | _cfg->cfg.max = max; | 1065 | _cfg->cfg.max = max; |
1068 | _cfg->cfg.size = RSND_DVC_CHANNELS; | 1066 | _cfg->cfg.size = RSND_DVC_CHANNELS; |
1069 | _cfg->cfg.val = _cfg->val; | 1067 | _cfg->cfg.val = _cfg->val; |
1070 | return __rsnd_kctrl_new(mod, rdai, rtd, name, &_cfg->cfg, update); | 1068 | return __rsnd_kctrl_new(mod, rtd, name, &_cfg->cfg, update); |
1071 | } | 1069 | } |
1072 | 1070 | ||
1073 | int rsnd_kctrl_new_s(struct rsnd_mod *mod, | 1071 | int rsnd_kctrl_new_s(struct rsnd_mod *mod, |
1074 | struct rsnd_dai *rdai, | ||
1075 | struct snd_soc_pcm_runtime *rtd, | 1072 | struct snd_soc_pcm_runtime *rtd, |
1076 | const unsigned char *name, | 1073 | const unsigned char *name, |
1077 | void (*update)(struct rsnd_mod *mod), | 1074 | void (*update)(struct rsnd_mod *mod), |
@@ -1081,11 +1078,10 @@ int rsnd_kctrl_new_s(struct rsnd_mod *mod, | |||
1081 | _cfg->cfg.max = max; | 1078 | _cfg->cfg.max = max; |
1082 | _cfg->cfg.size = 1; | 1079 | _cfg->cfg.size = 1; |
1083 | _cfg->cfg.val = &_cfg->val; | 1080 | _cfg->cfg.val = &_cfg->val; |
1084 | return __rsnd_kctrl_new(mod, rdai, rtd, name, &_cfg->cfg, update); | 1081 | return __rsnd_kctrl_new(mod, rtd, name, &_cfg->cfg, update); |
1085 | } | 1082 | } |
1086 | 1083 | ||
1087 | int rsnd_kctrl_new_e(struct rsnd_mod *mod, | 1084 | int rsnd_kctrl_new_e(struct rsnd_mod *mod, |
1088 | struct rsnd_dai *rdai, | ||
1089 | struct snd_soc_pcm_runtime *rtd, | 1085 | struct snd_soc_pcm_runtime *rtd, |
1090 | const unsigned char *name, | 1086 | const unsigned char *name, |
1091 | struct rsnd_kctrl_cfg_s *_cfg, | 1087 | struct rsnd_kctrl_cfg_s *_cfg, |
@@ -1097,7 +1093,7 @@ int rsnd_kctrl_new_e(struct rsnd_mod *mod, | |||
1097 | _cfg->cfg.size = 1; | 1093 | _cfg->cfg.size = 1; |
1098 | _cfg->cfg.val = &_cfg->val; | 1094 | _cfg->cfg.val = &_cfg->val; |
1099 | _cfg->cfg.texts = texts; | 1095 | _cfg->cfg.texts = texts; |
1100 | return __rsnd_kctrl_new(mod, rdai, rtd, name, &_cfg->cfg, update); | 1096 | return __rsnd_kctrl_new(mod, rtd, name, &_cfg->cfg, update); |
1101 | } | 1097 | } |
1102 | 1098 | ||
1103 | /* | 1099 | /* |
@@ -1138,10 +1134,9 @@ static const struct snd_soc_component_driver rsnd_soc_component = { | |||
1138 | }; | 1134 | }; |
1139 | 1135 | ||
1140 | static int rsnd_rdai_continuance_probe(struct rsnd_priv *priv, | 1136 | static int rsnd_rdai_continuance_probe(struct rsnd_priv *priv, |
1141 | struct rsnd_dai *rdai, | 1137 | struct rsnd_dai_stream *io) |
1142 | int is_play) | ||
1143 | { | 1138 | { |
1144 | struct rsnd_dai_stream *io = is_play ? &rdai->playback : &rdai->capture; | 1139 | struct rsnd_dai *rdai = rsnd_io_to_rdai(io); |
1145 | int ret; | 1140 | int ret; |
1146 | 1141 | ||
1147 | ret = rsnd_dai_call(probe, io, rdai); | 1142 | ret = rsnd_dai_call(probe, io, rdai); |
@@ -1241,11 +1236,11 @@ static int rsnd_probe(struct platform_device *pdev) | |||
1241 | } | 1236 | } |
1242 | 1237 | ||
1243 | for_each_rsnd_dai(rdai, priv, i) { | 1238 | for_each_rsnd_dai(rdai, priv, i) { |
1244 | ret = rsnd_rdai_continuance_probe(priv, rdai, 1); | 1239 | ret = rsnd_rdai_continuance_probe(priv, &rdai->playback); |
1245 | if (ret) | 1240 | if (ret) |
1246 | goto exit_snd_probe; | 1241 | goto exit_snd_probe; |
1247 | 1242 | ||
1248 | ret = rsnd_rdai_continuance_probe(priv, rdai, 0); | 1243 | ret = rsnd_rdai_continuance_probe(priv, &rdai->capture); |
1249 | if (ret) | 1244 | if (ret) |
1250 | goto exit_snd_probe; | 1245 | goto exit_snd_probe; |
1251 | } | 1246 | } |
diff --git a/sound/soc/sh/rcar/dvc.c b/sound/soc/sh/rcar/dvc.c index 225baa32bf0b..e24db9e4ee25 100644 --- a/sound/soc/sh/rcar/dvc.c +++ b/sound/soc/sh/rcar/dvc.c | |||
@@ -171,7 +171,7 @@ static int rsnd_dvc_init(struct rsnd_mod *dvc_mod, | |||
171 | 171 | ||
172 | rsnd_mod_write(dvc_mod, DVC_DVUIR, 0); | 172 | rsnd_mod_write(dvc_mod, DVC_DVUIR, 0); |
173 | 173 | ||
174 | rsnd_adg_set_cmd_timsel_gen2(rdai, dvc_mod, io); | 174 | rsnd_adg_set_cmd_timsel_gen2(dvc_mod, io); |
175 | 175 | ||
176 | return 0; | 176 | return 0; |
177 | } | 177 | } |
@@ -210,7 +210,7 @@ static int rsnd_dvc_pcm_new(struct rsnd_mod *mod, | |||
210 | int ret; | 210 | int ret; |
211 | 211 | ||
212 | /* Volume */ | 212 | /* Volume */ |
213 | ret = rsnd_kctrl_new_m(mod, rdai, rtd, | 213 | ret = rsnd_kctrl_new_m(mod, rtd, |
214 | is_play ? | 214 | is_play ? |
215 | "DVC Out Playback Volume" : "DVC In Capture Volume", | 215 | "DVC Out Playback Volume" : "DVC In Capture Volume", |
216 | rsnd_dvc_volume_update, | 216 | rsnd_dvc_volume_update, |
@@ -219,7 +219,7 @@ static int rsnd_dvc_pcm_new(struct rsnd_mod *mod, | |||
219 | return ret; | 219 | return ret; |
220 | 220 | ||
221 | /* Mute */ | 221 | /* Mute */ |
222 | ret = rsnd_kctrl_new_m(mod, rdai, rtd, | 222 | ret = rsnd_kctrl_new_m(mod, rtd, |
223 | is_play ? | 223 | is_play ? |
224 | "DVC Out Mute Switch" : "DVC In Mute Switch", | 224 | "DVC Out Mute Switch" : "DVC In Mute Switch", |
225 | rsnd_dvc_volume_update, | 225 | rsnd_dvc_volume_update, |
@@ -228,7 +228,7 @@ static int rsnd_dvc_pcm_new(struct rsnd_mod *mod, | |||
228 | return ret; | 228 | return ret; |
229 | 229 | ||
230 | /* Ramp */ | 230 | /* Ramp */ |
231 | ret = rsnd_kctrl_new_s(mod, rdai, rtd, | 231 | ret = rsnd_kctrl_new_s(mod, rtd, |
232 | is_play ? | 232 | is_play ? |
233 | "DVC Out Ramp Switch" : "DVC In Ramp Switch", | 233 | "DVC Out Ramp Switch" : "DVC In Ramp Switch", |
234 | rsnd_dvc_volume_update, | 234 | rsnd_dvc_volume_update, |
@@ -236,7 +236,7 @@ static int rsnd_dvc_pcm_new(struct rsnd_mod *mod, | |||
236 | if (ret < 0) | 236 | if (ret < 0) |
237 | return ret; | 237 | return ret; |
238 | 238 | ||
239 | ret = rsnd_kctrl_new_e(mod, rdai, rtd, | 239 | ret = rsnd_kctrl_new_e(mod, rtd, |
240 | is_play ? | 240 | is_play ? |
241 | "DVC Out Ramp Up Rate" : "DVC In Ramp Up Rate", | 241 | "DVC Out Ramp Up Rate" : "DVC In Ramp Up Rate", |
242 | &dvc->rup, | 242 | &dvc->rup, |
@@ -245,7 +245,7 @@ static int rsnd_dvc_pcm_new(struct rsnd_mod *mod, | |||
245 | if (ret < 0) | 245 | if (ret < 0) |
246 | return ret; | 246 | return ret; |
247 | 247 | ||
248 | ret = rsnd_kctrl_new_e(mod, rdai, rtd, | 248 | ret = rsnd_kctrl_new_e(mod, rtd, |
249 | is_play ? | 249 | is_play ? |
250 | "DVC Out Ramp Down Rate" : "DVC In Ramp Down Rate", | 250 | "DVC Out Ramp Down Rate" : "DVC In Ramp Down Rate", |
251 | &dvc->rdown, | 251 | &dvc->rdown, |
diff --git a/sound/soc/sh/rcar/rsnd.h b/sound/soc/sh/rcar/rsnd.h index 83eb46c35e94..aaba717b8fd3 100644 --- a/sound/soc/sh/rcar/rsnd.h +++ b/sound/soc/sh/rcar/rsnd.h | |||
@@ -351,15 +351,12 @@ int rsnd_adg_set_convert_clk_gen1(struct rsnd_priv *priv, | |||
351 | unsigned int src_rate, | 351 | unsigned int src_rate, |
352 | unsigned int dst_rate); | 352 | unsigned int dst_rate); |
353 | int rsnd_adg_set_convert_clk_gen2(struct rsnd_mod *mod, | 353 | int rsnd_adg_set_convert_clk_gen2(struct rsnd_mod *mod, |
354 | struct rsnd_dai *rdai, | ||
355 | struct rsnd_dai_stream *io, | 354 | struct rsnd_dai_stream *io, |
356 | unsigned int src_rate, | 355 | unsigned int src_rate, |
357 | unsigned int dst_rate); | 356 | unsigned int dst_rate); |
358 | int rsnd_adg_set_convert_timing_gen2(struct rsnd_mod *mod, | 357 | int rsnd_adg_set_convert_timing_gen2(struct rsnd_mod *mod, |
359 | struct rsnd_dai *rdai, | ||
360 | struct rsnd_dai_stream *io); | 358 | struct rsnd_dai_stream *io); |
361 | int rsnd_adg_set_cmd_timsel_gen2(struct rsnd_dai *rdai, | 359 | int rsnd_adg_set_cmd_timsel_gen2(struct rsnd_mod *mod, |
362 | struct rsnd_mod *mod, | ||
363 | struct rsnd_dai_stream *io); | 360 | struct rsnd_dai_stream *io); |
364 | 361 | ||
365 | /* | 362 | /* |
@@ -453,21 +450,18 @@ struct rsnd_kctrl_cfg_s { | |||
453 | }; | 450 | }; |
454 | 451 | ||
455 | int rsnd_kctrl_new_m(struct rsnd_mod *mod, | 452 | int rsnd_kctrl_new_m(struct rsnd_mod *mod, |
456 | struct rsnd_dai *rdai, | ||
457 | struct snd_soc_pcm_runtime *rtd, | 453 | struct snd_soc_pcm_runtime *rtd, |
458 | const unsigned char *name, | 454 | const unsigned char *name, |
459 | void (*update)(struct rsnd_mod *mod), | 455 | void (*update)(struct rsnd_mod *mod), |
460 | struct rsnd_kctrl_cfg_m *_cfg, | 456 | struct rsnd_kctrl_cfg_m *_cfg, |
461 | u32 max); | 457 | u32 max); |
462 | int rsnd_kctrl_new_s(struct rsnd_mod *mod, | 458 | int rsnd_kctrl_new_s(struct rsnd_mod *mod, |
463 | struct rsnd_dai *rdai, | ||
464 | struct snd_soc_pcm_runtime *rtd, | 459 | struct snd_soc_pcm_runtime *rtd, |
465 | const unsigned char *name, | 460 | const unsigned char *name, |
466 | void (*update)(struct rsnd_mod *mod), | 461 | void (*update)(struct rsnd_mod *mod), |
467 | struct rsnd_kctrl_cfg_s *_cfg, | 462 | struct rsnd_kctrl_cfg_s *_cfg, |
468 | u32 max); | 463 | u32 max); |
469 | int rsnd_kctrl_new_e(struct rsnd_mod *mod, | 464 | int rsnd_kctrl_new_e(struct rsnd_mod *mod, |
470 | struct rsnd_dai *rdai, | ||
471 | struct snd_soc_pcm_runtime *rtd, | 465 | struct snd_soc_pcm_runtime *rtd, |
472 | const unsigned char *name, | 466 | const unsigned char *name, |
473 | struct rsnd_kctrl_cfg_s *_cfg, | 467 | struct rsnd_kctrl_cfg_s *_cfg, |
@@ -486,14 +480,10 @@ unsigned int rsnd_src_get_ssi_rate(struct rsnd_priv *priv, | |||
486 | struct rsnd_dai_stream *io, | 480 | struct rsnd_dai_stream *io, |
487 | struct snd_pcm_runtime *runtime); | 481 | struct snd_pcm_runtime *runtime); |
488 | int rsnd_src_ssiu_start(struct rsnd_mod *ssi_mod, | 482 | int rsnd_src_ssiu_start(struct rsnd_mod *ssi_mod, |
489 | struct rsnd_dai *rdai, | ||
490 | int use_busif); | 483 | int use_busif); |
491 | int rsnd_src_ssiu_stop(struct rsnd_mod *ssi_mod, | 484 | int rsnd_src_ssiu_stop(struct rsnd_mod *ssi_mod); |
492 | struct rsnd_dai *rdai); | 485 | int rsnd_src_ssi_irq_enable(struct rsnd_mod *ssi_mod); |
493 | int rsnd_src_ssi_irq_enable(struct rsnd_mod *ssi_mod, | 486 | int rsnd_src_ssi_irq_disable(struct rsnd_mod *ssi_mod); |
494 | struct rsnd_dai *rdai); | ||
495 | int rsnd_src_ssi_irq_disable(struct rsnd_mod *ssi_mod, | ||
496 | struct rsnd_dai *rdai); | ||
497 | 487 | ||
498 | #define rsnd_src_nr(priv) ((priv)->src_nr) | 488 | #define rsnd_src_nr(priv) ((priv)->src_nr) |
499 | 489 | ||
diff --git a/sound/soc/sh/rcar/src.c b/sound/soc/sh/rcar/src.c index d4f9cccfff55..31e19a00655f 100644 --- a/sound/soc/sh/rcar/src.c +++ b/sound/soc/sh/rcar/src.c | |||
@@ -114,10 +114,10 @@ struct rsnd_src { | |||
114 | * Gen1/Gen2 common functions | 114 | * Gen1/Gen2 common functions |
115 | */ | 115 | */ |
116 | int rsnd_src_ssiu_start(struct rsnd_mod *ssi_mod, | 116 | int rsnd_src_ssiu_start(struct rsnd_mod *ssi_mod, |
117 | struct rsnd_dai *rdai, | ||
118 | int use_busif) | 117 | int use_busif) |
119 | { | 118 | { |
120 | struct rsnd_dai_stream *io = rsnd_mod_to_io(ssi_mod); | 119 | struct rsnd_dai_stream *io = rsnd_mod_to_io(ssi_mod); |
120 | struct rsnd_dai *rdai = rsnd_io_to_rdai(io); | ||
121 | struct snd_pcm_runtime *runtime = rsnd_io_to_runtime(io); | 121 | struct snd_pcm_runtime *runtime = rsnd_io_to_runtime(io); |
122 | int ssi_id = rsnd_mod_id(ssi_mod); | 122 | int ssi_id = rsnd_mod_id(ssi_mod); |
123 | 123 | ||
@@ -181,8 +181,7 @@ int rsnd_src_ssiu_start(struct rsnd_mod *ssi_mod, | |||
181 | return 0; | 181 | return 0; |
182 | } | 182 | } |
183 | 183 | ||
184 | int rsnd_src_ssiu_stop(struct rsnd_mod *ssi_mod, | 184 | int rsnd_src_ssiu_stop(struct rsnd_mod *ssi_mod) |
185 | struct rsnd_dai *rdai) | ||
186 | { | 185 | { |
187 | /* | 186 | /* |
188 | * DMA settings for SSIU | 187 | * DMA settings for SSIU |
@@ -192,8 +191,7 @@ int rsnd_src_ssiu_stop(struct rsnd_mod *ssi_mod, | |||
192 | return 0; | 191 | return 0; |
193 | } | 192 | } |
194 | 193 | ||
195 | int rsnd_src_ssi_irq_enable(struct rsnd_mod *ssi_mod, | 194 | int rsnd_src_ssi_irq_enable(struct rsnd_mod *ssi_mod) |
196 | struct rsnd_dai *rdai) | ||
197 | { | 195 | { |
198 | struct rsnd_priv *priv = rsnd_mod_to_priv(ssi_mod); | 196 | struct rsnd_priv *priv = rsnd_mod_to_priv(ssi_mod); |
199 | 197 | ||
@@ -209,8 +207,7 @@ int rsnd_src_ssi_irq_enable(struct rsnd_mod *ssi_mod, | |||
209 | return 0; | 207 | return 0; |
210 | } | 208 | } |
211 | 209 | ||
212 | int rsnd_src_ssi_irq_disable(struct rsnd_mod *ssi_mod, | 210 | int rsnd_src_ssi_irq_disable(struct rsnd_mod *ssi_mod) |
213 | struct rsnd_dai *rdai) | ||
214 | { | 211 | { |
215 | struct rsnd_priv *priv = rsnd_mod_to_priv(ssi_mod); | 212 | struct rsnd_priv *priv = rsnd_mod_to_priv(ssi_mod); |
216 | 213 | ||
@@ -247,8 +244,7 @@ unsigned int rsnd_src_get_ssi_rate(struct rsnd_priv *priv, | |||
247 | return rate; | 244 | return rate; |
248 | } | 245 | } |
249 | 246 | ||
250 | static int rsnd_src_set_convert_rate(struct rsnd_mod *mod, | 247 | static int rsnd_src_set_convert_rate(struct rsnd_mod *mod) |
251 | struct rsnd_dai *rdai) | ||
252 | { | 248 | { |
253 | struct rsnd_dai_stream *io = rsnd_mod_to_io(mod); | 249 | struct rsnd_dai_stream *io = rsnd_mod_to_io(mod); |
254 | struct snd_pcm_runtime *runtime = rsnd_io_to_runtime(io); | 250 | struct snd_pcm_runtime *runtime = rsnd_io_to_runtime(io); |
@@ -280,8 +276,7 @@ static int rsnd_src_set_convert_rate(struct rsnd_mod *mod, | |||
280 | return 0; | 276 | return 0; |
281 | } | 277 | } |
282 | 278 | ||
283 | static int rsnd_src_init(struct rsnd_mod *mod, | 279 | static int rsnd_src_init(struct rsnd_mod *mod) |
284 | struct rsnd_dai *rdai) | ||
285 | { | 280 | { |
286 | struct rsnd_src *src = rsnd_mod_to_src(mod); | 281 | struct rsnd_src *src = rsnd_mod_to_src(mod); |
287 | 282 | ||
@@ -333,8 +328,7 @@ static int rsnd_src_stop(struct rsnd_mod *mod) | |||
333 | /* | 328 | /* |
334 | * Gen1 functions | 329 | * Gen1 functions |
335 | */ | 330 | */ |
336 | static int rsnd_src_set_route_gen1(struct rsnd_mod *mod, | 331 | static int rsnd_src_set_route_gen1(struct rsnd_mod *mod) |
337 | struct rsnd_dai *rdai) | ||
338 | { | 332 | { |
339 | struct rsnd_dai_stream *io = rsnd_mod_to_io(mod); | 333 | struct rsnd_dai_stream *io = rsnd_mod_to_io(mod); |
340 | struct src_route_config { | 334 | struct src_route_config { |
@@ -371,8 +365,7 @@ static int rsnd_src_set_route_gen1(struct rsnd_mod *mod, | |||
371 | return 0; | 365 | return 0; |
372 | } | 366 | } |
373 | 367 | ||
374 | static int rsnd_src_set_convert_timing_gen1(struct rsnd_mod *mod, | 368 | static int rsnd_src_set_convert_timing_gen1(struct rsnd_mod *mod) |
375 | struct rsnd_dai *rdai) | ||
376 | { | 369 | { |
377 | struct rsnd_dai_stream *io = rsnd_mod_to_io(mod); | 370 | struct rsnd_dai_stream *io = rsnd_mod_to_io(mod); |
378 | struct rsnd_priv *priv = rsnd_mod_to_priv(mod); | 371 | struct rsnd_priv *priv = rsnd_mod_to_priv(mod); |
@@ -430,13 +423,12 @@ static int rsnd_src_set_convert_timing_gen1(struct rsnd_mod *mod, | |||
430 | return 0; | 423 | return 0; |
431 | } | 424 | } |
432 | 425 | ||
433 | static int rsnd_src_set_convert_rate_gen1(struct rsnd_mod *mod, | 426 | static int rsnd_src_set_convert_rate_gen1(struct rsnd_mod *mod) |
434 | struct rsnd_dai *rdai) | ||
435 | { | 427 | { |
436 | struct rsnd_src *src = rsnd_mod_to_src(mod); | 428 | struct rsnd_src *src = rsnd_mod_to_src(mod); |
437 | int ret; | 429 | int ret; |
438 | 430 | ||
439 | ret = rsnd_src_set_convert_rate(mod, rdai); | 431 | ret = rsnd_src_set_convert_rate(mod); |
440 | if (ret < 0) | 432 | if (ret < 0) |
441 | return ret; | 433 | return ret; |
442 | 434 | ||
@@ -473,19 +465,19 @@ static int rsnd_src_init_gen1(struct rsnd_mod *mod, | |||
473 | { | 465 | { |
474 | int ret; | 466 | int ret; |
475 | 467 | ||
476 | ret = rsnd_src_init(mod, rdai); | 468 | ret = rsnd_src_init(mod); |
477 | if (ret < 0) | 469 | if (ret < 0) |
478 | return ret; | 470 | return ret; |
479 | 471 | ||
480 | ret = rsnd_src_set_route_gen1(mod, rdai); | 472 | ret = rsnd_src_set_route_gen1(mod); |
481 | if (ret < 0) | 473 | if (ret < 0) |
482 | return ret; | 474 | return ret; |
483 | 475 | ||
484 | ret = rsnd_src_set_convert_rate_gen1(mod, rdai); | 476 | ret = rsnd_src_set_convert_rate_gen1(mod); |
485 | if (ret < 0) | 477 | if (ret < 0) |
486 | return ret; | 478 | return ret; |
487 | 479 | ||
488 | ret = rsnd_src_set_convert_timing_gen1(mod, rdai); | 480 | ret = rsnd_src_set_convert_timing_gen1(mod); |
489 | if (ret < 0) | 481 | if (ret < 0) |
490 | return ret; | 482 | return ret; |
491 | 483 | ||
@@ -628,8 +620,7 @@ static irqreturn_t rsnd_src_interrupt_gen2(int irq, void *data) | |||
628 | return IRQ_HANDLED; | 620 | return IRQ_HANDLED; |
629 | } | 621 | } |
630 | 622 | ||
631 | static int rsnd_src_set_convert_rate_gen2(struct rsnd_mod *mod, | 623 | static int rsnd_src_set_convert_rate_gen2(struct rsnd_mod *mod) |
632 | struct rsnd_dai *rdai) | ||
633 | { | 624 | { |
634 | struct rsnd_priv *priv = rsnd_mod_to_priv(mod); | 625 | struct rsnd_priv *priv = rsnd_mod_to_priv(mod); |
635 | struct device *dev = rsnd_priv_to_dev(priv); | 626 | struct device *dev = rsnd_priv_to_dev(priv); |
@@ -653,7 +644,7 @@ static int rsnd_src_set_convert_rate_gen2(struct rsnd_mod *mod, | |||
653 | return -EINVAL; | 644 | return -EINVAL; |
654 | } | 645 | } |
655 | 646 | ||
656 | ret = rsnd_src_set_convert_rate(mod, rdai); | 647 | ret = rsnd_src_set_convert_rate(mod); |
657 | if (ret < 0) | 648 | if (ret < 0) |
658 | return ret; | 649 | return ret; |
659 | 650 | ||
@@ -681,8 +672,7 @@ static int rsnd_src_set_convert_rate_gen2(struct rsnd_mod *mod, | |||
681 | return 0; | 672 | return 0; |
682 | } | 673 | } |
683 | 674 | ||
684 | static int rsnd_src_set_convert_timing_gen2(struct rsnd_mod *mod, | 675 | static int rsnd_src_set_convert_timing_gen2(struct rsnd_mod *mod) |
685 | struct rsnd_dai *rdai) | ||
686 | { | 676 | { |
687 | struct rsnd_dai_stream *io = rsnd_mod_to_io(mod); | 677 | struct rsnd_dai_stream *io = rsnd_mod_to_io(mod); |
688 | struct snd_pcm_runtime *runtime = rsnd_io_to_runtime(io); | 678 | struct snd_pcm_runtime *runtime = rsnd_io_to_runtime(io); |
@@ -691,11 +681,11 @@ static int rsnd_src_set_convert_timing_gen2(struct rsnd_mod *mod, | |||
691 | int ret; | 681 | int ret; |
692 | 682 | ||
693 | if (convert_rate) | 683 | if (convert_rate) |
694 | ret = rsnd_adg_set_convert_clk_gen2(mod, rdai, io, | 684 | ret = rsnd_adg_set_convert_clk_gen2(mod, io, |
695 | runtime->rate, | 685 | runtime->rate, |
696 | convert_rate); | 686 | convert_rate); |
697 | else | 687 | else |
698 | ret = rsnd_adg_set_convert_timing_gen2(mod, rdai, io); | 688 | ret = rsnd_adg_set_convert_timing_gen2(mod, io); |
699 | 689 | ||
700 | return ret; | 690 | return ret; |
701 | } | 691 | } |
@@ -755,15 +745,15 @@ static int rsnd_src_init_gen2(struct rsnd_mod *mod, | |||
755 | { | 745 | { |
756 | int ret; | 746 | int ret; |
757 | 747 | ||
758 | ret = rsnd_src_init(mod, rdai); | 748 | ret = rsnd_src_init(mod); |
759 | if (ret < 0) | 749 | if (ret < 0) |
760 | return ret; | 750 | return ret; |
761 | 751 | ||
762 | ret = rsnd_src_set_convert_rate_gen2(mod, rdai); | 752 | ret = rsnd_src_set_convert_rate_gen2(mod); |
763 | if (ret < 0) | 753 | if (ret < 0) |
764 | return ret; | 754 | return ret; |
765 | 755 | ||
766 | ret = rsnd_src_set_convert_timing_gen2(mod, rdai); | 756 | ret = rsnd_src_set_convert_timing_gen2(mod); |
767 | if (ret < 0) | 757 | if (ret < 0) |
768 | return ret; | 758 | return ret; |
769 | 759 | ||
diff --git a/sound/soc/sh/rcar/ssi.c b/sound/soc/sh/rcar/ssi.c index b9d33b985845..6e36c53e7b8f 100644 --- a/sound/soc/sh/rcar/ssi.c +++ b/sound/soc/sh/rcar/ssi.c | |||
@@ -64,7 +64,6 @@ struct rsnd_ssi { | |||
64 | struct rsnd_ssi *parent; | 64 | struct rsnd_ssi *parent; |
65 | struct rsnd_mod mod; | 65 | struct rsnd_mod mod; |
66 | 66 | ||
67 | struct rsnd_dai *rdai; | ||
68 | u32 cr_own; | 67 | u32 cr_own; |
69 | u32 cr_clk; | 68 | u32 cr_clk; |
70 | int err; | 69 | int err; |
@@ -178,10 +177,10 @@ static void rsnd_ssi_master_clk_stop(struct rsnd_ssi *ssi) | |||
178 | } | 177 | } |
179 | 178 | ||
180 | static void rsnd_ssi_hw_start(struct rsnd_ssi *ssi, | 179 | static void rsnd_ssi_hw_start(struct rsnd_ssi *ssi, |
181 | struct rsnd_dai *rdai, | ||
182 | struct rsnd_dai_stream *io) | 180 | struct rsnd_dai_stream *io) |
183 | { | 181 | { |
184 | struct rsnd_priv *priv = rsnd_mod_to_priv(&ssi->mod); | 182 | struct rsnd_priv *priv = rsnd_mod_to_priv(&ssi->mod); |
183 | struct rsnd_dai *rdai = rsnd_io_to_rdai(io); | ||
185 | struct device *dev = rsnd_priv_to_dev(priv); | 184 | struct device *dev = rsnd_priv_to_dev(priv); |
186 | u32 cr_mode; | 185 | u32 cr_mode; |
187 | u32 cr; | 186 | u32 cr; |
@@ -191,7 +190,7 @@ static void rsnd_ssi_hw_start(struct rsnd_ssi *ssi, | |||
191 | 190 | ||
192 | if (rsnd_rdai_is_clk_master(rdai)) { | 191 | if (rsnd_rdai_is_clk_master(rdai)) { |
193 | if (rsnd_ssi_clk_from_parent(ssi)) | 192 | if (rsnd_ssi_clk_from_parent(ssi)) |
194 | rsnd_ssi_hw_start(ssi->parent, rdai, io); | 193 | rsnd_ssi_hw_start(ssi->parent, io); |
195 | else | 194 | else |
196 | rsnd_ssi_master_clk_start(ssi, io); | 195 | rsnd_ssi_master_clk_start(ssi, io); |
197 | } | 196 | } |
@@ -222,10 +221,11 @@ static void rsnd_ssi_hw_start(struct rsnd_ssi *ssi, | |||
222 | rsnd_mod_name(&ssi->mod), rsnd_mod_id(&ssi->mod)); | 221 | rsnd_mod_name(&ssi->mod), rsnd_mod_id(&ssi->mod)); |
223 | } | 222 | } |
224 | 223 | ||
225 | static void rsnd_ssi_hw_stop(struct rsnd_ssi *ssi, | 224 | static void rsnd_ssi_hw_stop(struct rsnd_ssi *ssi) |
226 | struct rsnd_dai *rdai) | ||
227 | { | 225 | { |
228 | struct rsnd_priv *priv = rsnd_mod_to_priv(&ssi->mod); | 226 | struct rsnd_priv *priv = rsnd_mod_to_priv(&ssi->mod); |
227 | struct rsnd_dai_stream *io = rsnd_mod_to_io(&ssi->mod); | ||
228 | struct rsnd_dai *rdai = rsnd_io_to_rdai(io); | ||
229 | struct device *dev = rsnd_priv_to_dev(priv); | 229 | struct device *dev = rsnd_priv_to_dev(priv); |
230 | u32 cr; | 230 | u32 cr; |
231 | 231 | ||
@@ -254,7 +254,7 @@ static void rsnd_ssi_hw_stop(struct rsnd_ssi *ssi, | |||
254 | 254 | ||
255 | if (rsnd_rdai_is_clk_master(rdai)) { | 255 | if (rsnd_rdai_is_clk_master(rdai)) { |
256 | if (rsnd_ssi_clk_from_parent(ssi)) | 256 | if (rsnd_ssi_clk_from_parent(ssi)) |
257 | rsnd_ssi_hw_stop(ssi->parent, rdai); | 257 | rsnd_ssi_hw_stop(ssi->parent); |
258 | else | 258 | else |
259 | rsnd_ssi_master_clk_stop(ssi); | 259 | rsnd_ssi_master_clk_stop(ssi); |
260 | } | 260 | } |
@@ -313,7 +313,6 @@ static int rsnd_ssi_init(struct rsnd_mod *mod, | |||
313 | /* | 313 | /* |
314 | * set ssi parameter | 314 | * set ssi parameter |
315 | */ | 315 | */ |
316 | ssi->rdai = rdai; | ||
317 | ssi->cr_own = cr; | 316 | ssi->cr_own = cr; |
318 | ssi->err = -1; /* ignore 1st error */ | 317 | ssi->err = -1; /* ignore 1st error */ |
319 | 318 | ||
@@ -330,7 +329,6 @@ static int rsnd_ssi_quit(struct rsnd_mod *mod, | |||
330 | if (ssi->err > 0) | 329 | if (ssi->err > 0) |
331 | dev_warn(dev, "ssi under/over flow err = %d\n", ssi->err); | 330 | dev_warn(dev, "ssi under/over flow err = %d\n", ssi->err); |
332 | 331 | ||
333 | ssi->rdai = NULL; | ||
334 | ssi->cr_own = 0; | 332 | ssi->cr_own = 0; |
335 | ssi->err = 0; | 333 | ssi->err = 0; |
336 | 334 | ||
@@ -354,11 +352,11 @@ static int rsnd_ssi_start(struct rsnd_mod *mod, | |||
354 | struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod); | 352 | struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod); |
355 | struct rsnd_dai_stream *io = rsnd_mod_to_io(mod); | 353 | struct rsnd_dai_stream *io = rsnd_mod_to_io(mod); |
356 | 354 | ||
357 | rsnd_src_ssiu_start(mod, rdai, rsnd_ssi_use_busif(mod)); | 355 | rsnd_src_ssiu_start(mod, rsnd_ssi_use_busif(mod)); |
358 | 356 | ||
359 | rsnd_ssi_hw_start(ssi, rdai, io); | 357 | rsnd_ssi_hw_start(ssi, io); |
360 | 358 | ||
361 | rsnd_src_ssi_irq_enable(mod, rdai); | 359 | rsnd_src_ssi_irq_enable(mod); |
362 | 360 | ||
363 | return 0; | 361 | return 0; |
364 | } | 362 | } |
@@ -368,13 +366,13 @@ static int rsnd_ssi_stop(struct rsnd_mod *mod, | |||
368 | { | 366 | { |
369 | struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod); | 367 | struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod); |
370 | 368 | ||
371 | rsnd_src_ssi_irq_disable(mod, rdai); | 369 | rsnd_src_ssi_irq_disable(mod); |
372 | 370 | ||
373 | rsnd_ssi_record_error(ssi, rsnd_mod_read(mod, SSISR)); | 371 | rsnd_ssi_record_error(ssi, rsnd_mod_read(mod, SSISR)); |
374 | 372 | ||
375 | rsnd_ssi_hw_stop(ssi, rdai); | 373 | rsnd_ssi_hw_stop(ssi); |
376 | 374 | ||
377 | rsnd_src_ssiu_stop(mod, rdai); | 375 | rsnd_src_ssiu_stop(mod); |
378 | 376 | ||
379 | return 0; | 377 | return 0; |
380 | } | 378 | } |
@@ -382,9 +380,9 @@ static int rsnd_ssi_stop(struct rsnd_mod *mod, | |||
382 | static irqreturn_t rsnd_ssi_interrupt(int irq, void *data) | 380 | static irqreturn_t rsnd_ssi_interrupt(int irq, void *data) |
383 | { | 381 | { |
384 | struct rsnd_ssi *ssi = data; | 382 | struct rsnd_ssi *ssi = data; |
385 | struct rsnd_dai *rdai = ssi->rdai; | ||
386 | struct rsnd_mod *mod = &ssi->mod; | 383 | struct rsnd_mod *mod = &ssi->mod; |
387 | struct rsnd_dai_stream *io = rsnd_mod_to_io(mod); | 384 | struct rsnd_dai_stream *io = rsnd_mod_to_io(mod); |
385 | struct rsnd_dai *rdai = rsnd_io_to_rdai(io); | ||
388 | u32 status = rsnd_mod_read(mod, SSISR); | 386 | u32 status = rsnd_mod_read(mod, SSISR); |
389 | 387 | ||
390 | if (!io) | 388 | if (!io) |