diff options
author | Deepika Makhija <deepika.makhija@einfochips.com> | 2009-04-04 08:38:28 -0400 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2009-04-06 22:23:46 -0400 |
commit | d2e8e52976b9d0a34db529b06952d5187b78af8c (patch) | |
tree | f771cbd5491f334ba10efd66c630dffd4d442a75 | |
parent | 7d2ac1036b7ff57f73ab64fd897867ddc07bcffe (diff) |
ALSA: oss - volume control for CSWITCH and CROUTE
Added an else part to check
SNDRV_MIXER_OSS_PRESENT_CVOLUME for MIC (slot 7)
in commit 36c7b833e5d2501142a371e4e75281d3a29fbd6b
Similarly, checks and volume control is required for
SNDRV_MIXER_OSS_PRESENT_CSWITCH and SNDRV_MIXER_OSS_PRESENT_CROUTE
as well.
Signed-off-by: Deepika Makhija <deepika.makhija@einfochips.com>
Signed-off-by: Viral Mehta <viral.mehta@einfochips.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r-- | sound/core/oss/mixer_oss.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/sound/core/oss/mixer_oss.c b/sound/core/oss/mixer_oss.c index e570649184e2..5dcd8a526970 100644 --- a/sound/core/oss/mixer_oss.c +++ b/sound/core/oss/mixer_oss.c | |||
@@ -703,19 +703,27 @@ static int snd_mixer_oss_put_volume1(struct snd_mixer_oss_file *fmixer, | |||
703 | if (left || right) { | 703 | if (left || right) { |
704 | if (slot->present & SNDRV_MIXER_OSS_PRESENT_PSWITCH) | 704 | if (slot->present & SNDRV_MIXER_OSS_PRESENT_PSWITCH) |
705 | snd_mixer_oss_put_volume1_sw(fmixer, pslot, slot->numid[SNDRV_MIXER_OSS_ITEM_PSWITCH], left, right, 0); | 705 | snd_mixer_oss_put_volume1_sw(fmixer, pslot, slot->numid[SNDRV_MIXER_OSS_ITEM_PSWITCH], left, right, 0); |
706 | if (slot->present & SNDRV_MIXER_OSS_PRESENT_CSWITCH) | ||
707 | snd_mixer_oss_put_volume1_sw(fmixer, pslot, slot->numid[SNDRV_MIXER_OSS_ITEM_CSWITCH], left, right, 0); | ||
706 | if (slot->present & SNDRV_MIXER_OSS_PRESENT_GSWITCH) | 708 | if (slot->present & SNDRV_MIXER_OSS_PRESENT_GSWITCH) |
707 | snd_mixer_oss_put_volume1_sw(fmixer, pslot, slot->numid[SNDRV_MIXER_OSS_ITEM_GSWITCH], left, right, 0); | 709 | snd_mixer_oss_put_volume1_sw(fmixer, pslot, slot->numid[SNDRV_MIXER_OSS_ITEM_GSWITCH], left, right, 0); |
708 | if (slot->present & SNDRV_MIXER_OSS_PRESENT_PROUTE) | 710 | if (slot->present & SNDRV_MIXER_OSS_PRESENT_PROUTE) |
709 | snd_mixer_oss_put_volume1_sw(fmixer, pslot, slot->numid[SNDRV_MIXER_OSS_ITEM_PROUTE], left, right, 1); | 711 | snd_mixer_oss_put_volume1_sw(fmixer, pslot, slot->numid[SNDRV_MIXER_OSS_ITEM_PROUTE], left, right, 1); |
712 | if (slot->present & SNDRV_MIXER_OSS_PRESENT_CROUTE) | ||
713 | snd_mixer_oss_put_volume1_sw(fmixer, pslot, slot->numid[SNDRV_MIXER_OSS_ITEM_CROUTE], left, right, 1); | ||
710 | if (slot->present & SNDRV_MIXER_OSS_PRESENT_GROUTE) | 714 | if (slot->present & SNDRV_MIXER_OSS_PRESENT_GROUTE) |
711 | snd_mixer_oss_put_volume1_sw(fmixer, pslot, slot->numid[SNDRV_MIXER_OSS_ITEM_GROUTE], left, right, 1); | 715 | snd_mixer_oss_put_volume1_sw(fmixer, pslot, slot->numid[SNDRV_MIXER_OSS_ITEM_GROUTE], left, right, 1); |
712 | } else { | 716 | } else { |
713 | if (slot->present & SNDRV_MIXER_OSS_PRESENT_PSWITCH) { | 717 | if (slot->present & SNDRV_MIXER_OSS_PRESENT_PSWITCH) { |
714 | snd_mixer_oss_put_volume1_sw(fmixer, pslot, slot->numid[SNDRV_MIXER_OSS_ITEM_PSWITCH], left, right, 0); | 718 | snd_mixer_oss_put_volume1_sw(fmixer, pslot, slot->numid[SNDRV_MIXER_OSS_ITEM_PSWITCH], left, right, 0); |
719 | } else if (slot->present & SNDRV_MIXER_OSS_PRESENT_CSWITCH) { | ||
720 | snd_mixer_oss_put_volume1_sw(fmixer, pslot, slot->numid[SNDRV_MIXER_OSS_ITEM_CSWITCH], left, right, 0); | ||
715 | } else if (slot->present & SNDRV_MIXER_OSS_PRESENT_GSWITCH) { | 721 | } else if (slot->present & SNDRV_MIXER_OSS_PRESENT_GSWITCH) { |
716 | snd_mixer_oss_put_volume1_sw(fmixer, pslot, slot->numid[SNDRV_MIXER_OSS_ITEM_GSWITCH], left, right, 0); | 722 | snd_mixer_oss_put_volume1_sw(fmixer, pslot, slot->numid[SNDRV_MIXER_OSS_ITEM_GSWITCH], left, right, 0); |
717 | } else if (slot->present & SNDRV_MIXER_OSS_PRESENT_PROUTE) { | 723 | } else if (slot->present & SNDRV_MIXER_OSS_PRESENT_PROUTE) { |
718 | snd_mixer_oss_put_volume1_sw(fmixer, pslot, slot->numid[SNDRV_MIXER_OSS_ITEM_PROUTE], left, right, 1); | 724 | snd_mixer_oss_put_volume1_sw(fmixer, pslot, slot->numid[SNDRV_MIXER_OSS_ITEM_PROUTE], left, right, 1); |
725 | } else if (slot->present & SNDRV_MIXER_OSS_PRESENT_CROUTE) { | ||
726 | snd_mixer_oss_put_volume1_sw(fmixer, pslot, slot->numid[SNDRV_MIXER_OSS_ITEM_CROUTE], left, right, 1); | ||
719 | } else if (slot->present & SNDRV_MIXER_OSS_PRESENT_GROUTE) { | 727 | } else if (slot->present & SNDRV_MIXER_OSS_PRESENT_GROUTE) { |
720 | snd_mixer_oss_put_volume1_sw(fmixer, pslot, slot->numid[SNDRV_MIXER_OSS_ITEM_GROUTE], left, right, 1); | 728 | snd_mixer_oss_put_volume1_sw(fmixer, pslot, slot->numid[SNDRV_MIXER_OSS_ITEM_GROUTE], left, right, 1); |
721 | } | 729 | } |