ASoC: fsl: rename imx-pcm Kconfig options and filename
authorShawn Guo <shawn.guo@linaro.org>
Fri, 16 Mar 2012 08:56:39 +0000 (16:56 +0800)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Sun, 1 Apr 2012 10:28:26 +0000 (11:28 +0100)
Rename a couple of imx-pcm Kconfig options and filename to get them
well named and less confusing.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Acked-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
sound/soc/fsl/Kconfig
sound/soc/fsl/Makefile
sound/soc/fsl/imx-pcm-dma-mx2.c [deleted file]
sound/soc/fsl/imx-pcm-dma.c [new file with mode: 0644]

index 19856a05208c5b6b307ca1ffbf25ec265f1b6fc6..e3f75093d197d69f867660a68553e4a920693583 100644 (file)
@@ -97,12 +97,12 @@ config SND_SOC_IMX_SSI
 config SND_SOC_IMX_PCM
        tristate
 
-config SND_MXC_SOC_FIQ
+config SND_SOC_IMX_PCM_FIQ
        tristate
        select FIQ
        select SND_SOC_IMX_PCM
 
-config SND_MXC_SOC_MX2
+config SND_SOC_IMX_PCM_DMA
        tristate
        select SND_SOC_DMAENGINE_PCM
        select SND_SOC_IMX_PCM
@@ -114,7 +114,7 @@ config SND_MXC_SOC_WM1133_EV1
        tristate "Audio on the the i.MX31ADS with WM1133-EV1 fitted"
        depends on MACH_MX31ADS_WM1133_EV1 && EXPERIMENTAL
        select SND_SOC_WM8350
-       select SND_MXC_SOC_FIQ
+       select SND_SOC_IMX_PCM_FIQ
        select SND_SOC_IMX_AUDMUX
        select SND_SOC_IMX_SSI
        help
@@ -125,7 +125,7 @@ config SND_SOC_MX27VIS_AIC32X4
        tristate "SoC audio support for Visstrim M10 boards"
        depends on MACH_IMX27_VISSTRIM_M10 && I2C
        select SND_SOC_TLV320AIC32X4
-       select SND_MXC_SOC_MX2
+       select SND_SOC_IMX_PCM_DMA
        select SND_SOC_IMX_AUDMUX
        select SND_SOC_IMX_SSI
        help
@@ -137,7 +137,7 @@ config SND_SOC_PHYCORE_AC97
        depends on MACH_PCM043 || MACH_PCA100
        select SND_SOC_AC97_BUS
        select SND_SOC_WM9712
-       select SND_MXC_SOC_FIQ
+       select SND_SOC_IMX_PCM_FIQ
        select SND_SOC_IMX_AUDMUX
        select SND_SOC_IMX_SSI
        help
@@ -152,7 +152,7 @@ config SND_SOC_EUKREA_TLV320
                || MACH_EUKREA_MBIMXSD51_BASEBOARD
        depends on I2C
        select SND_SOC_TLV320AIC23
-       select SND_MXC_SOC_FIQ
+       select SND_SOC_IMX_PCM_FIQ
        select SND_SOC_IMX_AUDMUX
        select SND_SOC_IMX_SSI
        help
index 36c257fd35bb30db31aebff75213baa6f068d029..f031409a39299a4cf7e6166b94fefc97e2edd73d 100644 (file)
@@ -30,8 +30,8 @@ obj-$(CONFIG_SND_SOC_IMX_AUDMUX) += snd-soc-imx-audmux.o
 
 obj-$(CONFIG_SND_SOC_IMX_PCM) += snd-soc-imx-pcm.o
 snd-soc-imx-pcm-y := imx-pcm.o
-snd-soc-imx-pcm-$(CONFIG_SND_MXC_SOC_FIQ) += imx-pcm-fiq.o
-snd-soc-imx-pcm-$(CONFIG_SND_MXC_SOC_MX2) += imx-pcm-dma-mx2.o
+snd-soc-imx-pcm-$(CONFIG_SND_SOC_IMX_PCM_FIQ) += imx-pcm-fiq.o
+snd-soc-imx-pcm-$(CONFIG_SND_SOC_IMX_PCM_DMA) += imx-pcm-dma.o
 
 # i.MX Machine Support
 snd-soc-eukrea-tlv320-objs := eukrea-tlv320.o
