ASoC: rsnd: call clk_prepare/unprepare() in probe/remove
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Thu, 26 Mar 2015 04:02:09 +0000 (04:02 +0000)
committerMark Brown <broonie@kernel.org>
Fri, 27 Mar 2015 22:59:17 +0000 (15:59 -0700)
commit2f78dd7f40264697afed4c2ac0890df8f0588e49
tree9d37d40fef4bbf1161f9d447def5273d242dbf93
parentc517d838eb7d07bbe9507871fab3931deccff539
ASoC: rsnd: call clk_prepare/unprepare() in probe/remove

clk_prepare_enable()/clk_disable_unprepare() uses mutex inside,
in concretely clk_prepare()/clk_unprepare().And it uses __schedule().
Then, raw_spin_lock/unlock_irq() is called, and it breaks Renesas
sound driver's spin lock irq.
This patch separates thesse into clk_prepare()/clk_unprepare() and
clk_enable/clk_disable. And call clk_prepare()/clk_unprepare() from
probe/remove function. Special thanks to Das Biju.

Reported-by: Das Biju <biju.das@bp.renesas.com>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sh/rcar/core.c
sound/soc/sh/rcar/dvc.c
sound/soc/sh/rcar/rsnd.h
sound/soc/sh/rcar/src.c
sound/soc/sh/rcar/ssi.c