Merge tag 'pinctrl-v5.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw...
[linux-2.6-microblaze.git] / sound / soc / stm / stm32_adfsdm.c
index c403198..47fae8d 100644 (file)
@@ -293,6 +293,16 @@ static int stm32_adfsdm_pcm_new(struct snd_soc_component *component,
        return 0;
 }
 
+static int stm32_adfsdm_dummy_cb(const void *data, void *private)
+{
+       /*
+        * This dummmy callback is requested by iio_channel_get_all_cb() API,
+        * but the stm32_dfsdm_get_buff_cb() API is used instead, to optimize
+        * DMA transfers.
+        */
+       return 0;
+}
+
 static struct snd_soc_component_driver stm32_adfsdm_soc_platform = {
        .open           = stm32_adfsdm_pcm_open,
        .close          = stm32_adfsdm_pcm_close,
@@ -335,7 +345,7 @@ static int stm32_adfsdm_probe(struct platform_device *pdev)
        if (IS_ERR(priv->iio_ch))
                return PTR_ERR(priv->iio_ch);
 
-       priv->iio_cb = iio_channel_get_all_cb(&pdev->dev, NULL, NULL);
+       priv->iio_cb = iio_channel_get_all_cb(&pdev->dev, &stm32_adfsdm_dummy_cb, NULL);
        if (IS_ERR(priv->iio_cb))
                return PTR_ERR(priv->iio_cb);