diff options
-rw-r--r-- | include/sound/emu10k1.h | 5 | ||||
-rw-r--r-- | sound/pci/emu10k1/emu10k1_main.c | 18 |
2 files changed, 21 insertions, 2 deletions
diff --git a/include/sound/emu10k1.h b/include/sound/emu10k1.h index b1e8ee8e0fab..6647919768bf 100644 --- a/include/sound/emu10k1.h +++ b/include/sound/emu10k1.h | |||
@@ -1050,8 +1050,9 @@ typedef struct { | |||
1050 | unsigned char spdif_bug; /* Has Spdif phasing bug */ | 1050 | unsigned char spdif_bug; /* Has Spdif phasing bug */ |
1051 | unsigned char ac97_chip; /* Has an AC97 chip */ | 1051 | unsigned char ac97_chip; /* Has an AC97 chip */ |
1052 | unsigned char ecard; /* APS EEPROM */ | 1052 | unsigned char ecard; /* APS EEPROM */ |
1053 | char * driver; | 1053 | const char *driver; |
1054 | char * name; | 1054 | const char *name; |
1055 | const char *id; /* for backward compatibility - can be NULL if not needed */ | ||
1055 | } emu_chip_details_t; | 1056 | } emu_chip_details_t; |
1056 | 1057 | ||
1057 | struct _snd_emu10k1 { | 1058 | struct _snd_emu10k1 { |
diff --git a/sound/pci/emu10k1/emu10k1_main.c b/sound/pci/emu10k1/emu10k1_main.c index 38be0f1b0e72..a2fa5012c843 100644 --- a/sound/pci/emu10k1/emu10k1_main.c +++ b/sound/pci/emu10k1/emu10k1_main.c | |||
@@ -616,15 +616,18 @@ static emu_chip_details_t emu_chip_details[] = { | |||
616 | /* Audigy 2 Value AC3 out does not work yet. Need to find out how to turn off interpolators.*/ | 616 | /* Audigy 2 Value AC3 out does not work yet. Need to find out how to turn off interpolators.*/ |
617 | {.vendor = 0x1102, .device = 0x0008, .subsystem = 0x10011102, | 617 | {.vendor = 0x1102, .device = 0x0008, .subsystem = 0x10011102, |
618 | .driver = "Audigy2", .name = "Audigy 2 Value [SB0400]", | 618 | .driver = "Audigy2", .name = "Audigy 2 Value [SB0400]", |
619 | .id = "Audigy2", | ||
619 | .emu10k2_chip = 1, | 620 | .emu10k2_chip = 1, |
620 | .ca0108_chip = 1, | 621 | .ca0108_chip = 1, |
621 | .spk71 = 1} , | 622 | .spk71 = 1} , |
622 | {.vendor = 0x1102, .device = 0x0008, | 623 | {.vendor = 0x1102, .device = 0x0008, |
623 | .driver = "Audigy2", .name = "Audigy 2 Value [Unknown]", | 624 | .driver = "Audigy2", .name = "Audigy 2 Value [Unknown]", |
625 | .id = "Audigy2", | ||
624 | .emu10k2_chip = 1, | 626 | .emu10k2_chip = 1, |
625 | .ca0108_chip = 1} , | 627 | .ca0108_chip = 1} , |
626 | {.vendor = 0x1102, .device = 0x0004, .subsystem = 0x20071102, | 628 | {.vendor = 0x1102, .device = 0x0004, .subsystem = 0x20071102, |
627 | .driver = "Audigy2", .name = "Audigy 4 PRO [SB0380]", | 629 | .driver = "Audigy2", .name = "Audigy 4 PRO [SB0380]", |
630 | .id = "Audigy2", | ||
628 | .emu10k2_chip = 1, | 631 | .emu10k2_chip = 1, |
629 | .ca0102_chip = 1, | 632 | .ca0102_chip = 1, |
630 | .ca0151_chip = 1, | 633 | .ca0151_chip = 1, |
@@ -633,6 +636,7 @@ static emu_chip_details_t emu_chip_details[] = { | |||
633 | .ac97_chip = 1} , | 636 | .ac97_chip = 1} , |
634 | {.vendor = 0x1102, .device = 0x0004, .subsystem = 0x20021102, | 637 | {.vendor = 0x1102, .device = 0x0004, .subsystem = 0x20021102, |
635 | .driver = "Audigy2", .name = "Audigy 2 ZS [SB0350]", | 638 | .driver = "Audigy2", .name = "Audigy 2 ZS [SB0350]", |
639 | .id = "Audigy2", | ||
636 | .emu10k2_chip = 1, | 640 | .emu10k2_chip = 1, |
637 | .ca0102_chip = 1, | 641 | .ca0102_chip = 1, |
638 | .ca0151_chip = 1, | 642 | .ca0151_chip = 1, |
@@ -641,6 +645,7 @@ static emu_chip_details_t emu_chip_details[] = { | |||
641 | .ac97_chip = 1} , | 645 | .ac97_chip = 1} , |
642 | {.vendor = 0x1102, .device = 0x0004, .subsystem = 0x20011102, | 646 | {.vendor = 0x1102, .device = 0x0004, .subsystem = 0x20011102, |
643 | .driver = "Audigy2", .name = "Audigy 2 ZS [2001]", | 647 | .driver = "Audigy2", .name = "Audigy 2 ZS [2001]", |
648 | .id = "Audigy2", | ||
644 | .emu10k2_chip = 1, | 649 | .emu10k2_chip = 1, |
645 | .ca0102_chip = 1, | 650 | .ca0102_chip = 1, |
646 | .ca0151_chip = 1, | 651 | .ca0151_chip = 1, |
@@ -649,6 +654,7 @@ static emu_chip_details_t emu_chip_details[] = { | |||
649 | .ac97_chip = 1} , | 654 | .ac97_chip = 1} , |
650 | {.vendor = 0x1102, .device = 0x0004, .subsystem = 0x10071102, | 655 | {.vendor = 0x1102, .device = 0x0004, .subsystem = 0x10071102, |
651 | .driver = "Audigy2", .name = "Audigy 2 [SB0240]", | 656 | .driver = "Audigy2", .name = "Audigy 2 [SB0240]", |
657 | .id = "Audigy2", | ||
652 | .emu10k2_chip = 1, | 658 | .emu10k2_chip = 1, |
653 | .ca0102_chip = 1, | 659 | .ca0102_chip = 1, |
654 | .ca0151_chip = 1, | 660 | .ca0151_chip = 1, |
@@ -657,12 +663,14 @@ static emu_chip_details_t emu_chip_details[] = { | |||
657 | .ac97_chip = 1} , | 663 | .ac97_chip = 1} , |
658 | {.vendor = 0x1102, .device = 0x0004, .subsystem = 0x10051102, | 664 | {.vendor = 0x1102, .device = 0x0004, .subsystem = 0x10051102, |
659 | .driver = "Audigy2", .name = "Audigy 2 EX [1005]", | 665 | .driver = "Audigy2", .name = "Audigy 2 EX [1005]", |
666 | .id = "Audigy2", | ||
660 | .emu10k2_chip = 1, | 667 | .emu10k2_chip = 1, |
661 | .ca0102_chip = 1, | 668 | .ca0102_chip = 1, |
662 | .ca0151_chip = 1, | 669 | .ca0151_chip = 1, |
663 | .spdif_bug = 1} , | 670 | .spdif_bug = 1} , |
664 | {.vendor = 0x1102, .device = 0x0004, .subsystem = 0x10021102, | 671 | {.vendor = 0x1102, .device = 0x0004, .subsystem = 0x10021102, |
665 | .driver = "Audigy2", .name = "Audigy 2 Platinum [SB0240P]", | 672 | .driver = "Audigy2", .name = "Audigy 2 Platinum [SB0240P]", |
673 | .id = "Audigy2", | ||
666 | .emu10k2_chip = 1, | 674 | .emu10k2_chip = 1, |
667 | .ca0102_chip = 1, | 675 | .ca0102_chip = 1, |
668 | .ca0151_chip = 1, | 676 | .ca0151_chip = 1, |
@@ -671,34 +679,41 @@ static emu_chip_details_t emu_chip_details[] = { | |||
671 | .ac97_chip = 1} , | 679 | .ac97_chip = 1} , |
672 | {.vendor = 0x1102, .device = 0x0004, .subsystem = 0x10020052, | 680 | {.vendor = 0x1102, .device = 0x0004, .subsystem = 0x10020052, |
673 | .driver = "Audigy", .name = "Audigy 1 ES [SB0160]", | 681 | .driver = "Audigy", .name = "Audigy 1 ES [SB0160]", |
682 | .id = "Audigy", | ||
674 | .emu10k2_chip = 1, | 683 | .emu10k2_chip = 1, |
675 | .ca0102_chip = 1, | 684 | .ca0102_chip = 1, |
676 | .spdif_bug = 1} , | 685 | .spdif_bug = 1} , |
677 | {.vendor = 0x1102, .device = 0x0004, | 686 | {.vendor = 0x1102, .device = 0x0004, |
678 | .driver = "Audigy", .name = "Audigy 1 or 2 [Unknown]", | 687 | .driver = "Audigy", .name = "Audigy 1 or 2 [Unknown]", |
688 | .id = "Audigy", | ||
679 | .emu10k2_chip = 1, | 689 | .emu10k2_chip = 1, |
680 | .ca0102_chip = 1, | 690 | .ca0102_chip = 1, |
681 | .spdif_bug = 1} , | 691 | .spdif_bug = 1} , |
682 | {.vendor = 0x1102, .device = 0x0002, .subsystem = 0x40011102, | 692 | {.vendor = 0x1102, .device = 0x0002, .subsystem = 0x40011102, |
683 | .driver = "EMU10K1", .name = "E-mu APS [4001]", | 693 | .driver = "EMU10K1", .name = "E-mu APS [4001]", |
694 | .id = "APS", | ||
684 | .emu10k1_chip = 1, | 695 | .emu10k1_chip = 1, |
685 | .ecard = 1} , | 696 | .ecard = 1} , |
686 | {.vendor = 0x1102, .device = 0x0002, .subsystem = 0x80641102, | 697 | {.vendor = 0x1102, .device = 0x0002, .subsystem = 0x80641102, |
687 | .driver = "EMU10K1", .name = "SB Live 5.1", | 698 | .driver = "EMU10K1", .name = "SB Live 5.1", |
699 | .id = "Live", | ||
688 | .emu10k1_chip = 1, | 700 | .emu10k1_chip = 1, |
689 | .ac97_chip = 1, | 701 | .ac97_chip = 1, |
690 | .sblive51 = 1} , | 702 | .sblive51 = 1} , |
691 | {.vendor = 0x1102, .device = 0x0002, .subsystem = 0x80401102, | 703 | {.vendor = 0x1102, .device = 0x0002, .subsystem = 0x80401102, |
692 | .driver = "EMU10K1", .name = "SBLive! Platinum [CT4760P]", | 704 | .driver = "EMU10K1", .name = "SBLive! Platinum [CT4760P]", |
705 | .id = "Live", | ||
693 | .emu10k1_chip = 1, | 706 | .emu10k1_chip = 1, |
694 | .ac97_chip = 1} , | 707 | .ac97_chip = 1} , |
695 | {.vendor = 0x1102, .device = 0x0002, .subsystem = 0x80271102, | 708 | {.vendor = 0x1102, .device = 0x0002, .subsystem = 0x80271102, |
696 | .driver = "EMU10K1", .name = "SBLive! Value [CT4832]", | 709 | .driver = "EMU10K1", .name = "SBLive! Value [CT4832]", |
710 | .id = "Live", | ||
697 | .emu10k1_chip = 1, | 711 | .emu10k1_chip = 1, |
698 | .ac97_chip = 1, | 712 | .ac97_chip = 1, |
699 | .sblive51 = 1} , | 713 | .sblive51 = 1} , |
700 | {.vendor = 0x1102, .device = 0x0002, | 714 | {.vendor = 0x1102, .device = 0x0002, |
701 | .driver = "EMU10K1", .name = "SB Live [Unknown]", | 715 | .driver = "EMU10K1", .name = "SB Live [Unknown]", |
716 | .id = "Live", | ||
702 | .emu10k1_chip = 1, | 717 | .emu10k1_chip = 1, |
703 | .ac97_chip = 1, | 718 | .ac97_chip = 1, |
704 | .sblive51 = 1} , | 719 | .sblive51 = 1} , |
@@ -772,6 +787,9 @@ int __devinit snd_emu10k1_create(snd_card_t * card, | |||
772 | else | 787 | else |
773 | snd_printdd("Sound card name=%s, vendor=0x%x, device=0x%x, subsystem=0x%x\n", c->name, pci->vendor, pci->device, emu->serial); | 788 | snd_printdd("Sound card name=%s, vendor=0x%x, device=0x%x, subsystem=0x%x\n", c->name, pci->vendor, pci->device, emu->serial); |
774 | 789 | ||
790 | if (!*card->id && c->id) | ||
791 | strlcpy(card->id, c->id, sizeof(card->id)); | ||
792 | |||
775 | is_audigy = emu->audigy = c->emu10k2_chip; | 793 | is_audigy = emu->audigy = c->emu10k2_chip; |
776 | 794 | ||
777 | /* set the DMA transfer mask */ | 795 | /* set the DMA transfer mask */ |