aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>2014-01-23 21:38:08 -0500
committerMark Brown <broonie@linaro.org>2014-02-03 07:41:15 -0500
commit92d9587ede108a7e73f80d0767aedf2c4edb47d8 (patch)
treed7498592ba2fb76e67c483d33c81695a80590f43 /sound
parent0290d2a42cb476358303d05fbe2475dd50889907 (diff)
ASoC: rsnd: cleanup debug information method
rsnd_mod debug information is implemented in each callback functions now. But, it can be implemented in rsnd_mod_call(), and share this code. This patch adds it Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/sh/rcar/rsnd.h11
-rw-r--r--sound/soc/sh/rcar/scu.c2
-rw-r--r--sound/soc/sh/rcar/ssi.c12
3 files changed, 10 insertions, 15 deletions
diff --git a/sound/soc/sh/rcar/rsnd.h b/sound/soc/sh/rcar/rsnd.h
index f62b9eb274e1..faacdcb8f05b 100644
--- a/sound/soc/sh/rcar/rsnd.h
+++ b/sound/soc/sh/rcar/rsnd.h
@@ -152,10 +152,19 @@ struct rsnd_mod {
152#define rsnd_mod_id(mod) ((mod)->id) 152#define rsnd_mod_id(mod) ((mod)->id)
153#define for_each_rsnd_mod(pos, n, io) \ 153#define for_each_rsnd_mod(pos, n, io) \
154 list_for_each_entry_safe(pos, n, &(io)->head, list) 154 list_for_each_entry_safe(pos, n, &(io)->head, list)
155#define __rsnd_mod_call(mod, func, rdai, io) \
156({ \
157 struct rsnd_priv *priv = rsnd_mod_to_priv(mod); \
158 struct device *dev = rsnd_priv_to_dev(priv); \
159 dev_dbg(dev, "%s-%d-%s\n", \
160 rsnd_mod_name(mod), rsnd_mod_id(mod), #func); \
161 (mod)->ops->func(mod, rdai, io); \
162})
163
155#define rsnd_mod_call(mod, func, rdai, io) \ 164#define rsnd_mod_call(mod, func, rdai, io) \
156 (!(mod) ? -ENODEV : \ 165 (!(mod) ? -ENODEV : \
157 !((mod)->ops->func) ? 0 : \ 166 !((mod)->ops->func) ? 0 : \
158 (mod)->ops->func(mod, rdai, io)) 167 __rsnd_mod_call(mod, func, rdai, io))
159 168
160void rsnd_mod_init(struct rsnd_priv *priv, 169void rsnd_mod_init(struct rsnd_priv *priv,
161 struct rsnd_mod *mod, 170 struct rsnd_mod *mod,
diff --git a/sound/soc/sh/rcar/scu.c b/sound/soc/sh/rcar/scu.c
index 9b9daa3821a3..e4b82ab31dca 100644
--- a/sound/soc/sh/rcar/scu.c
+++ b/sound/soc/sh/rcar/scu.c
@@ -300,8 +300,6 @@ static int rsnd_scu_start(struct rsnd_mod *mod,
300 if (ret < 0) 300 if (ret < 0)
301 return ret; 301 return ret;
302 302
303 dev_dbg(dev, "%s%d start\n", rsnd_mod_name(mod), rsnd_mod_id(mod));
304
305 return 0; 303 return 0;
306} 304}
307 305
diff --git a/sound/soc/sh/rcar/ssi.c b/sound/soc/sh/rcar/ssi.c
index 4b8cf7ca9d19..df775f0c8a2c 100644
--- a/sound/soc/sh/rcar/ssi.c
+++ b/sound/soc/sh/rcar/ssi.c
@@ -324,7 +324,6 @@ static int rsnd_ssi_init(struct rsnd_mod *mod,
324{ 324{
325 struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod); 325 struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod);
326 struct rsnd_priv *priv = rsnd_mod_to_priv(mod); 326 struct rsnd_priv *priv = rsnd_mod_to_priv(mod);
327 struct device *dev = rsnd_priv_to_dev(priv);
328 struct snd_pcm_runtime *runtime = rsnd_io_to_runtime(io); 327 struct snd_pcm_runtime *runtime = rsnd_io_to_runtime(io);
329 u32 cr; 328 u32 cr;
330 329
@@ -371,8 +370,6 @@ static int rsnd_ssi_init(struct rsnd_mod *mod,
371 370
372 rsnd_ssi_mode_set(priv, rdai, ssi); 371 rsnd_ssi_mode_set(priv, rdai, ssi);
373 372
374 dev_dbg(dev, "%s.%d init\n", rsnd_mod_name(mod), rsnd_mod_id(mod));
375
376 return 0; 373 return 0;
377} 374}
378 375
@@ -384,8 +381,6 @@ static int rsnd_ssi_quit(struct rsnd_mod *mod,
384 struct rsnd_priv *priv = rsnd_mod_to_priv(mod); 381 struct rsnd_priv *priv = rsnd_mod_to_priv(mod);
385 struct device *dev = rsnd_priv_to_dev(priv); 382 struct device *dev = rsnd_priv_to_dev(priv);
386 383
387 dev_dbg(dev, "%s.%d quit\n", rsnd_mod_name(mod), rsnd_mod_id(mod));
388
389 if (ssi->err > 0) 384 if (ssi->err > 0)
390 dev_warn(dev, "ssi under/over flow err = %d\n", ssi->err); 385 dev_warn(dev, "ssi under/over flow err = %d\n", ssi->err);
391 386
@@ -450,7 +445,6 @@ static int rsnd_ssi_pio_start(struct rsnd_mod *mod,
450{ 445{
451 struct rsnd_priv *priv = rsnd_mod_to_priv(mod); 446 struct rsnd_priv *priv = rsnd_mod_to_priv(mod);
452 struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod); 447 struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod);
453 struct device *dev = rsnd_priv_to_dev(priv);
454 448
455 /* enable PIO IRQ */ 449 /* enable PIO IRQ */
456 ssi->cr_etc = UIEN | OIEN | DIEN; 450 ssi->cr_etc = UIEN | OIEN | DIEN;
@@ -461,8 +455,6 @@ static int rsnd_ssi_pio_start(struct rsnd_mod *mod,
461 455
462 rsnd_ssi_hw_start(ssi, rdai, io); 456 rsnd_ssi_hw_start(ssi, rdai, io);
463 457
464 dev_dbg(dev, "%s.%d start\n", rsnd_mod_name(mod), rsnd_mod_id(mod));
465
466 return 0; 458 return 0;
467} 459}
468 460
@@ -470,12 +462,8 @@ static int rsnd_ssi_pio_stop(struct rsnd_mod *mod,
470 struct rsnd_dai *rdai, 462 struct rsnd_dai *rdai,
471 struct rsnd_dai_stream *io) 463 struct rsnd_dai_stream *io)
472{ 464{
473 struct rsnd_priv *priv = rsnd_mod_to_priv(mod);
474 struct device *dev = rsnd_priv_to_dev(priv);
475 struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod); 465 struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod);
476 466
477 dev_dbg(dev, "%s.%d stop\n", rsnd_mod_name(mod), rsnd_mod_id(mod));
478
479 ssi->cr_etc = 0; 467 ssi->cr_etc = 0;
480 468
481 rsnd_ssi_hw_stop(ssi, rdai); 469 rsnd_ssi_hw_stop(ssi, rdai);