ASoC: omap-mcbsp: Simplify the mcbsp_start/_stop function parameters
authorPeter Ujfalusi <peter.ujfalusi@ti.com>
Thu, 8 Nov 2018 07:29:56 +0000 (09:29 +0200)
committerMark Brown <broonie@kernel.org>
Tue, 13 Nov 2018 17:50:14 +0000 (09:50 -0800)
We either start/stop TX or RX, never both. Move the tx/rx direction
selection within the functions.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Jarkko Nikula <jarkko.nikula@bitmer.com>
Tested-by: Jarkko Nikula <jarkko.nikula@bitmer.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/omap/mcbsp.c
sound/soc/omap/mcbsp.h
sound/soc/omap/omap-mcbsp.c

index fca0b0e..7ff2256 100644 (file)
@@ -637,8 +637,10 @@ void omap_mcbsp_free(struct omap_mcbsp *mcbsp)
  * If no transmitter or receiver is active prior calling, then sample-rate
  * generator and frame sync are started.
  */
-void omap_mcbsp_start(struct omap_mcbsp *mcbsp, int tx, int rx)
+void omap_mcbsp_start(struct omap_mcbsp *mcbsp, int stream)
 {
+       int tx = (stream == SNDRV_PCM_STREAM_PLAYBACK);
+       int rx = !tx;
        int enable_srg = 0;
        u16 w;
 
@@ -694,8 +696,10 @@ void omap_mcbsp_start(struct omap_mcbsp *mcbsp, int tx, int rx)
        omap_mcbsp_dump_reg(mcbsp);
 }
 
-void omap_mcbsp_stop(struct omap_mcbsp *mcbsp, int tx, int rx)
+void omap_mcbsp_stop(struct omap_mcbsp *mcbsp, int stream)
 {
+       int tx = (stream == SNDRV_PCM_STREAM_PLAYBACK);
+       int rx = !tx;
        int idle;
        u16 w;
 
index 46ae126..92472c6 100644 (file)
@@ -339,8 +339,8 @@ u16 omap_mcbsp_get_rx_delay(struct omap_mcbsp *mcbsp);
 int omap_mcbsp_get_dma_op_mode(struct omap_mcbsp *mcbsp);
 int omap_mcbsp_request(struct omap_mcbsp *mcbsp);
 void omap_mcbsp_free(struct omap_mcbsp *mcbsp);
-void omap_mcbsp_start(struct omap_mcbsp *mcbsp, int tx, int rx);
-void omap_mcbsp_stop(struct omap_mcbsp *mcbsp, int tx, int rx);
+void omap_mcbsp_start(struct omap_mcbsp *mcbsp, int stream);
+void omap_mcbsp_stop(struct omap_mcbsp *mcbsp, int stream);
 
 /* McBSP functional clock source changing function */
 int omap2_mcbsp_set_clks_src(struct omap_mcbsp *mcbsp, u8 fck_src_id);
index caa24c4..a18b7ec 100644 (file)
@@ -201,27 +201,26 @@ static int omap_mcbsp_dai_trigger(struct snd_pcm_substream *substream, int cmd,
                                  struct snd_soc_dai *cpu_dai)
 {
        struct omap_mcbsp *mcbsp = snd_soc_dai_get_drvdata(cpu_dai);
-       int err = 0, play = (substream->stream == SNDRV_PCM_STREAM_PLAYBACK);
 
        switch (cmd) {
        case SNDRV_PCM_TRIGGER_START:
        case SNDRV_PCM_TRIGGER_RESUME:
        case SNDRV_PCM_TRIGGER_PAUSE_RELEASE:
                mcbsp->active++;
-               omap_mcbsp_start(mcbsp, play, !play);
+               omap_mcbsp_start(mcbsp, substream->stream);
                break;
 
        case SNDRV_PCM_TRIGGER_STOP:
        case SNDRV_PCM_TRIGGER_SUSPEND:
        case SNDRV_PCM_TRIGGER_PAUSE_PUSH:
-               omap_mcbsp_stop(mcbsp, play, !play);
+               omap_mcbsp_stop(mcbsp, substream->stream);
                mcbsp->active--;
                break;
        default:
-               err = -EINVAL;
+               return -EINVAL;
        }
 
-       return err;
+       return 0;
 }
 
 static snd_pcm_sframes_t omap_mcbsp_dai_delay(