aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>2014-05-08 20:44:29 -0400
committerMark Brown <broonie@linaro.org>2014-05-13 14:06:16 -0400
commitb42fccf69cd7153d1158c85137ec718d7309e074 (patch)
tree950ea3de78b6b728b4fbe3916e7be46fb7483bbb
parentd7bdbc5d9e4e813522f46632527826211270b9d0 (diff)
ASoC: rsnd: remove duplicate parameter from rsnd_mod_ops
Now, it can get rsnd_dai_stream pointer from rsnd_mod. Remove duplicate parameter from rsnd_mod_ops Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
-rw-r--r--sound/soc/sh/rcar/core.c10
-rw-r--r--sound/soc/sh/rcar/rsnd.h24
-rw-r--r--sound/soc/sh/rcar/src.c91
-rw-r--r--sound/soc/sh/rcar/ssi.c34
4 files changed, 65 insertions, 94 deletions
diff --git a/sound/soc/sh/rcar/core.c b/sound/soc/sh/rcar/core.c
index e47aa53471b1..86c9b78d8df1 100644
--- a/sound/soc/sh/rcar/core.c
+++ b/sound/soc/sh/rcar/core.c
@@ -338,19 +338,19 @@ u32 rsnd_get_adinr(struct rsnd_mod *mod)
338/* 338/*
339 * rsnd_dai functions 339 * rsnd_dai functions
340 */ 340 */
341#define __rsnd_mod_call(mod, func, rdai, io) \ 341#define __rsnd_mod_call(mod, func, rdai) \
342({ \ 342({ \
343 struct rsnd_priv *priv = rsnd_mod_to_priv(mod); \ 343 struct rsnd_priv *priv = rsnd_mod_to_priv(mod); \
344 struct device *dev = rsnd_priv_to_dev(priv); \ 344 struct device *dev = rsnd_priv_to_dev(priv); \
345 dev_dbg(dev, "%s [%d] %s\n", \ 345 dev_dbg(dev, "%s [%d] %s\n", \
346 rsnd_mod_name(mod), rsnd_mod_id(mod), #func); \ 346 rsnd_mod_name(mod), rsnd_mod_id(mod), #func); \
347 (mod)->ops->func(mod, rdai, io); \ 347 (mod)->ops->func(mod, rdai); \
348}) 348})
349 349
350#define rsnd_mod_call(mod, func, rdai, io) \ 350#define rsnd_mod_call(mod, func, rdai) \
351 (!(mod) ? -ENODEV : \ 351 (!(mod) ? -ENODEV : \
352 !((mod)->ops->func) ? 0 : \ 352 !((mod)->ops->func) ? 0 : \
353 __rsnd_mod_call(mod, func, (rdai), (io))) 353 __rsnd_mod_call(mod, func, (rdai)))
354 354
355#define rsnd_dai_call(rdai, io, fn) \ 355#define rsnd_dai_call(rdai, io, fn) \
356({ \ 356({ \
@@ -360,7 +360,7 @@ u32 rsnd_get_adinr(struct rsnd_mod *mod)
360 mod = (io)->mod[i]; \ 360 mod = (io)->mod[i]; \
361 if (!mod) \ 361 if (!mod) \
362 continue; \ 362 continue; \
363 ret = rsnd_mod_call(mod, fn, (rdai), (io)); \ 363 ret = rsnd_mod_call(mod, fn, (rdai)); \
364 if (ret < 0) \ 364 if (ret < 0) \
365 break; \ 365 break; \
366 } \ 366 } \
diff --git a/sound/soc/sh/rcar/rsnd.h b/sound/soc/sh/rcar/rsnd.h
index fee3ec21aaeb..6156ceebd58b 100644
--- a/sound/soc/sh/rcar/rsnd.h
+++ b/sound/soc/sh/rcar/rsnd.h
@@ -172,23 +172,17 @@ enum rsnd_mod_type {
172struct rsnd_mod_ops { 172struct rsnd_mod_ops {
173 char *name; 173 char *name;
174 int (*probe)(struct rsnd_mod *mod, 174 int (*probe)(struct rsnd_mod *mod,
175 struct rsnd_dai *rdai, 175 struct rsnd_dai *rdai);
176 struct rsnd_dai_stream *io);
177 int (*remove)(struct rsnd_mod *mod, 176 int (*remove)(struct rsnd_mod *mod,
178 struct rsnd_dai *rdai, 177 struct rsnd_dai *rdai);
179 struct rsnd_dai_stream *io);
180 int (*init)(struct rsnd_mod *mod, 178 int (*init)(struct rsnd_mod *mod,
181 struct rsnd_dai *rdai, 179 struct rsnd_dai *rdai);
182 struct rsnd_dai_stream *io);
183 int (*quit)(struct rsnd_mod *mod, 180 int (*quit)(struct rsnd_mod *mod,
184 struct rsnd_dai *rdai, 181 struct rsnd_dai *rdai);
185 struct rsnd_dai_stream *io);
186 int (*start)(struct rsnd_mod *mod, 182 int (*start)(struct rsnd_mod *mod,
187 struct rsnd_dai *rdai, 183 struct rsnd_dai *rdai);
188 struct rsnd_dai_stream *io);
189 int (*stop)(struct rsnd_mod *mod, 184 int (*stop)(struct rsnd_mod *mod,
190 struct rsnd_dai *rdai, 185 struct rsnd_dai *rdai);
191 struct rsnd_dai_stream *io);
192}; 186};
193 187
194struct rsnd_dai_stream; 188struct rsnd_dai_stream;
@@ -365,11 +359,9 @@ unsigned int rsnd_src_get_ssi_rate(struct rsnd_priv *priv,
365 struct rsnd_dai_stream *io, 359 struct rsnd_dai_stream *io,
366 struct snd_pcm_runtime *runtime); 360 struct snd_pcm_runtime *runtime);
367int rsnd_src_ssi_mode_init(struct rsnd_mod *ssi_mod, 361int rsnd_src_ssi_mode_init(struct rsnd_mod *ssi_mod,
368 struct rsnd_dai *rdai, 362 struct rsnd_dai *rdai);
369 struct rsnd_dai_stream *io);
370int rsnd_src_enable_ssi_irq(struct rsnd_mod *ssi_mod, 363int rsnd_src_enable_ssi_irq(struct rsnd_mod *ssi_mod,
371 struct rsnd_dai *rdai, 364 struct rsnd_dai *rdai);
372 struct rsnd_dai_stream *io);
373 365
374#define rsnd_src_nr(priv) ((priv)->src_nr) 366#define rsnd_src_nr(priv) ((priv)->src_nr)
375 367
diff --git a/sound/soc/sh/rcar/src.c b/sound/soc/sh/rcar/src.c
index c90c36d41799..035eda2de239 100644
--- a/sound/soc/sh/rcar/src.c
+++ b/sound/soc/sh/rcar/src.c
@@ -105,9 +105,9 @@ struct rsnd_src {
105 * Gen1/Gen2 common functions 105 * Gen1/Gen2 common functions
106 */ 106 */
107int rsnd_src_ssi_mode_init(struct rsnd_mod *ssi_mod, 107int rsnd_src_ssi_mode_init(struct rsnd_mod *ssi_mod,
108 struct rsnd_dai *rdai, 108 struct rsnd_dai *rdai)
109 struct rsnd_dai_stream *io)
110{ 109{
110 struct rsnd_dai_stream *io = rsnd_mod_to_io(ssi_mod);
111 struct rsnd_mod *src_mod = rsnd_io_to_mod_src(io); 111 struct rsnd_mod *src_mod = rsnd_io_to_mod_src(io);
112 int ssi_id = rsnd_mod_id(ssi_mod); 112 int ssi_id = rsnd_mod_id(ssi_mod);
113 113
@@ -145,8 +145,7 @@ int rsnd_src_ssi_mode_init(struct rsnd_mod *ssi_mod,
145} 145}
146 146
147int rsnd_src_enable_ssi_irq(struct rsnd_mod *ssi_mod, 147int rsnd_src_enable_ssi_irq(struct rsnd_mod *ssi_mod,
148 struct rsnd_dai *rdai, 148 struct rsnd_dai *rdai)
149 struct rsnd_dai_stream *io)
150{ 149{
151 struct rsnd_priv *priv = rsnd_mod_to_priv(ssi_mod); 150 struct rsnd_priv *priv = rsnd_mod_to_priv(ssi_mod);
152 151
@@ -182,9 +181,9 @@ unsigned int rsnd_src_get_ssi_rate(struct rsnd_priv *priv,
182} 181}
183 182
184static int rsnd_src_set_convert_rate(struct rsnd_mod *mod, 183static int rsnd_src_set_convert_rate(struct rsnd_mod *mod,
185 struct rsnd_dai *rdai, 184 struct rsnd_dai *rdai)
186 struct rsnd_dai_stream *io)
187{ 185{
186 struct rsnd_dai_stream *io = rsnd_mod_to_io(mod);
188 struct snd_pcm_runtime *runtime = rsnd_io_to_runtime(io); 187 struct snd_pcm_runtime *runtime = rsnd_io_to_runtime(io);
189 struct rsnd_src *src = rsnd_mod_to_src(mod); 188 struct rsnd_src *src = rsnd_mod_to_src(mod);
190 u32 convert_rate = rsnd_src_convert_rate(src); 189 u32 convert_rate = rsnd_src_convert_rate(src);
@@ -221,8 +220,7 @@ static int rsnd_src_set_convert_rate(struct rsnd_mod *mod,
221} 220}
222 221
223static int rsnd_src_init(struct rsnd_mod *mod, 222static int rsnd_src_init(struct rsnd_mod *mod,
224 struct rsnd_dai *rdai, 223 struct rsnd_dai *rdai)
225 struct rsnd_dai_stream *io)
226{ 224{
227 struct rsnd_src *src = rsnd_mod_to_src(mod); 225 struct rsnd_src *src = rsnd_mod_to_src(mod);
228 226
@@ -232,8 +230,7 @@ static int rsnd_src_init(struct rsnd_mod *mod,
232} 230}
233 231
234static int rsnd_src_quit(struct rsnd_mod *mod, 232static int rsnd_src_quit(struct rsnd_mod *mod,
235 struct rsnd_dai *rdai, 233 struct rsnd_dai *rdai)
236 struct rsnd_dai_stream *io)
237{ 234{
238 struct rsnd_src *src = rsnd_mod_to_src(mod); 235 struct rsnd_src *src = rsnd_mod_to_src(mod);
239 236
@@ -243,8 +240,7 @@ static int rsnd_src_quit(struct rsnd_mod *mod,
243} 240}
244 241
245static int rsnd_src_start(struct rsnd_mod *mod, 242static int rsnd_src_start(struct rsnd_mod *mod,
246 struct rsnd_dai *rdai, 243 struct rsnd_dai *rdai)
247 struct rsnd_dai_stream *io)
248{ 244{
249 struct rsnd_src *src = rsnd_mod_to_src(mod); 245 struct rsnd_src *src = rsnd_mod_to_src(mod);
250 246
@@ -262,8 +258,7 @@ static int rsnd_src_start(struct rsnd_mod *mod,
262 258
263 259
264static int rsnd_src_stop(struct rsnd_mod *mod, 260static int rsnd_src_stop(struct rsnd_mod *mod,
265 struct rsnd_dai *rdai, 261 struct rsnd_dai *rdai)
266 struct rsnd_dai_stream *io)
267{ 262{
268 struct rsnd_src *src = rsnd_mod_to_src(mod); 263 struct rsnd_src *src = rsnd_mod_to_src(mod);
269 264
@@ -281,9 +276,9 @@ static struct rsnd_mod_ops rsnd_src_non_ops = {
281 * Gen1 functions 276 * Gen1 functions
282 */ 277 */
283static int rsnd_src_set_route_gen1(struct rsnd_mod *mod, 278static int rsnd_src_set_route_gen1(struct rsnd_mod *mod,
284 struct rsnd_dai *rdai, 279 struct rsnd_dai *rdai)
285 struct rsnd_dai_stream *io)
286{ 280{
281 struct rsnd_dai_stream *io = rsnd_mod_to_io(mod);
287 struct src_route_config { 282 struct src_route_config {
288 u32 mask; 283 u32 mask;
289 int shift; 284 int shift;
@@ -319,9 +314,9 @@ static int rsnd_src_set_route_gen1(struct rsnd_mod *mod,
319} 314}
320 315
321static int rsnd_src_set_convert_timing_gen1(struct rsnd_mod *mod, 316static int rsnd_src_set_convert_timing_gen1(struct rsnd_mod *mod,
322 struct rsnd_dai *rdai, 317 struct rsnd_dai *rdai)
323 struct rsnd_dai_stream *io)
324{ 318{
319 struct rsnd_dai_stream *io = rsnd_mod_to_io(mod);
325 struct rsnd_priv *priv = rsnd_mod_to_priv(mod); 320 struct rsnd_priv *priv = rsnd_mod_to_priv(mod);
326 struct rsnd_src *src = rsnd_mod_to_src(mod); 321 struct rsnd_src *src = rsnd_mod_to_src(mod);
327 struct snd_pcm_runtime *runtime = rsnd_io_to_runtime(io); 322 struct snd_pcm_runtime *runtime = rsnd_io_to_runtime(io);
@@ -378,12 +373,11 @@ static int rsnd_src_set_convert_timing_gen1(struct rsnd_mod *mod,
378} 373}
379 374
380static int rsnd_src_set_convert_rate_gen1(struct rsnd_mod *mod, 375static int rsnd_src_set_convert_rate_gen1(struct rsnd_mod *mod,
381 struct rsnd_dai *rdai, 376 struct rsnd_dai *rdai)
382 struct rsnd_dai_stream *io)
383{ 377{
384 int ret; 378 int ret;
385 379
386 ret = rsnd_src_set_convert_rate(mod, rdai, io); 380 ret = rsnd_src_set_convert_rate(mod, rdai);
387 if (ret < 0) 381 if (ret < 0)
388 return ret; 382 return ret;
389 383
@@ -400,24 +394,23 @@ static int rsnd_src_set_convert_rate_gen1(struct rsnd_mod *mod,
400} 394}
401 395
402static int rsnd_src_init_gen1(struct rsnd_mod *mod, 396static int rsnd_src_init_gen1(struct rsnd_mod *mod,
403 struct rsnd_dai *rdai, 397 struct rsnd_dai *rdai)
404 struct rsnd_dai_stream *io)
405{ 398{
406 int ret; 399 int ret;
407 400
408 ret = rsnd_src_init(mod, rdai, io); 401 ret = rsnd_src_init(mod, rdai);
409 if (ret < 0) 402 if (ret < 0)
410 return ret; 403 return ret;
411 404
412 ret = rsnd_src_set_route_gen1(mod, rdai, io); 405 ret = rsnd_src_set_route_gen1(mod, rdai);
413 if (ret < 0) 406 if (ret < 0)
414 return ret; 407 return ret;
415 408
416 ret = rsnd_src_set_convert_rate_gen1(mod, rdai, io); 409 ret = rsnd_src_set_convert_rate_gen1(mod, rdai);
417 if (ret < 0) 410 if (ret < 0)
418 return ret; 411 return ret;
419 412
420 ret = rsnd_src_set_convert_timing_gen1(mod, rdai, io); 413 ret = rsnd_src_set_convert_timing_gen1(mod, rdai);
421 if (ret < 0) 414 if (ret < 0)
422 return ret; 415 return ret;
423 416
@@ -425,25 +418,23 @@ static int rsnd_src_init_gen1(struct rsnd_mod *mod,
425} 418}
426 419
427static int rsnd_src_start_gen1(struct rsnd_mod *mod, 420static int rsnd_src_start_gen1(struct rsnd_mod *mod,
428 struct rsnd_dai *rdai, 421 struct rsnd_dai *rdai)
429 struct rsnd_dai_stream *io)
430{ 422{
431 int id = rsnd_mod_id(mod); 423 int id = rsnd_mod_id(mod);
432 424
433 rsnd_mod_bset(mod, SRC_ROUTE_CTRL, (1 << id), (1 << id)); 425 rsnd_mod_bset(mod, SRC_ROUTE_CTRL, (1 << id), (1 << id));
434 426
435 return rsnd_src_start(mod, rdai, io); 427 return rsnd_src_start(mod, rdai);
436} 428}
437 429
438static int rsnd_src_stop_gen1(struct rsnd_mod *mod, 430static int rsnd_src_stop_gen1(struct rsnd_mod *mod,
439 struct rsnd_dai *rdai, 431 struct rsnd_dai *rdai)
440 struct rsnd_dai_stream *io)
441{ 432{
442 int id = rsnd_mod_id(mod); 433 int id = rsnd_mod_id(mod);
443 434
444 rsnd_mod_bset(mod, SRC_ROUTE_CTRL, (1 << id), 0); 435 rsnd_mod_bset(mod, SRC_ROUTE_CTRL, (1 << id), 0);
445 436
446 return rsnd_src_stop(mod, rdai, io); 437 return rsnd_src_stop(mod, rdai);
447} 438}
448 439
449static struct rsnd_mod_ops rsnd_src_gen1_ops = { 440static struct rsnd_mod_ops rsnd_src_gen1_ops = {
@@ -458,12 +449,11 @@ static struct rsnd_mod_ops rsnd_src_gen1_ops = {
458 * Gen2 functions 449 * Gen2 functions
459 */ 450 */
460static int rsnd_src_set_convert_rate_gen2(struct rsnd_mod *mod, 451static int rsnd_src_set_convert_rate_gen2(struct rsnd_mod *mod,
461 struct rsnd_dai *rdai, 452 struct rsnd_dai *rdai)
462 struct rsnd_dai_stream *io)
463{ 453{
464 int ret; 454 int ret;
465 455
466 ret = rsnd_src_set_convert_rate(mod, rdai, io); 456 ret = rsnd_src_set_convert_rate(mod, rdai);
467 if (ret < 0) 457 if (ret < 0)
468 return ret; 458 return ret;
469 459
@@ -479,9 +469,9 @@ static int rsnd_src_set_convert_rate_gen2(struct rsnd_mod *mod,
479} 469}
480 470
481static int rsnd_src_set_convert_timing_gen2(struct rsnd_mod *mod, 471static int rsnd_src_set_convert_timing_gen2(struct rsnd_mod *mod,
482 struct rsnd_dai *rdai, 472 struct rsnd_dai *rdai)
483 struct rsnd_dai_stream *io)
484{ 473{
474 struct rsnd_dai_stream *io = rsnd_mod_to_io(mod);
485 struct snd_pcm_runtime *runtime = rsnd_io_to_runtime(io); 475 struct snd_pcm_runtime *runtime = rsnd_io_to_runtime(io);
486 struct rsnd_src *src = rsnd_mod_to_src(mod); 476 struct rsnd_src *src = rsnd_mod_to_src(mod);
487 u32 convert_rate = rsnd_src_convert_rate(src); 477 u32 convert_rate = rsnd_src_convert_rate(src);
@@ -498,8 +488,7 @@ static int rsnd_src_set_convert_timing_gen2(struct rsnd_mod *mod,
498} 488}
499 489
500static int rsnd_src_probe_gen2(struct rsnd_mod *mod, 490static int rsnd_src_probe_gen2(struct rsnd_mod *mod,
501 struct rsnd_dai *rdai, 491 struct rsnd_dai *rdai)
502 struct rsnd_dai_stream *io)
503{ 492{
504 struct rsnd_priv *priv = rsnd_mod_to_priv(mod); 493 struct rsnd_priv *priv = rsnd_mod_to_priv(mod);
505 struct rsnd_src *src = rsnd_mod_to_src(mod); 494 struct rsnd_src *src = rsnd_mod_to_src(mod);
@@ -517,8 +506,7 @@ static int rsnd_src_probe_gen2(struct rsnd_mod *mod,
517} 506}
518 507
519static int rsnd_src_remove_gen2(struct rsnd_mod *mod, 508static int rsnd_src_remove_gen2(struct rsnd_mod *mod,
520 struct rsnd_dai *rdai, 509 struct rsnd_dai *rdai)
521 struct rsnd_dai_stream *io)
522{ 510{
523 rsnd_dma_quit(rsnd_mod_to_priv(mod), rsnd_mod_to_dma(mod)); 511 rsnd_dma_quit(rsnd_mod_to_priv(mod), rsnd_mod_to_dma(mod));
524 512
@@ -526,20 +514,19 @@ static int rsnd_src_remove_gen2(struct rsnd_mod *mod,
526} 514}
527 515
528static int rsnd_src_init_gen2(struct rsnd_mod *mod, 516static int rsnd_src_init_gen2(struct rsnd_mod *mod,
529 struct rsnd_dai *rdai, 517 struct rsnd_dai *rdai)
530 struct rsnd_dai_stream *io)
531{ 518{
532 int ret; 519 int ret;
533 520
534 ret = rsnd_src_init(mod, rdai, io); 521 ret = rsnd_src_init(mod, rdai);
535 if (ret < 0) 522 if (ret < 0)
536 return ret; 523 return ret;
537 524
538 ret = rsnd_src_set_convert_rate_gen2(mod, rdai, io); 525 ret = rsnd_src_set_convert_rate_gen2(mod, rdai);
539 if (ret < 0) 526 if (ret < 0)
540 return ret; 527 return ret;
541 528
542 ret = rsnd_src_set_convert_timing_gen2(mod, rdai, io); 529 ret = rsnd_src_set_convert_timing_gen2(mod, rdai);
543 if (ret < 0) 530 if (ret < 0)
544 return ret; 531 return ret;
545 532
@@ -547,8 +534,7 @@ static int rsnd_src_init_gen2(struct rsnd_mod *mod,
547} 534}
548 535
549static int rsnd_src_start_gen2(struct rsnd_mod *mod, 536static int rsnd_src_start_gen2(struct rsnd_mod *mod,
550 struct rsnd_dai *rdai, 537 struct rsnd_dai *rdai)
551 struct rsnd_dai_stream *io)
552{ 538{
553 struct rsnd_src *src = rsnd_mod_to_src(mod); 539 struct rsnd_src *src = rsnd_mod_to_src(mod);
554 540
@@ -557,12 +543,11 @@ static int rsnd_src_start_gen2(struct rsnd_mod *mod,
557 rsnd_mod_write(mod, SSI_CTRL, 0x1); 543 rsnd_mod_write(mod, SSI_CTRL, 0x1);
558 rsnd_mod_write(mod, SRC_CTRL, 0x11); 544 rsnd_mod_write(mod, SRC_CTRL, 0x11);
559 545
560 return rsnd_src_start(mod, rdai, io); 546 return rsnd_src_start(mod, rdai);
561} 547}
562 548
563static int rsnd_src_stop_gen2(struct rsnd_mod *mod, 549static int rsnd_src_stop_gen2(struct rsnd_mod *mod,
564 struct rsnd_dai *rdai, 550 struct rsnd_dai *rdai)
565 struct rsnd_dai_stream *io)
566{ 551{
567 struct rsnd_src *src = rsnd_mod_to_src(mod); 552 struct rsnd_src *src = rsnd_mod_to_src(mod);
568 553
@@ -571,7 +556,7 @@ static int rsnd_src_stop_gen2(struct rsnd_mod *mod,
571 556
572 rsnd_dma_stop(rsnd_mod_to_dma(&src->mod)); 557 rsnd_dma_stop(rsnd_mod_to_dma(&src->mod));
573 558
574 return rsnd_src_stop(mod, rdai, io); 559 return rsnd_src_stop(mod, rdai);
575} 560}
576 561
577static struct rsnd_mod_ops rsnd_src_gen2_ops = { 562static struct rsnd_mod_ops rsnd_src_gen2_ops = {
diff --git a/sound/soc/sh/rcar/ssi.c b/sound/soc/sh/rcar/ssi.c
index 77b7b60325c1..4b13edb26c4a 100644
--- a/sound/soc/sh/rcar/ssi.c
+++ b/sound/soc/sh/rcar/ssi.c
@@ -240,10 +240,10 @@ static void rsnd_ssi_hw_stop(struct rsnd_ssi *ssi,
240 * SSI mod common functions 240 * SSI mod common functions
241 */ 241 */
242static int rsnd_ssi_init(struct rsnd_mod *mod, 242static int rsnd_ssi_init(struct rsnd_mod *mod,
243 struct rsnd_dai *rdai, 243 struct rsnd_dai *rdai)
244 struct rsnd_dai_stream *io)
245{ 244{
246 struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod); 245 struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod);
246 struct rsnd_dai_stream *io = rsnd_mod_to_io(mod);
247 struct snd_pcm_runtime *runtime = rsnd_io_to_runtime(io); 247 struct snd_pcm_runtime *runtime = rsnd_io_to_runtime(io);
248 u32 cr; 248 u32 cr;
249 249
@@ -287,14 +287,13 @@ static int rsnd_ssi_init(struct rsnd_mod *mod,
287 ssi->cr_own = cr; 287 ssi->cr_own = cr;
288 ssi->err = -1; /* ignore 1st error */ 288 ssi->err = -1; /* ignore 1st error */
289 289
290 rsnd_src_ssi_mode_init(mod, rdai, io); 290 rsnd_src_ssi_mode_init(mod, rdai);
291 291
292 return 0; 292 return 0;
293} 293}
294 294
295static int rsnd_ssi_quit(struct rsnd_mod *mod, 295static int rsnd_ssi_quit(struct rsnd_mod *mod,
296 struct rsnd_dai *rdai, 296 struct rsnd_dai *rdai)
297 struct rsnd_dai_stream *io)
298{ 297{
299 struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod); 298 struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod);
300 struct rsnd_priv *priv = rsnd_mod_to_priv(mod); 299 struct rsnd_priv *priv = rsnd_mod_to_priv(mod);
@@ -359,8 +358,7 @@ static irqreturn_t rsnd_ssi_pio_interrupt(int irq, void *data)
359} 358}
360 359
361static int rsnd_ssi_pio_probe(struct rsnd_mod *mod, 360static int rsnd_ssi_pio_probe(struct rsnd_mod *mod,
362 struct rsnd_dai *rdai, 361 struct rsnd_dai *rdai)
363 struct rsnd_dai_stream *io)
364{ 362{
365 struct rsnd_priv *priv = rsnd_mod_to_priv(mod); 363 struct rsnd_priv *priv = rsnd_mod_to_priv(mod);
366 struct device *dev = rsnd_priv_to_dev(priv); 364 struct device *dev = rsnd_priv_to_dev(priv);
@@ -379,15 +377,15 @@ static int rsnd_ssi_pio_probe(struct rsnd_mod *mod,
379} 377}
380 378
381static int rsnd_ssi_pio_start(struct rsnd_mod *mod, 379static int rsnd_ssi_pio_start(struct rsnd_mod *mod,
382 struct rsnd_dai *rdai, 380 struct rsnd_dai *rdai)
383 struct rsnd_dai_stream *io)
384{ 381{
385 struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod); 382 struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod);
383 struct rsnd_dai_stream *io = rsnd_mod_to_io(mod);
386 384
387 /* enable PIO IRQ */ 385 /* enable PIO IRQ */
388 ssi->cr_etc = UIEN | OIEN | DIEN; 386 ssi->cr_etc = UIEN | OIEN | DIEN;
389 387
390 rsnd_src_enable_ssi_irq(mod, rdai, io); 388 rsnd_src_enable_ssi_irq(mod, rdai);
391 389
392 rsnd_ssi_hw_start(ssi, rdai, io); 390 rsnd_ssi_hw_start(ssi, rdai, io);
393 391
@@ -395,8 +393,7 @@ static int rsnd_ssi_pio_start(struct rsnd_mod *mod,
395} 393}
396 394
397static int rsnd_ssi_pio_stop(struct rsnd_mod *mod, 395static int rsnd_ssi_pio_stop(struct rsnd_mod *mod,
398 struct rsnd_dai *rdai, 396 struct rsnd_dai *rdai)
399 struct rsnd_dai_stream *io)
400{ 397{
401 struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod); 398 struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod);
402 399
@@ -417,8 +414,7 @@ static struct rsnd_mod_ops rsnd_ssi_pio_ops = {
417}; 414};
418 415
419static int rsnd_ssi_dma_probe(struct rsnd_mod *mod, 416static int rsnd_ssi_dma_probe(struct rsnd_mod *mod,
420 struct rsnd_dai *rdai, 417 struct rsnd_dai *rdai)
421 struct rsnd_dai_stream *io)
422{ 418{
423 struct rsnd_priv *priv = rsnd_mod_to_priv(mod); 419 struct rsnd_priv *priv = rsnd_mod_to_priv(mod);
424 struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod); 420 struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod);
@@ -438,8 +434,7 @@ static int rsnd_ssi_dma_probe(struct rsnd_mod *mod,
438} 434}
439 435
440static int rsnd_ssi_dma_remove(struct rsnd_mod *mod, 436static int rsnd_ssi_dma_remove(struct rsnd_mod *mod,
441 struct rsnd_dai *rdai, 437 struct rsnd_dai *rdai)
442 struct rsnd_dai_stream *io)
443{ 438{
444 rsnd_dma_quit(rsnd_mod_to_priv(mod), rsnd_mod_to_dma(mod)); 439 rsnd_dma_quit(rsnd_mod_to_priv(mod), rsnd_mod_to_dma(mod));
445 440
@@ -447,11 +442,11 @@ static int rsnd_ssi_dma_remove(struct rsnd_mod *mod,
447} 442}
448 443
449static int rsnd_ssi_dma_start(struct rsnd_mod *mod, 444static int rsnd_ssi_dma_start(struct rsnd_mod *mod,
450 struct rsnd_dai *rdai, 445 struct rsnd_dai *rdai)
451 struct rsnd_dai_stream *io)
452{ 446{
453 struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod); 447 struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod);
454 struct rsnd_dma *dma = rsnd_mod_to_dma(&ssi->mod); 448 struct rsnd_dma *dma = rsnd_mod_to_dma(&ssi->mod);
449 struct rsnd_dai_stream *io = rsnd_mod_to_io(mod);
455 450
456 /* enable DMA transfer */ 451 /* enable DMA transfer */
457 ssi->cr_etc = DMEN; 452 ssi->cr_etc = DMEN;
@@ -468,8 +463,7 @@ static int rsnd_ssi_dma_start(struct rsnd_mod *mod,
468} 463}
469 464
470static int rsnd_ssi_dma_stop(struct rsnd_mod *mod, 465static int rsnd_ssi_dma_stop(struct rsnd_mod *mod,
471 struct rsnd_dai *rdai, 466 struct rsnd_dai *rdai)
472 struct rsnd_dai_stream *io)
473{ 467{
474 struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod); 468 struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod);
475 struct rsnd_dma *dma = rsnd_mod_to_dma(&ssi->mod); 469 struct rsnd_dma *dma = rsnd_mod_to_dma(&ssi->mod);