[alsa-devel] [PATCH] wss_lib: snd_wss_calibrate_mute improvement

Krzysztof Helt krzysztof.h1 at poczta.fm
Sun Aug 17 22:38:27 CEST 2008


From: Krzysztof Helt <krzysztof.h1 at wp.pl>

Mute sound by setting mute bit without
setting volume to 0. It makes both source code
and binary shorter.

Signed-off-by: Krzysztof Helt <krzysztof.h1 at wp.pl>
---


diff -urp alsa-ref/sound/isa/wss/wss_lib.c alsa-driver/sound/isa/wss/wss_lib.c
--- alsa-ref/sound/isa/wss/wss_lib.c	2008-08-14 00:05:30.000000000 +0200
+++ alsa-driver/sound/isa/wss/wss_lib.c	2008-08-17 22:33:24.620085406 +0200
@@ -574,7 +574,7 @@ static void snd_wss_calibrate_mute(struc
 {
 	unsigned long flags;
 
-	mute = mute ? 1 : 0;
+	mute = mute ? 0x80 : 0;
 	spin_lock_irqsave(&chip->reg_lock, flags);
 	if (chip->calibrate_mute == mute) {
 		spin_unlock_irqrestore(&chip->reg_lock, flags);
@@ -589,34 +589,34 @@ static void snd_wss_calibrate_mute(struc
 			     chip->image[CS4231_LOOPBACK]);
 	}
 	snd_wss_dout(chip, CS4231_AUX1_LEFT_INPUT,
-		     mute ? 0x80 : chip->image[CS4231_AUX1_LEFT_INPUT]);
+		     mute | chip->image[CS4231_AUX1_LEFT_INPUT]);
 	snd_wss_dout(chip, CS4231_AUX1_RIGHT_INPUT,
-		     mute ? 0x80 : chip->image[CS4231_AUX1_RIGHT_INPUT]);
+		     mute | chip->image[CS4231_AUX1_RIGHT_INPUT]);
 	snd_wss_dout(chip, CS4231_AUX2_LEFT_INPUT,
-		     mute ? 0x80 : chip->image[CS4231_AUX2_LEFT_INPUT]);
+		     mute | chip->image[CS4231_AUX2_LEFT_INPUT]);
 	snd_wss_dout(chip, CS4231_AUX2_RIGHT_INPUT,
-		     mute ? 0x80 : chip->image[CS4231_AUX2_RIGHT_INPUT]);
+		     mute | chip->image[CS4231_AUX2_RIGHT_INPUT]);
 	snd_wss_dout(chip, CS4231_LEFT_OUTPUT,
-		     mute ? 0x80 : chip->image[CS4231_LEFT_OUTPUT]);
+		     mute | chip->image[CS4231_LEFT_OUTPUT]);
 	snd_wss_dout(chip, CS4231_RIGHT_OUTPUT,
-		     mute ? 0x80 : chip->image[CS4231_RIGHT_OUTPUT]);
+		     mute | chip->image[CS4231_RIGHT_OUTPUT]);
 	if (!(chip->hardware & WSS_HW_AD1848_MASK)) {
 		snd_wss_dout(chip, CS4231_LEFT_LINE_IN,
-			     mute ? 0x80 : chip->image[CS4231_LEFT_LINE_IN]);
+			     mute | chip->image[CS4231_LEFT_LINE_IN]);
 		snd_wss_dout(chip, CS4231_RIGHT_LINE_IN,
-			     mute ? 0x80 : chip->image[CS4231_RIGHT_LINE_IN]);
+			     mute | chip->image[CS4231_RIGHT_LINE_IN]);
 		snd_wss_dout(chip, CS4231_MONO_CTRL,
 			     mute ? 0xc0 : chip->image[CS4231_MONO_CTRL]);
 	}
 	if (chip->hardware == WSS_HW_INTERWAVE) {
 		snd_wss_dout(chip, CS4231_LEFT_MIC_INPUT,
-			     mute ? 0x80 : chip->image[CS4231_LEFT_MIC_INPUT]);
+			     mute | chip->image[CS4231_LEFT_MIC_INPUT]);
 		snd_wss_dout(chip, CS4231_RIGHT_MIC_INPUT,
-			     mute ? 0x80 : chip->image[CS4231_RIGHT_MIC_INPUT]);
+			     mute | chip->image[CS4231_RIGHT_MIC_INPUT]);
 		snd_wss_dout(chip, CS4231_LINE_LEFT_OUTPUT,
-			mute ? 0x80 : chip->image[CS4231_LINE_LEFT_OUTPUT]);
+			     mute | chip->image[CS4231_LINE_LEFT_OUTPUT]);
 		snd_wss_dout(chip, CS4231_LINE_RIGHT_OUTPUT,
-			mute ? 0x80 : chip->image[CS4231_LINE_RIGHT_OUTPUT]);
+			     mute | chip->image[CS4231_LINE_RIGHT_OUTPUT]);
 	}
 	chip->calibrate_mute = mute;
 	spin_unlock_irqrestore(&chip->reg_lock, flags);

---------------------------------------------------------------------- 
Igrzyska na Dzikim Zachodzie!
Sprawdz >> http://link.interia.pl/f1edc 
	



More information about the Alsa-devel mailing list