ASoC: dmaengine: Improve of_node test in dmaengine_pcm_request_chan_of() 37/197837/5
authorSylwester Nawrocki <s.nawrocki@samsung.com>
Thu, 7 Feb 2019 17:00:09 +0000 (18:00 +0100)
committerSylwester Nawrocki <s.nawrocki@samsung.com>
Mon, 4 Mar 2019 17:05:33 +0000 (18:05 +0100)
Currently when of_node of the "PCM" device is null
dmaengine_pcm_request_chan_of() function will bail out, including cases
when custom DMA device is intended to be used.  To have the channels
properly requested when custom DMA device is provided extend the of_node
test to also consider dma_dev->of_node.

Change-Id: Icac9da759fdefa367492f5d0ad0ff031a7b0bb62
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Acked-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/soc-generic-dmaengine-pcm.c

index d537864..613ed8c 100644 (file)
@@ -360,7 +360,8 @@ static int dmaengine_pcm_request_chan_of(struct dmaengine_pcm *pcm,
 
        if ((pcm->flags & (SND_DMAENGINE_PCM_FLAG_NO_DT |
                           SND_DMAENGINE_PCM_FLAG_CUSTOM_CHANNEL_NAME)) ||
-           !dev->of_node)
+            (!dev->of_node && !(config && config->dma_dev &&
+                               config->dma_dev->of_node)))
                return 0;
 
        if (config && config->dma_dev) {