diff --git a/sound/soc/fsl/imx-pcm-dma-mx2.c b/sound/soc/fsl/imx-pcm-dma-mx2.c
deleted file mode 100644 (file)
index 6b818de..0000000
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * imx-pcm-dma-mx2.c  --  ALSA Soc Audio Layer
- *
- * Copyright 2009 Sascha Hauer <s.hauer@pengutronix.de>
- *
- * This code is based on code copyrighted by Freescale,
- * Liam Girdwood, Javier Martin and probably others.
- *
- *  This program is free software; you can redistribute  it and/or modify it
- *  under  the terms of  the GNU General  Public License as published by the
- *  Free Software Foundation;  either version 2 of the  License, or (at your
- *  option) any later version.
- */
-#include <linux/clk.h>
-#include <linux/delay.h>
-#include <linux/device.h>
-#include <linux/dma-mapping.h>
-#include <linux/init.h>
-#include <linux/interrupt.h>
-#include <linux/module.h>
-#include <linux/platform_device.h>
-#include <linux/slab.h>
-#include <linux/dmaengine.h>
-#include <linux/types.h>
-
-#include <sound/core.h>
-#include <sound/initval.h>
-#include <sound/pcm.h>
-#include <sound/pcm_params.h>
-#include <sound/soc.h>
-#include <sound/dmaengine_pcm.h>
-
-#include <mach/dma.h>
-
-#include "imx-pcm.h"
-
-static bool filter(struct dma_chan *chan, void *param)
-{
-       if (!imx_dma_is_general_purpose(chan))
-               return false;
-
-       chan->private = param;
-
-       return true;
-}
-
-static int snd_imx_pcm_hw_params(struct snd_pcm_substream *substream,
-                               struct snd_pcm_hw_params *params)
-{
-       struct snd_soc_pcm_runtime *rtd = substream->private_data;
-       struct dma_chan *chan = snd_dmaengine_pcm_get_chan(substream);
-       struct imx_pcm_dma_params *dma_params;
-       struct dma_slave_config slave_config;
-       int ret;
-
-       dma_params = snd_soc_dai_get_dma_data(rtd->cpu_dai, substream);
-
-       ret = snd_hwparams_to_dma_slave_config(substream, params, &slave_config);
-       if (ret)
-               return ret;
-
-       slave_config.device_fc = false;
-
-       if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) {
-               slave_config.dst_addr = dma_params->dma_addr;
-               slave_config.dst_maxburst = dma_params->burstsize;
-       } else {
-               slave_config.src_addr = dma_params->dma_addr;
-               slave_config.src_maxburst = dma_params->burstsize;
-       }
-
-       ret = dmaengine_slave_config(chan, &slave_config);
-       if (ret)
-               return ret;
-
-       snd_pcm_set_runtime_buffer(substream, &substream->dma_buffer);
-
-       return 0;
-}
-
-static struct snd_pcm_hardware snd_imx_hardware = {
-       .info = SNDRV_PCM_INFO_INTERLEAVED |
-               SNDRV_PCM_INFO_BLOCK_TRANSFER |
-               SNDRV_PCM_INFO_MMAP |
-               SNDRV_PCM_INFO_MMAP_VALID |
-               SNDRV_PCM_INFO_PAUSE |
-               SNDRV_PCM_INFO_RESUME,
-       .formats = SNDRV_PCM_FMTBIT_S16_LE,
-       .rate_min = 8000,
-       .channels_min = 2,
-       .channels_max = 2,
-       .buffer_bytes_max = IMX_SSI_DMABUF_SIZE,
-       .period_bytes_min = 128,
-       .period_bytes_max = 65535, /* Limited by SDMA engine */
-       .periods_min = 2,
-       .periods_max = 255,
-       .fifo_size = 0,
-};
-
-static int snd_imx_open(struct snd_pcm_substream *substream)
-{
-       struct snd_soc_pcm_runtime *rtd = substream->private_data;
-       struct imx_pcm_dma_params *dma_params;
-       struct imx_dma_data *dma_data;
-       int ret;
-
-       snd_soc_set_runtime_hwparams(substream, &snd_imx_hardware);
-
-       dma_params = snd_soc_dai_get_dma_data(rtd->cpu_dai, substream);
-
-       dma_data = kzalloc(sizeof(*dma_data), GFP_KERNEL);
-       dma_data->peripheral_type = IMX_DMATYPE_SSI;
-       dma_data->priority = DMA_PRIO_HIGH;
-       dma_data->dma_request = dma_params->dma;
-
-       ret = snd_dmaengine_pcm_open(substream, filter, dma_data);
-       if (ret) {
-               kfree(dma_data);
-               return 0;
-       }
-
-       snd_dmaengine_pcm_set_data(substream, dma_data);
-
-       return 0;
-}
-
-static int snd_imx_close(struct snd_pcm_substream *substream)
-{
-       struct imx_dma_data *dma_data = snd_dmaengine_pcm_get_data(substream);
-
-       snd_dmaengine_pcm_close(substream);
-       kfree(dma_data);
-
-       return 0;
-}
-
-static struct snd_pcm_ops imx_pcm_ops = {
-       .open           = snd_imx_open,
-       .close          = snd_imx_close,
-       .ioctl          = snd_pcm_lib_ioctl,
-       .hw_params      = snd_imx_pcm_hw_params,
-       .trigger        = snd_dmaengine_pcm_trigger,
-       .pointer        = snd_dmaengine_pcm_pointer,
-       .mmap           = snd_imx_pcm_mmap,
-};
-
-static struct snd_soc_platform_driver imx_soc_platform_mx2 = {
-       .ops            = &imx_pcm_ops,
-       .pcm_new        = imx_pcm_new,
-       .pcm_free       = imx_pcm_free,
-};
-
-static int __devinit imx_soc_platform_probe(struct platform_device *pdev)
-{
-       return snd_soc_register_platform(&pdev->dev, &imx_soc_platform_mx2);
-}
-
-static int __devexit imx_soc_platform_remove(struct platform_device *pdev)
-{
-       snd_soc_unregister_platform(&pdev->dev);
-       return 0;
-}
-
-static struct platform_driver imx_pcm_driver = {
-       .driver = {
-                       .name = "imx-pcm-audio",
-                       .owner = THIS_MODULE,
-       },
-       .probe = imx_soc_platform_probe,
-       .remove = __devexit_p(imx_soc_platform_remove),
-};
-
-module_platform_driver(imx_pcm_driver);
-MODULE_LICENSE("GPL");
-MODULE_ALIAS("platform:imx-pcm-audio");
diff --git a/sound/soc/fsl/imx-pcm-dma.c b/sound/soc/fsl/imx-pcm-dma.c
new file mode 100644 (file)
index 0000000..6b818de
--- /dev/null
@@ -0,0 +1,175 @@
+/*
+ * imx-pcm-dma-mx2.c  --  ALSA Soc Audio Layer
+ *
+ * Copyright 2009 Sascha Hauer <s.hauer@pengutronix.de>
+ *
+ * This code is based on code copyrighted by Freescale,
+ * Liam Girdwood, Javier Martin and probably others.
+ *
+ *  This program is free software; you can redistribute  it and/or modify it
+ *  under  the terms of  the GNU General  Public License as published by the
+ *  Free Software Foundation;  either version 2 of the  License, or (at your
+ *  option) any later version.
+ */
+#include <linux/clk.h>
+#include <linux/delay.h>
+#include <linux/device.h>
+#include <linux/dma-mapping.h>
+#include <linux/init.h>
+#include <linux/interrupt.h>
+#include <linux/module.h>
+#include <linux/platform_device.h>
+#include <linux/slab.h>
+#include <linux/dmaengine.h>
+#include <linux/types.h>
+
+#include <sound/core.h>
+#include <sound/initval.h>
+#include <sound/pcm.h>
+#include <sound/pcm_params.h>
+#include <sound/soc.h>
+#include <sound/dmaengine_pcm.h>
+
+#include <mach/dma.h>
+
+#include "imx-pcm.h"
+
+static bool filter(struct dma_chan *chan, void *param)
+{
+       if (!imx_dma_is_general_purpose(chan))
+               return false;
+
+       chan->private = param;
+
+       return true;
+}
+
+static int snd_imx_pcm_hw_params(struct snd_pcm_substream *substream,
+                               struct snd_pcm_hw_params *params)
+{
+       struct snd_soc_pcm_runtime *rtd = substream->private_data;
+       struct dma_chan *chan = snd_dmaengine_pcm_get_chan(substream);
+       struct imx_pcm_dma_params *dma_params;
+       struct dma_slave_config slave_config;
+       int ret;
+
+       dma_params = snd_soc_dai_get_dma_data(rtd->cpu_dai, substream);
+
+       ret = snd_hwparams_to_dma_slave_config(substream, params, &slave_config);
+       if (ret)
+               return ret;
+
+       slave_config.device_fc = false;
+
+       if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) {
+               slave_config.dst_addr = dma_params->dma_addr;
+               slave_config.dst_maxburst = dma_params->burstsize;
+       } else {
+               slave_config.src_addr = dma_params->dma_addr;
+               slave_config.src_maxburst = dma_params->burstsize;
+       }
+
+       ret = dmaengine_slave_config(chan, &slave_config);
+       if (ret)
+               return ret;
+
+       snd_pcm_set_runtime_buffer(substream, &substream->dma_buffer);
+
+       return 0;
+}
+
+static struct snd_pcm_hardware snd_imx_hardware = {
+       .info = SNDRV_PCM_INFO_INTERLEAVED |
+               SNDRV_PCM_INFO_BLOCK_TRANSFER |
+               SNDRV_PCM_INFO_MMAP |
+               SNDRV_PCM_INFO_MMAP_VALID |
+               SNDRV_PCM_INFO_PAUSE |
+               SNDRV_PCM_INFO_RESUME,
+       .formats = SNDRV_PCM_FMTBIT_S16_LE,
+       .rate_min = 8000,
+       .channels_min = 2,
+       .channels_max = 2,
+       .buffer_bytes_max = IMX_SSI_DMABUF_SIZE,
+       .period_bytes_min = 128,
+       .period_bytes_max = 65535, /* Limited by SDMA engine */
+       .periods_min = 2,
+       .periods_max = 255,
+       .fifo_size = 0,
+};
+
+static int snd_imx_open(struct snd_pcm_substream *substream)
+{
+       struct snd_soc_pcm_runtime *rtd = substream->private_data;
+       struct imx_pcm_dma_params *dma_params;
+       struct imx_dma_data *dma_data;
+       int ret;
+
+       snd_soc_set_runtime_hwparams(substream, &snd_imx_hardware);
+
+       dma_params = snd_soc_dai_get_dma_data(rtd->cpu_dai, substream);
+
+       dma_data = kzalloc(sizeof(*dma_data), GFP_KERNEL);
+       dma_data->peripheral_type = IMX_DMATYPE_SSI;
+       dma_data->priority = DMA_PRIO_HIGH;
+       dma_data->dma_request = dma_params->dma;
+
+       ret = snd_dmaengine_pcm_open(substream, filter, dma_data);
+       if (ret) {
+               kfree(dma_data);
+               return 0;
+       }
+
+       snd_dmaengine_pcm_set_data(substream, dma_data);
+
+       return 0;
+}
+
+static int snd_imx_close(struct snd_pcm_substream *substream)
+{
+       struct imx_dma_data *dma_data = snd_dmaengine_pcm_get_data(substream);
+
+       snd_dmaengine_pcm_close(substream);
+       kfree(dma_data);
+
+       return 0;
+}
+
+static struct snd_pcm_ops imx_pcm_ops = {
+       .open           = snd_imx_open,
+       .close          = snd_imx_close,
+       .ioctl          = snd_pcm_lib_ioctl,
+       .hw_params      = snd_imx_pcm_hw_params,
+       .trigger        = snd_dmaengine_pcm_trigger,
+       .pointer        = snd_dmaengine_pcm_pointer,
+       .mmap           = snd_imx_pcm_mmap,
+};
+
+static struct snd_soc_platform_driver imx_soc_platform_mx2 = {
+       .ops            = &imx_pcm_ops,
+       .pcm_new        = imx_pcm_new,
+       .pcm_free       = imx_pcm_free,
+};
+
+static int __devinit imx_soc_platform_probe(struct platform_device *pdev)
+{
+       return snd_soc_register_platform(&pdev->dev, &imx_soc_platform_mx2);
+}
+
+static int __devexit imx_soc_platform_remove(struct platform_device *pdev)
+{
+       snd_soc_unregister_platform(&pdev->dev);
+       return 0;
+}
+
+static struct platform_driver imx_pcm_driver = {
+       .driver = {
+                       .name = "imx-pcm-audio",
+                       .owner = THIS_MODULE,
+       },
+       .probe = imx_soc_platform_probe,
+       .remove = __devexit_p(imx_soc_platform_remove),
+};
+
+module_platform_driver(imx_pcm_driver);
+MODULE_LICENSE("GPL");
+MODULE_ALIAS("platform:imx-pcm-audio");