On Sun, Apr 26, 2009 at 1:53 PM, Jon Smirl <jonsm...@gmail.com> wrote:
> Rename the public DMA exports into the global name space so that the DMA code 
> can be built as a module.
>
> Signed-off-by: Jon Smirl <jonsm...@gmail.com>

Nack.  mpc5200_dma is too generic for the global namespace... (in
fact, I should also relook at the previous patch; I might need to nack
my ack).  Some variant of 'mpc5200_psc_snd_dma' would be more
appropriate.  Even mpc5200_psc_dma is too generic because other
non-sound PSC modes can use DMA also.

g.

> ---
>  sound/soc/fsl/mpc5200_dma.c     |   18 ++++++++++++------
>  sound/soc/fsl/mpc5200_dma.h     |   10 +++++-----
>  sound/soc/fsl/mpc5200_psc_i2s.c |   14 +++++++-------
>  3 files changed, 24 insertions(+), 18 deletions(-)
>
> diff --git a/sound/soc/fsl/mpc5200_dma.c b/sound/soc/fsl/mpc5200_dma.c
> index c82ef75..df73755 100644
> --- a/sound/soc/fsl/mpc5200_dma.c
> +++ b/sound/soc/fsl/mpc5200_dma.c
> @@ -113,7 +113,7 @@ static irqreturn_t psc_dma_bcom_irq(int irq, void 
> *_psc_dma_stream)
>  * If this is the first stream open, then grab the IRQ and program most of
>  * the PSC registers.
>  */
> -int psc_dma_startup(struct snd_pcm_substream *substream,
> +int mpc5200_dma_startup(struct snd_pcm_substream *substream,
>                           struct snd_soc_dai *dai)
>  {
>        struct snd_soc_pcm_runtime *rtd = substream->private_data;
> @@ -145,13 +145,16 @@ int psc_dma_startup(struct snd_pcm_substream *substream,
>
>        return 0;
>  }
> +EXPORT_SYMBOL_GPL(mpc5200_dma_startup);
>
> -int psc_dma_hw_free(struct snd_pcm_substream *substream,
> +int mpc5200_dma_hw_free(struct snd_pcm_substream *substream,
>                           struct snd_soc_dai *dai)
>  {
>        snd_pcm_set_runtime_buffer(substream, NULL);
>        return 0;
>  }
> +EXPORT_SYMBOL_GPL(mpc5200_dma_hw_free);
> +
>
>  /**
>  * psc_dma_trigger: start and stop the DMA transfer.
> @@ -159,7 +162,7 @@ int psc_dma_hw_free(struct snd_pcm_substream *substream,
>  * This function is called by ALSA to start, stop, pause, and resume the DMA
>  * transfer of data.
>  */
> -int psc_dma_trigger(struct snd_pcm_substream *substream, int cmd,
> +int mpc5200_dma_trigger(struct snd_pcm_substream *substream, int cmd,
>                           struct snd_soc_dai *dai)
>  {
>        struct snd_soc_pcm_runtime *rtd = substream->private_data;
> @@ -269,13 +272,15 @@ int psc_dma_trigger(struct snd_pcm_substream 
> *substream, int cmd,
>
>        return 0;
>  }
> +EXPORT_SYMBOL_GPL(mpc5200_dma_trigger);
> +
>
>  /**
>  * psc_dma_shutdown: shutdown the data transfer on a stream
>  *
>  * Shutdown the PSC if there are no other substreams open.
>  */
> -void psc_dma_shutdown(struct snd_pcm_substream *substream,
> +void mpc5200_dma_shutdown(struct snd_pcm_substream *substream,
>                             struct snd_soc_dai *dai)
>  {
>        struct snd_soc_pcm_runtime *rtd = substream->private_data;
> @@ -303,6 +308,7 @@ void psc_dma_shutdown(struct snd_pcm_substream *substream,
>                free_irq(psc_dma->playback.irq, &psc_dma->playback);
>        }
>  }
> +EXPORT_SYMBOL_GPL(mpc5200_dma_shutdown);
>
>  /* ---------------------------------------------------------------------
>  * The PSC DMA 'ASoC platform' driver
> @@ -448,10 +454,10 @@ static void psc_dma_pcm_free(struct snd_pcm *pcm)
>        }
>  }
>
> -struct snd_soc_platform psc_dma_pcm_soc_platform = {
> +struct snd_soc_platform mpc5200_dma_platform = {
>        .name           = "mpc5200-psc-audio",
>        .pcm_ops        = &psc_dma_pcm_ops,
>        .pcm_new        = &psc_dma_pcm_new,
>        .pcm_free       = &psc_dma_pcm_free,
>  };
> -
> +EXPORT_SYMBOL_GPL(mpc5200_dma_platform);
> diff --git a/sound/soc/fsl/mpc5200_dma.h b/sound/soc/fsl/mpc5200_dma.h
> index a33232c..e52b90e 100644
> --- a/sound/soc/fsl/mpc5200_dma.h
> +++ b/sound/soc/fsl/mpc5200_dma.h
> @@ -64,18 +64,18 @@ struct psc_dma {
>  };
>
>
> -int psc_dma_startup(struct snd_pcm_substream *substream,
> +int mpc5200_dma_startup(struct snd_pcm_substream *substream,
>                           struct snd_soc_dai *dai);
>
> -int psc_dma_hw_free(struct snd_pcm_substream *substream,
> +int mpc5200_dma_hw_free(struct snd_pcm_substream *substream,
>                           struct snd_soc_dai *dai);
>
> -void psc_dma_shutdown(struct snd_pcm_substream *substream,
> +void mpc5200_dma_shutdown(struct snd_pcm_substream *substream,
>                             struct snd_soc_dai *dai);
>
> -int psc_dma_trigger(struct snd_pcm_substream *substream, int cmd,
> +int mpc5200_dma_trigger(struct snd_pcm_substream *substream, int cmd,
>                           struct snd_soc_dai *dai);
>
> -extern struct snd_soc_platform psc_dma_pcm_soc_platform;
> +extern struct snd_soc_platform mpc5200_dma_platform;
>
>  #endif /* __SOUND_SOC_FSL_MPC5200_DMA_H__ */
> diff --git a/sound/soc/fsl/mpc5200_psc_i2s.c b/sound/soc/fsl/mpc5200_psc_i2s.c
> index 12a7917..a4a439c 100644
> --- a/sound/soc/fsl/mpc5200_psc_i2s.c
> +++ b/sound/soc/fsl/mpc5200_psc_i2s.c
> @@ -140,11 +140,11 @@ static int psc_i2s_set_fmt(struct snd_soc_dai *cpu_dai, 
> unsigned int format)
>  * psc_i2s_dai_template: template CPU Digital Audio Interface
>  */
>  static struct snd_soc_dai_ops psc_i2s_dai_ops = {
> -       .startup        = psc_dma_startup,
> +       .startup        = mpc5200_dma_startup,
>        .hw_params      = psc_i2s_hw_params,
> -       .hw_free        = psc_dma_hw_free,
> -       .shutdown       = psc_dma_shutdown,
> -       .trigger        = psc_dma_trigger,
> +       .hw_free        = mpc5200_dma_hw_free,
> +       .shutdown       = mpc5200_dma_shutdown,
> +       .trigger        = mpc5200_dma_trigger,
>        .set_sysclk     = psc_i2s_set_sysclk,
>        .set_fmt        = psc_i2s_set_fmt,
>  };
> @@ -350,10 +350,10 @@ static int __devinit psc_i2s_of_probe(struct of_device 
> *op,
>        if (rc)
>                dev_info(psc_dma->dev, "error creating sysfs files\n");
>
> -       snd_soc_register_platform(&psc_dma_pcm_soc_platform);
> +       snd_soc_register_platform(&mpc5200_dma_platform);
>
>        /* Tell the ASoC OF helpers about it */
> -       of_snd_soc_register_platform(&psc_dma_pcm_soc_platform, op->node,
> +       of_snd_soc_register_platform(&mpc5200_dma_platform, op->node,
>                                     &psc_dma->dai);
>
>        return 0;
> @@ -365,7 +365,7 @@ static int __devexit psc_i2s_of_remove(struct of_device 
> *op)
>
>        dev_dbg(&op->dev, "psc_i2s_remove()\n");
>
> -       snd_soc_unregister_platform(&psc_dma_pcm_soc_platform);
> +       snd_soc_unregister_platform(&mpc5200_dma_platform);
>
>        bcom_gen_bd_rx_release(psc_dma->capture.bcom_task);
>        bcom_gen_bd_tx_release(psc_dma->playback.bcom_task);
>
>



-- 
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Reply via email to