[ALSA] usb-audio - add selector unit names override for Audigy 2 NX
USB generic driver Add a mechanism to specify source names of selector units, and add such names for the SB Audigy 2 NX. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
This commit is contained in:
committed by
Jaroslav Kysela
parent
08fe15899d
commit
8e062ec710
@@ -26,10 +26,17 @@ struct usbmix_name_map {
|
||||
int control;
|
||||
};
|
||||
|
||||
struct usbmix_selector_map {
|
||||
int id;
|
||||
int count;
|
||||
const char **names;
|
||||
};
|
||||
|
||||
struct usbmix_ctl_map {
|
||||
int vendor;
|
||||
int product;
|
||||
const struct usbmix_name_map *map;
|
||||
const struct usbmix_selector_map *selector_map;
|
||||
int ignore_ctl_error;
|
||||
};
|
||||
|
||||
@@ -162,6 +169,25 @@ static struct usbmix_name_map audigy2nx_map[] = {
|
||||
{ 0 } /* terminator */
|
||||
};
|
||||
|
||||
static struct usbmix_selector_map audigy2nx_selectors[] = {
|
||||
{
|
||||
.id = 14, /* Capture Source */
|
||||
.count = 3,
|
||||
.names = (const char*[]) {"Line", "Digital In", "What-U-Hear"}
|
||||
},
|
||||
{
|
||||
.id = 29, /* Digital Out Source */
|
||||
.count = 3,
|
||||
.names = (const char*[]) {"Front", "PCM", "Digital In"}
|
||||
},
|
||||
{
|
||||
.id = 31, /* Headphone Source */
|
||||
.count = 2,
|
||||
.names = (const char*[]) {"Front", "Side"}
|
||||
},
|
||||
{ 0 } /* terminator */
|
||||
};
|
||||
|
||||
/* LineX FM Transmitter entry - needed to bypass controls bug */
|
||||
static struct usbmix_name_map linex_map[] = {
|
||||
/* 1: IT pcm */
|
||||
@@ -198,11 +224,29 @@ static struct usbmix_name_map justlink_map[] = {
|
||||
*/
|
||||
|
||||
static struct usbmix_ctl_map usbmix_ctl_maps[] = {
|
||||
{ 0x41e, 0x3000, extigy_map, 1 },
|
||||
{ 0x41e, 0x3010, mp3plus_map, 0 },
|
||||
{ 0x41e, 0x3020, audigy2nx_map, 0 },
|
||||
{ 0x8bb, 0x2702, linex_map, 1 },
|
||||
{ 0xc45, 0x1158, justlink_map, 0 },
|
||||
{
|
||||
.vendor = 0x41e, .product = 0x3000,
|
||||
.map = extigy_map,
|
||||
.ignore_ctl_error = 1,
|
||||
},
|
||||
{
|
||||
.vendor = 0x41e, .product = 0x3010,
|
||||
.map = mp3plus_map,
|
||||
},
|
||||
{
|
||||
.vendor = 0x41e, .product = 0x3020,
|
||||
.map = audigy2nx_map,
|
||||
.selector_map = audigy2nx_selectors,
|
||||
},
|
||||
{
|
||||
.vendor = 0x8bb, .product = 0x2702,
|
||||
.map = linex_map,
|
||||
.ignore_ctl_error = 1,
|
||||
},
|
||||
{
|
||||
.vendor = 0xc45, .product = 0x1158,
|
||||
.map = justlink_map,
|
||||
},
|
||||
{ 0 } /* terminator */
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user