The "IEC958 Playback Stream" control does basically the very same
thing as "IEC958 Playback Default" redundantly.  The former should
have been stream-specific and restored after closing the stream, but
we don't do in that way.

Since it's nothing but confusion, remove this fake.

Signed-off-by: Takashi Iwai <[email protected]>
---
 .../vc04_services/bcm2835-audio/bcm2835-ctl.c | 51 -------------------
 1 file changed, 51 deletions(-)

diff --git a/drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c 
b/drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c
index 04ea3ec7f64f..9020887e1ada 100644
--- a/drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c
+++ b/drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c
@@ -233,48 +233,6 @@ static int snd_bcm2835_spdif_mask_get(struct snd_kcontrol 
*kcontrol,
        return 0;
 }
 
-static int snd_bcm2835_spdif_stream_info(struct snd_kcontrol *kcontrol,
-       struct snd_ctl_elem_info *uinfo)
-{
-       uinfo->type = SNDRV_CTL_ELEM_TYPE_IEC958;
-       uinfo->count = 1;
-       return 0;
-}
-
-static int snd_bcm2835_spdif_stream_get(struct snd_kcontrol *kcontrol,
-       struct snd_ctl_elem_value *ucontrol)
-{
-       struct bcm2835_chip *chip = snd_kcontrol_chip(kcontrol);
-       int i;
-
-       mutex_lock(&chip->audio_mutex);
-
-       for (i = 0; i < 4; i++)
-               ucontrol->value.iec958.status[i] =
-               (chip->spdif_status >> (i * 8)) & 0xff;
-
-       mutex_unlock(&chip->audio_mutex);
-       return 0;
-}
-
-static int snd_bcm2835_spdif_stream_put(struct snd_kcontrol *kcontrol,
-       struct snd_ctl_elem_value *ucontrol)
-{
-       struct bcm2835_chip *chip = snd_kcontrol_chip(kcontrol);
-       unsigned int val = 0;
-       int i, change;
-
-       mutex_lock(&chip->audio_mutex);
-
-       for (i = 0; i < 4; i++)
-               val |= (unsigned int)ucontrol->value.iec958.status[i] << (i * 
8);
-       change = val != chip->spdif_status;
-       chip->spdif_status = val;
-
-       mutex_unlock(&chip->audio_mutex);
-       return change;
-}
-
 static struct snd_kcontrol_new snd_bcm2835_spdif[] = {
        {
                .iface = SNDRV_CTL_ELEM_IFACE_PCM,
@@ -290,15 +248,6 @@ static struct snd_kcontrol_new snd_bcm2835_spdif[] = {
                .info = snd_bcm2835_spdif_mask_info,
                .get = snd_bcm2835_spdif_mask_get,
        },
-       {
-               .access = SNDRV_CTL_ELEM_ACCESS_READWRITE |
-               SNDRV_CTL_ELEM_ACCESS_INACTIVE,
-               .iface = SNDRV_CTL_ELEM_IFACE_PCM,
-               .name = SNDRV_CTL_NAME_IEC958("", PLAYBACK, PCM_STREAM),
-               .info = snd_bcm2835_spdif_stream_info,
-               .get = snd_bcm2835_spdif_stream_get,
-               .put = snd_bcm2835_spdif_stream_put,
-       },
 };
 
 int snd_bcm2835_new_ctl(struct bcm2835_chip *chip)
-- 
2.18.0

Reply via email to