Remove the check in the Freescale MPC8610 sound driver for the "compatible" property in the DMA channels.
Normally, the DMA channels in the device tree have "fsl,eloplus-dma-channel" in the compatible property. However, this allows the generic DMA driver to claim those channels, which conflicts with the sound driver. To resolve this, the channels used by the sound drivers should have "fsl,ssi-dma-channel" in the compatible property. In order for the sound driver to work with either value, we simply remove all checks for the compatible property.
Signed-off-by: Timur Tabi timur@freescale.com ---
This patch is for ASoC V2 only.
sound/soc/fsl/fsl_ssi.c | 11 +++-------- 1 files changed, 3 insertions(+), 8 deletions(-)
diff --git a/sound/soc/fsl/fsl_ssi.c b/sound/soc/fsl/fsl_ssi.c index 867e770..871ba8e 100644 --- a/sound/soc/fsl/fsl_ssi.c +++ b/sound/soc/fsl/fsl_ssi.c @@ -628,9 +628,6 @@ static struct device_node *find_dma_node(unsigned int controller, }
for_each_child_of_node(np, np2) { - if (!of_device_is_compatible(np2, "fsl,eloplus-dma-channel")) - continue; - iprop = of_get_property(np2, "cell-index", NULL); if (!iprop) { pr_err("fsl-ssi: cell-index property not found\n"); @@ -640,13 +637,11 @@ static struct device_node *find_dma_node(unsigned int controller, break; }
- if (!np2) { + of_node_put(np); + + if (!np2) pr_err("fsl-ssi: cannot find node for DMA channel %u\n", channel); - return NULL; - } - - of_node_put(np);
return np2; }