Commit 4cb1ea92 authored by Kuninori Morimoto's avatar Kuninori Morimoto Committed by Mark Brown

ASoC: fsl: dma: replace platform to component

Now platform can be replaced to component, let's do it.
Signed-off-by: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent a49cb31c
...@@ -37,6 +37,8 @@ ...@@ -37,6 +37,8 @@
#include "fsl_dma.h" #include "fsl_dma.h"
#include "fsl_ssi.h" /* For the offset of stx0 and srx0 */ #include "fsl_ssi.h" /* For the offset of stx0 and srx0 */
#define DRV_NAME "fsl_dma"
/* /*
* The formats that the DMA controller supports, which is anything * The formats that the DMA controller supports, which is anything
* that is 8, 16, or 32 bits. * that is 8, 16, or 32 bits.
...@@ -56,7 +58,7 @@ ...@@ -56,7 +58,7 @@
SNDRV_PCM_FMTBIT_U32_LE | \ SNDRV_PCM_FMTBIT_U32_LE | \
SNDRV_PCM_FMTBIT_U32_BE) SNDRV_PCM_FMTBIT_U32_BE)
struct dma_object { struct dma_object {
struct snd_soc_platform_driver dai; struct snd_soc_component_driver dai;
dma_addr_t ssi_stx_phys; dma_addr_t ssi_stx_phys;
dma_addr_t ssi_srx_phys; dma_addr_t ssi_srx_phys;
unsigned int ssi_fifo_depth; unsigned int ssi_fifo_depth;
...@@ -203,7 +205,8 @@ static irqreturn_t fsl_dma_isr(int irq, void *dev_id) ...@@ -203,7 +205,8 @@ static irqreturn_t fsl_dma_isr(int irq, void *dev_id)
struct fsl_dma_private *dma_private = dev_id; struct fsl_dma_private *dma_private = dev_id;
struct snd_pcm_substream *substream = dma_private->substream; struct snd_pcm_substream *substream = dma_private->substream;
struct snd_soc_pcm_runtime *rtd = substream->private_data; struct snd_soc_pcm_runtime *rtd = substream->private_data;
struct device *dev = rtd->platform->dev; struct snd_soc_component *component = snd_soc_rtdcom_lookup(rtd, DRV_NAME);
struct device *dev = component->dev;
struct ccsr_dma_channel __iomem *dma_channel = dma_private->dma_channel; struct ccsr_dma_channel __iomem *dma_channel = dma_private->dma_channel;
irqreturn_t ret = IRQ_NONE; irqreturn_t ret = IRQ_NONE;
u32 sr, sr2 = 0; u32 sr, sr2 = 0;
...@@ -385,9 +388,10 @@ static int fsl_dma_open(struct snd_pcm_substream *substream) ...@@ -385,9 +388,10 @@ static int fsl_dma_open(struct snd_pcm_substream *substream)
{ {
struct snd_pcm_runtime *runtime = substream->runtime; struct snd_pcm_runtime *runtime = substream->runtime;
struct snd_soc_pcm_runtime *rtd = substream->private_data; struct snd_soc_pcm_runtime *rtd = substream->private_data;
struct device *dev = rtd->platform->dev; struct snd_soc_component *component = snd_soc_rtdcom_lookup(rtd, DRV_NAME);
struct device *dev = component->dev;
struct dma_object *dma = struct dma_object *dma =
container_of(rtd->platform->driver, struct dma_object, dai); container_of(component->driver, struct dma_object, dai);
struct fsl_dma_private *dma_private; struct fsl_dma_private *dma_private;
struct ccsr_dma_channel __iomem *dma_channel; struct ccsr_dma_channel __iomem *dma_channel;
dma_addr_t ld_buf_phys; dma_addr_t ld_buf_phys;
...@@ -539,7 +543,8 @@ static int fsl_dma_hw_params(struct snd_pcm_substream *substream, ...@@ -539,7 +543,8 @@ static int fsl_dma_hw_params(struct snd_pcm_substream *substream,
struct snd_pcm_runtime *runtime = substream->runtime; struct snd_pcm_runtime *runtime = substream->runtime;
struct fsl_dma_private *dma_private = runtime->private_data; struct fsl_dma_private *dma_private = runtime->private_data;
struct snd_soc_pcm_runtime *rtd = substream->private_data; struct snd_soc_pcm_runtime *rtd = substream->private_data;
struct device *dev = rtd->platform->dev; struct snd_soc_component *component = snd_soc_rtdcom_lookup(rtd, DRV_NAME);
struct device *dev = component->dev;
/* Number of bits per sample */ /* Number of bits per sample */
unsigned int sample_bits = unsigned int sample_bits =
...@@ -702,7 +707,8 @@ static snd_pcm_uframes_t fsl_dma_pointer(struct snd_pcm_substream *substream) ...@@ -702,7 +707,8 @@ static snd_pcm_uframes_t fsl_dma_pointer(struct snd_pcm_substream *substream)
struct snd_pcm_runtime *runtime = substream->runtime; struct snd_pcm_runtime *runtime = substream->runtime;
struct fsl_dma_private *dma_private = runtime->private_data; struct fsl_dma_private *dma_private = runtime->private_data;
struct snd_soc_pcm_runtime *rtd = substream->private_data; struct snd_soc_pcm_runtime *rtd = substream->private_data;
struct device *dev = rtd->platform->dev; struct snd_soc_component *component = snd_soc_rtdcom_lookup(rtd, DRV_NAME);
struct device *dev = component->dev;
struct ccsr_dma_channel __iomem *dma_channel = dma_private->dma_channel; struct ccsr_dma_channel __iomem *dma_channel = dma_private->dma_channel;
dma_addr_t position; dma_addr_t position;
snd_pcm_uframes_t frames; snd_pcm_uframes_t frames;
...@@ -799,9 +805,10 @@ static int fsl_dma_close(struct snd_pcm_substream *substream) ...@@ -799,9 +805,10 @@ static int fsl_dma_close(struct snd_pcm_substream *substream)
struct snd_pcm_runtime *runtime = substream->runtime; struct snd_pcm_runtime *runtime = substream->runtime;
struct fsl_dma_private *dma_private = runtime->private_data; struct fsl_dma_private *dma_private = runtime->private_data;
struct snd_soc_pcm_runtime *rtd = substream->private_data; struct snd_soc_pcm_runtime *rtd = substream->private_data;
struct device *dev = rtd->platform->dev; struct snd_soc_component *component = snd_soc_rtdcom_lookup(rtd, DRV_NAME);
struct device *dev = component->dev;
struct dma_object *dma = struct dma_object *dma =
container_of(rtd->platform->driver, struct dma_object, dai); container_of(component->driver, struct dma_object, dai);
if (dma_private) { if (dma_private) {
if (dma_private->irq) if (dma_private->irq)
...@@ -908,6 +915,7 @@ static int fsl_soc_dma_probe(struct platform_device *pdev) ...@@ -908,6 +915,7 @@ static int fsl_soc_dma_probe(struct platform_device *pdev)
return -ENOMEM; return -ENOMEM;
} }
dma->dai.name = DRV_NAME;
dma->dai.ops = &fsl_dma_ops; dma->dai.ops = &fsl_dma_ops;
dma->dai.pcm_new = fsl_dma_new; dma->dai.pcm_new = fsl_dma_new;
dma->dai.pcm_free = fsl_dma_free_dma_buffers; dma->dai.pcm_free = fsl_dma_free_dma_buffers;
...@@ -925,7 +933,7 @@ static int fsl_soc_dma_probe(struct platform_device *pdev) ...@@ -925,7 +933,7 @@ static int fsl_soc_dma_probe(struct platform_device *pdev)
of_node_put(ssi_np); of_node_put(ssi_np);
ret = snd_soc_register_platform(&pdev->dev, &dma->dai); ret = devm_snd_soc_register_component(&pdev->dev, &dma->dai, NULL, 0);
if (ret) { if (ret) {
dev_err(&pdev->dev, "could not register platform\n"); dev_err(&pdev->dev, "could not register platform\n");
kfree(dma); kfree(dma);
...@@ -944,7 +952,6 @@ static int fsl_soc_dma_remove(struct platform_device *pdev) ...@@ -944,7 +952,6 @@ static int fsl_soc_dma_remove(struct platform_device *pdev)
{ {
struct dma_object *dma = dev_get_drvdata(&pdev->dev); struct dma_object *dma = dev_get_drvdata(&pdev->dev);
snd_soc_unregister_platform(&pdev->dev);
iounmap(dma->channel); iounmap(dma->channel);
irq_dispose_mapping(dma->irq); irq_dispose_mapping(dma->irq);
kfree(dma); kfree(dma);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment