Commit 9afaf9a5 authored by Olivier Moysan's avatar Olivier Moysan Committed by Jonathan Cameron
Browse files

ASoC: stm32: dfsdm: add stm32_adfsdm_dummy_cb() callback



Adapt STM32 DFSDM driver to a change in iio_channel_get_all_cb() API.
The callback pointer becomes a requested parameter of this API,
so add a dummy callback to be given as parameter of this function.
However, the stm32_dfsdm_get_buff_cb() API is still used instead,
to optimize DMA transfers.

Signed-off-by: default avatarOlivier Moysan <olivier.moysan@st.com>
Signed-off-by: default avatarNuno Sá <nuno.sa@analog.com>
Acked-by: default avatarMark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20201121161457.957-2-nuno.sa@analog.com


Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
parent 29e96f5a
Loading
Loading
Loading
Loading
+11 −1
Original line number Diff line number Diff line
@@ -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);