This patch series is an attempt to fix sound card initialization isssues observed in Odroid XU3 board after conversion of the AUDSS clock controller driver to proper loadable module. Related patch can be found here: https://patchwork.kernel.org/patch/9221051, it's also already in -next.
It would be good to have these two patches merged in 4.8-rc cycle so as to avoid regressions on on boards using ADMA. The sound breakage happens only when ADMA is used, as ADMA gets apb_pclk clock from the AUDSS clock controller. Previously the clock controller was initialized early in core_initcall which ensured the ADMA PL330 driver initialization before the I2S probe.
Probably as a followup the SND_DMAENGINE_PCM_FLAG_CUSTOM_CHANNEL_NAME could be dropped and it's usage replaced with struct snd_dmaengine_pcm_config ::dma_names, I didn't want to make too invasive changes for a bug fix patch and don't have the older s3c non-dt boards for testing.
Sylwester Nawrocki (2): ASoC: samsung: Fix error paths in the I2S driver's probe() ASoC: samsung: Specify DMA channels through struct snd_dmaengine_pcm_config
sound/soc/samsung/ac97.c | 3 ++- sound/soc/samsung/dma.h | 9 ++++++--- sound/soc/samsung/dmaengine.c | 31 ++++++++++++++++++++----------- sound/soc/samsung/i2s.c | 28 ++++++++++++++++++++++------ sound/soc/samsung/pcm.c | 3 ++- sound/soc/samsung/s3c2412-i2s.c | 3 ++- sound/soc/samsung/s3c24xx-i2s.c | 3 ++- sound/soc/samsung/spdif.c | 3 ++- 8 files changed, 58 insertions(+), 25 deletions(-)
-- 1.9.1