diff options
author | Matthias Reichl <hias@horus.com> | 2018-01-17 15:50:50 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2018-01-18 14:21:17 +0300 |
commit | 8d5737a5f53902a916ee1e1cb248c9b8b883b2ea (patch) | |
tree | 6190a3acc8c0355222550a611829e8261828614e /sound/soc/codecs/wm8776.c | |
parent | 4fbd8d194f06c8a3fd2af1ce560ddb31f7ec8323 (diff) | |
download | linux-8d5737a5f53902a916ee1e1cb248c9b8b883b2ea.tar.xz |
ASoC: bcm2835: fix hw_params error when device is in prepared state
If bcm2835 is configured as bitclock master calling hw_params()
after prepare() fails with EBUSY. This also makes it impossible to
use bcm2835 in full duplex mode.
The error is caused by the split clock setup: clk_set_rate
is called in hw_params, clk_prepare_enable in prepare. As hw_params
doesn't check if the clock was already enabled clk_set_rate
fails with EBUSY.
Fix this by moving clock startup from prepare to hw_params and
let hw_params properly deal with an already set up or enabled
clock.
Signed-off-by: Matthias Reichl <hias@horus.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/codecs/wm8776.c')
0 files changed, 0 insertions, 0 deletions