[PATCH] [UBUNTU:sound/usb/] #36788: Add support for Creative SB Live! 24-bit Ext

crimsun at fungus.sh.nu crimsun at fungus.sh.nu
Fri Nov 3 07:42:26 UTC 2006


From 91e6449ffa53a6134d0a427398f1bf4448722603 Mon Sep 17 00:00:00 2001
From: Daniel T. Chen <crimsun at garnish.localdomain>
Date: Fri, 3 Nov 2006 02:47:33 -0500
Subject: [PATCH] [UBUNTU:sound/usb/] #36788: Add support for Creative SB Live! 24-bit Ext

UpstreamStatus: Not yet merged

References:	Ubuntu: #36788
		ALSA: #669
		http://ubuntuforums.org/showthread.php?t=104704

The Creative SB Live! 24-bit Ext needs a boot quirk like the Audigy 2
NX. This patch makes it so.

This commit is applicable to Dapper, Edgy, and Feisty linux-source.

This commit closes Ubuntu: #36788.

Signed-off-by: Daniel T Chen <crimsun at ubuntu.com>
---
 sound/usb/usbaudio.c      |    6 ++++--
 sound/usb/usbmixer.c      |    4 +++-
 sound/usb/usbmixer_maps.c |    5 +++++
 3 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/sound/usb/usbaudio.c b/sound/usb/usbaudio.c
index d8fd066..a794d47 100644
--- a/sound/usb/usbaudio.c
+++ b/sound/usb/usbaudio.c
@@ -2587,6 +2587,7 @@ #if 1
 	 */
 	if (chip->usb_id == USB_ID(0x041e, 0x3000) ||
 	    chip->usb_id == USB_ID(0x041e, 0x3020) ||
+	    chip->usb_id == USB_ID(0x041e, 0x3040) ||
 	    chip->usb_id == USB_ID(0x041e, 0x3061)) {
 		if (fmt[3] == USB_FORMAT_TYPE_I &&
 		    fp->rates != SNDRV_PCM_RATE_48000 &&
@@ -2709,6 +2710,7 @@ static int parse_audio_endpoints(snd_usb
 			fp->attributes &= ~EP_CS_ATTR_SAMPLE_RATE;
 			break;
 		case USB_ID(0x041e, 0x3020): /* Creative SB Audigy 2 NX */
+		case USB_ID(0x041e, 0x3040): /* Creative SB Live! 24-bit Ext*/
 		case USB_ID(0x0763, 0x2003): /* M-Audio Audiophile USB */
 			/* doesn't set the sample rate attribute, but supports it */
 			fp->attributes |= EP_CS_ATTR_SAMPLE_RATE;
@@ -3433,8 +3435,8 @@ static void *snd_usb_audio_probe(struct 
 		if (snd_usb_extigy_boot_quirk(dev, intf) < 0)
 			goto __err_val;
 	}
-	/* SB Audigy 2 NX needs its own boot-up magic, too */
-	if (id == USB_ID(0x041e, 0x3020)) {
+	/* SB Audigy 2 NX & Live! 24-bit Ext need boot-up magic, too */
+	if (id == USB_ID(0x041e, 0x3020) || id == USB_ID(0x041e, 0x3040)) {
 		if (snd_usb_audigy2nx_boot_quirk(dev) < 0)
 			goto __err_val;
 	}
diff --git a/sound/usb/usbmixer.c b/sound/usb/usbmixer.c
index 7fe5bea..32f05c2 100644
--- a/sound/usb/usbmixer.c
+++ b/sound/usb/usbmixer.c
@@ -1814,6 +1814,7 @@ static int snd_usb_soundblaster_remote_i
 		len = 2;
 		break;
 	case USB_ID(0x041e, 0x3020):
+	case USB_ID(0x041e, 0x3040):
 		mixer->rc_type = RC_AUDIGY2NX;
 		len = 6;
 		break;
@@ -1997,7 +1998,8 @@ #endif
 	if ((err = snd_usb_soundblaster_remote_init(mixer)) < 0)
 		goto _error;
 
-	if (mixer->chip->usb_id == USB_ID(0x041e, 0x3020)) {
+	if (mixer->chip->usb_id == USB_ID(0x041e, 0x3020) ||
+	    mixer->chip->usb_id == USB_ID(0x041e, 0x3040)) {
 		snd_info_entry_t *entry;
 
 		if ((err = snd_audigy2nx_controls_create(mixer)) < 0)
diff --git a/sound/usb/usbmixer_maps.c b/sound/usb/usbmixer_maps.c
index 7c4dcb3..cfd9d37 100644
--- a/sound/usb/usbmixer_maps.c
+++ b/sound/usb/usbmixer_maps.c
@@ -273,6 +273,11 @@ static struct usbmix_ctl_map usbmix_ctl_
 		.map = audigy2nx_map,
 		.selector_map = audigy2nx_selectors,
 	},
+	{ /* Creative SB Live! 24-bit Ext */
+		.id = USB_ID(0x041e, 0x3040),
+		.map = audigy2nx_map,
+		.selector_map = audigy2nx_selectors,
+	},
 	{
 		/* Hercules DJ Console (Windows Edition) */
 		.id = USB_ID(0x06f8, 0xb000),
-- 
1.4.1

-- 
Daniel T. Chen            crimsun at ubuntu.com
GPG key:  0xC88ABDA3
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20061102/d5a5dd39/attachment.sig>


More information about the kernel-team mailing list