[alsa-devel] [PATCH 14/38] ASoC: amd: replace platform to component
Mukunda,Vijendar
vijendar.mukunda at amd.com
Wed Jan 24 10:15:13 CET 2018
Tested-by: Mukunda,Vijendar <vijendar.mukunda at amd.com>
On Wednesday 24 January 2018 06:16 AM, Kuninori Morimoto wrote:
> I have asked patch test to Mukunda / Vemuri.
> Cc this mail to them.
>
>> From: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>
>>
>> Now platform can be replaced to component, let's do it.
>>
>> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>
>> ---
>> sound/soc/amd/acp-pcm-dma.c | 29 ++++++++++++++++++-----------
>> 1 file changed, 18 insertions(+), 11 deletions(-)
>>
>> diff --git a/sound/soc/amd/acp-pcm-dma.c b/sound/soc/amd/acp-pcm-dma.c
>> index c33a512..78d7b62 100644
>> --- a/sound/soc/amd/acp-pcm-dma.c
>> +++ b/sound/soc/amd/acp-pcm-dma.c
>> @@ -23,6 +23,8 @@
>> #include <drm/amd_asic_type.h>
>> #include "acp.h"
>>
>> +#define DRV_NAME "acp_audio_dma"
>> +
>> #define PLAYBACK_MIN_NUM_PERIODS 2
>> #define PLAYBACK_MAX_NUM_PERIODS 2
>> #define PLAYBACK_MAX_PERIOD_SIZE 16384
>> @@ -702,8 +704,8 @@ static int acp_dma_open(struct snd_pcm_substream *substream)
>> int ret = 0;
>> struct snd_pcm_runtime *runtime = substream->runtime;
>> struct snd_soc_pcm_runtime *prtd = substream->private_data;
>> - struct audio_drv_data *intr_data = dev_get_drvdata(prtd->platform->dev);
>> -
>> + struct snd_soc_component *component = snd_soc_rtdcom_lookup(prtd, DRV_NAME);
>> + struct audio_drv_data *intr_data = dev_get_drvdata(component->dev);
>> struct audio_substream_data *adata =
>> kzalloc(sizeof(struct audio_substream_data), GFP_KERNEL);
>> if (adata == NULL)
>> @@ -730,7 +732,7 @@ static int acp_dma_open(struct snd_pcm_substream *substream)
>> ret = snd_pcm_hw_constraint_integer(runtime,
>> SNDRV_PCM_HW_PARAM_PERIODS);
>> if (ret < 0) {
>> - dev_err(prtd->platform->dev, "set integer constraint failed\n");
>> + dev_err(component->dev, "set integer constraint failed\n");
>> kfree(adata);
>> return ret;
>> }
>> @@ -778,7 +780,8 @@ static int acp_dma_hw_params(struct snd_pcm_substream *substream,
>> struct snd_pcm_runtime *runtime;
>> struct audio_substream_data *rtd;
>> struct snd_soc_pcm_runtime *prtd = substream->private_data;
>> - struct audio_drv_data *adata = dev_get_drvdata(prtd->platform->dev);
>> + struct snd_soc_component *component = snd_soc_rtdcom_lookup(prtd, DRV_NAME);
>> + struct audio_drv_data *adata = dev_get_drvdata(component->dev);
>>
>> runtime = substream->runtime;
>> rtd = runtime->private_data;
>> @@ -907,6 +910,7 @@ static int acp_dma_trigger(struct snd_pcm_substream *substream, int cmd)
>> struct snd_pcm_runtime *runtime = substream->runtime;
>> struct snd_soc_pcm_runtime *prtd = substream->private_data;
>> struct audio_substream_data *rtd = runtime->private_data;
>> + struct snd_soc_component *component = snd_soc_rtdcom_lookup(prtd, DRV_NAME);
>>
>> if (!rtd)
>> return -EINVAL;
>> @@ -924,7 +928,7 @@ static int acp_dma_trigger(struct snd_pcm_substream *substream, int cmd)
>> while (acp_reg_read(rtd->acp_mmio, mmACP_DMA_CH_STS) &
>> BIT(SYSRAM_TO_ACP_CH_NUM)) {
>> if (!loops--) {
>> - dev_err(prtd->platform->dev,
>> + dev_err(component->dev,
>> "acp dma start timeout\n");
>> return -ETIMEDOUT;
>> }
>> @@ -970,7 +974,8 @@ static int acp_dma_trigger(struct snd_pcm_substream *substream, int cmd)
>> static int acp_dma_new(struct snd_soc_pcm_runtime *rtd)
>> {
>> int ret;
>> - struct audio_drv_data *adata = dev_get_drvdata(rtd->platform->dev);
>> + struct snd_soc_component *component = snd_soc_rtdcom_lookup(rtd, DRV_NAME);
>> + struct audio_drv_data *adata = dev_get_drvdata(component->dev);
>>
>> switch (adata->asic_type) {
>> case CHIP_STONEY:
>> @@ -987,7 +992,7 @@ static int acp_dma_new(struct snd_soc_pcm_runtime *rtd)
>> break;
>> }
>> if (ret < 0)
>> - dev_err(rtd->platform->dev,
>> + dev_err(component->dev,
>> "buffer preallocation failer error:%d\n", ret);
>> return ret;
>> }
>> @@ -998,7 +1003,8 @@ static int acp_dma_close(struct snd_pcm_substream *substream)
>> struct snd_pcm_runtime *runtime = substream->runtime;
>> struct audio_substream_data *rtd = runtime->private_data;
>> struct snd_soc_pcm_runtime *prtd = substream->private_data;
>> - struct audio_drv_data *adata = dev_get_drvdata(prtd->platform->dev);
>> + struct snd_soc_component *component = snd_soc_rtdcom_lookup(prtd, DRV_NAME);
>> + struct audio_drv_data *adata = dev_get_drvdata(component->dev);
>>
>> kfree(rtd);
>>
>> @@ -1044,7 +1050,8 @@ static int acp_dma_close(struct snd_pcm_substream *substream)
>> .prepare = acp_dma_prepare,
>> };
>>
>> -static struct snd_soc_platform_driver acp_asoc_platform = {
>> +static struct snd_soc_component_driver acp_asoc_platform = {
>> + .name = DRV_NAME,
>> .ops = &acp_dma_ops,
>> .pcm_new = acp_dma_new,
>> };
>> @@ -1102,7 +1109,8 @@ static int acp_audio_probe(struct platform_device *pdev)
>> return status;
>> }
>>
>> - status = snd_soc_register_platform(&pdev->dev, &acp_asoc_platform);
>> + status = devm_snd_soc_register_component(&pdev->dev,
>> + &acp_asoc_platform, NULL, 0);
>> if (status != 0) {
>> dev_err(&pdev->dev, "Fail to register ALSA platform device\n");
>> return status;
>> @@ -1123,7 +1131,6 @@ static int acp_audio_remove(struct platform_device *pdev)
>> status = acp_deinit(adata->acp_mmio);
>> if (status)
>> dev_err(&pdev->dev, "ACP Deinit failed status:%d\n", status);
>> - snd_soc_unregister_platform(&pdev->dev);
>> pm_runtime_disable(&pdev->dev);
>>
>> return 0;
>> --
>> 1.9.1
>>
More information about the Alsa-devel
mailing list