ASoC: generic-dmaengine-pcm: Check NO_RESIDUE flag at runtime
authorLars-Peter Clausen <lars@metafoo.de>
Sat, 11 Jan 2014 13:02:18 +0000 (14:02 +0100)
committerMark Brown <broonie@linaro.org>
Tue, 14 Jan 2014 21:28:39 +0000 (21:28 +0000)
commit93b943edfc5e439f7b843535e0bb0f7d2371f67f
tree44c983ae5155d191f8dd3c2026b4adc572643efc
parentbfb9bb42d60d7cf1d8057c7c3978dcc53c4d25fd
ASoC: generic-dmaengine-pcm: Check NO_RESIDUE flag at runtime

Currently we have two different snd_soc_platform_driver structs in the generic
dmaengine PCM driver. One for dmaengine drivers that support residue reporting
and one for those which do not. When registering the PCM component we check
whether the NO_RESIDUE flag is set or not and use the corresponding
snd_soc_platform_driver. This patch modifies the driver to only have one
snd_soc_platform_driver struct where the pointer() callback checks the
NO_RESIDUE flag at runtime. This allows us to set the NO_RESIDUE flag after the
PCM component has been registered. This becomes necessary when querying whether
the dmaengine driver supports residue reporting from the dmaengine driver itself
since the DMA channel might only be requested after the PCM component has been
registered.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
sound/soc/soc-generic-dmaengine-pcm.c