ALSA: hdspm - DRY cleanup in .release callback
authorAdrian Knoth <aknoth@google.com>
Mon, 16 Feb 2015 23:05:05 +0000 (00:05 +0100)
committerTakashi Iwai <tiwai@suse.de>
Tue, 17 Feb 2015 06:40:30 +0000 (07:40 +0100)
This commit removes code duplication between
snd_hdspm_{capture,playback}_release. No semantic changes intended, this
is purely cosmetic.

Signed-off-by: Adrian Knoth <aknoth@google.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/rme9652/hdspm.c

index 51e9841..4e1cfb9 100644 (file)
@@ -6120,33 +6120,26 @@ static int snd_hdspm_open(struct snd_pcm_substream *substream)
        return 0;
 }
 
-static int snd_hdspm_playback_release(struct snd_pcm_substream *substream)
+static int snd_hdspm_release(struct snd_pcm_substream *substream)
 {
        struct hdspm *hdspm = snd_pcm_substream_chip(substream);
+       bool playback = (substream->stream == SNDRV_PCM_STREAM_PLAYBACK);
 
        spin_lock_irq(&hdspm->lock);
 
-       hdspm->playback_pid = -1;
-       hdspm->playback_substream = NULL;
+       if (playback) {
+               hdspm->playback_pid = -1;
+               hdspm->playback_substream = NULL;
+       } else {
+               hdspm->capture_pid = -1;
+               hdspm->capture_substream = NULL;
+       }
 
        spin_unlock_irq(&hdspm->lock);
 
        return 0;
 }
 
-static int snd_hdspm_capture_release(struct snd_pcm_substream *substream)
-{
-       struct hdspm *hdspm = snd_pcm_substream_chip(substream);
-
-       spin_lock_irq(&hdspm->lock);
-
-       hdspm->capture_pid = -1;
-       hdspm->capture_substream = NULL;
-
-       spin_unlock_irq(&hdspm->lock);
-       return 0;
-}
-
 static int snd_hdspm_hwdep_dummy_op(struct snd_hwdep *hw, struct file *file)
 {
        /* we have nothing to initialize but the call is required */
@@ -6363,7 +6356,7 @@ static int snd_hdspm_hwdep_ioctl(struct snd_hwdep *hw, struct file *file,
 
 static struct snd_pcm_ops snd_hdspm_playback_ops = {
        .open = snd_hdspm_open,
-       .close = snd_hdspm_playback_release,
+       .close = snd_hdspm_release,
        .ioctl = snd_hdspm_ioctl,
        .hw_params = snd_hdspm_hw_params,
        .hw_free = snd_hdspm_hw_free,
@@ -6375,7 +6368,7 @@ static struct snd_pcm_ops snd_hdspm_playback_ops = {
 
 static struct snd_pcm_ops snd_hdspm_capture_ops = {
        .open = snd_hdspm_open,
-       .close = snd_hdspm_capture_release,
+       .close = snd_hdspm_release,
        .ioctl = snd_hdspm_ioctl,
        .hw_params = snd_hdspm_hw_params,
        .hw_free = snd_hdspm_hw_free,