diff options
Diffstat (limited to 'sound/pci/ymfpci/ymfpci.c')
-rw-r--r-- | sound/pci/ymfpci/ymfpci.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sound/pci/ymfpci/ymfpci.c b/sound/pci/ymfpci/ymfpci.c index dab9b8310341..db57ce939fa8 100644 --- a/sound/pci/ymfpci/ymfpci.c +++ b/sound/pci/ymfpci/ymfpci.c | |||
@@ -49,6 +49,7 @@ static long mpu_port[SNDRV_CARDS]; | |||
49 | static long joystick_port[SNDRV_CARDS]; | 49 | static long joystick_port[SNDRV_CARDS]; |
50 | #endif | 50 | #endif |
51 | static int rear_switch[SNDRV_CARDS]; | 51 | static int rear_switch[SNDRV_CARDS]; |
52 | static int rear_swap[SNDRV_CARDS] = { [0 ... (SNDRV_CARDS-1)] = 1 }; | ||
52 | 53 | ||
53 | module_param_array(index, int, NULL, 0444); | 54 | module_param_array(index, int, NULL, 0444); |
54 | MODULE_PARM_DESC(index, "Index value for the Yamaha DS-1 PCI soundcard."); | 55 | MODULE_PARM_DESC(index, "Index value for the Yamaha DS-1 PCI soundcard."); |
@@ -66,6 +67,8 @@ MODULE_PARM_DESC(joystick_port, "Joystick port address"); | |||
66 | #endif | 67 | #endif |
67 | module_param_array(rear_switch, bool, NULL, 0444); | 68 | module_param_array(rear_switch, bool, NULL, 0444); |
68 | MODULE_PARM_DESC(rear_switch, "Enable shared rear/line-in switch"); | 69 | MODULE_PARM_DESC(rear_switch, "Enable shared rear/line-in switch"); |
70 | module_param_array(rear_swap, bool, NULL, 0444); | ||
71 | MODULE_PARM_DESC(rear_swap, "Swap rear channels (must be enabled for correct IEC958 (S/PDIF)) output"); | ||
69 | 72 | ||
70 | static struct pci_device_id snd_ymfpci_ids[] = { | 73 | static struct pci_device_id snd_ymfpci_ids[] = { |
71 | { 0x1073, 0x0004, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* YMF724 */ | 74 | { 0x1073, 0x0004, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* YMF724 */ |
@@ -295,7 +298,7 @@ static int __devinit snd_card_ymfpci_probe(struct pci_dev *pci, | |||
295 | snd_card_free(card); | 298 | snd_card_free(card); |
296 | return err; | 299 | return err; |
297 | } | 300 | } |
298 | if ((err = snd_ymfpci_mixer(chip, rear_switch[dev])) < 0) { | 301 | if ((err = snd_ymfpci_mixer(chip, rear_switch[dev], rear_swap[dev])) < 0) { |
299 | snd_card_free(card); | 302 | snd_card_free(card); |
300 | return err; | 303 | return err; |
301 | } | 304 | } |