summaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorAlan Horstmann <gineera@aspect135.co.uk>2006-05-26 17:19:34 +0200
committerJaroslav Kysela <perex@suse.cz>2006-06-22 21:34:02 +0200
commitcf78ee2ccc96d59e602188e0e6e3fe3522b6d3f6 (patch)
tree027aff68ac7c21c27c86ba99b43a8f2b112f79e0 /sound
parent[ALSA] hda-codec - Fix model for HP dc7600 (diff)
downloadlinux-cf78ee2ccc96d59e602188e0e6e3fe3522b6d3f6.tar.xz
linux-cf78ee2ccc96d59e602188e0e6e3fe3522b6d3f6.zip
[ALSA] ice1712 - Set mpu401 info flags from _card_info
To permit use, in ice1712, of the mpu401 info flags recently added to mpu401_uart, adds info_flags in snd_ice1712_card_info so that additional flags can be set, if desired.  'MPU401_INFO_INTEGRATED' is always set with the ice1712.  The flags are passed on to snd_mpu401_uart_new(). _INFO_OUTPUT is set for DMX6fire mpu2. Signed-off-by: Alan Horstmann <gineera@aspect135.co.uk> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound')
-rw-r--r--sound/pci/ice1712/ews.c1
-rw-r--r--sound/pci/ice1712/ice1712.c7
-rw-r--r--sound/pci/ice1712/ice1712.h3
3 files changed, 8 insertions, 3 deletions
diff --git a/sound/pci/ice1712/ews.c b/sound/pci/ice1712/ews.c
index 2e1cf1120582..b135389fec6c 100644
--- a/sound/pci/ice1712/ews.c
+++ b/sound/pci/ice1712/ews.c
@@ -1033,6 +1033,7 @@ struct snd_ice1712_card_info snd_ice1712_ews_cards[] __devinitdata = {
.build_controls = snd_ice1712_ews_add_controls,
.mpu401_1_name = "MIDI-Front DMX6fire",
.mpu401_2_name = "Wavetable DMX6fire",
+ .mpu401_2_info_flags = MPU401_INFO_OUTPUT,
},
{ } /* terminator */
};
diff --git a/sound/pci/ice1712/ice1712.c b/sound/pci/ice1712/ice1712.c
index aa5a41fecb08..845907159b74 100644
--- a/sound/pci/ice1712/ice1712.c
+++ b/sound/pci/ice1712/ice1712.c
@@ -61,7 +61,6 @@
#include <sound/core.h>
#include <sound/cs8427.h>
#include <sound/info.h>
-#include <sound/mpu401.h>
#include <sound/initval.h>
#include <sound/asoundef.h>
@@ -2739,7 +2738,8 @@ static int __devinit snd_ice1712_probe(struct pci_dev *pci,
if (! c->no_mpu401) {
if ((err = snd_mpu401_uart_new(card, 0, MPU401_HW_ICE1712,
ICEREG(ice, MPU1_CTRL),
- MPU401_INFO_INTEGRATED,
+ (c->mpu401_1_info_flags |
+ MPU401_INFO_INTEGRATED),
ice->irq, 0,
&ice->rmidi[0])) < 0) {
snd_card_free(card);
@@ -2755,7 +2755,8 @@ static int __devinit snd_ice1712_probe(struct pci_dev *pci,
/* 2nd port used */
if ((err = snd_mpu401_uart_new(card, 1, MPU401_HW_ICE1712,
ICEREG(ice, MPU2_CTRL),
- MPU401_INFO_INTEGRATED,
+ (c->mpu401_2_info_flags |
+ MPU401_INFO_INTEGRATED),
ice->irq, 0,
&ice->rmidi[1])) < 0) {
snd_card_free(card);
diff --git a/sound/pci/ice1712/ice1712.h b/sound/pci/ice1712/ice1712.h
index d4776319a0cd..ce27eac40d4e 100644
--- a/sound/pci/ice1712/ice1712.h
+++ b/sound/pci/ice1712/ice1712.h
@@ -29,6 +29,7 @@
#include <sound/ak4xxx-adda.h>
#include <sound/ak4114.h>
#include <sound/pcm.h>
+#include <sound/mpu401.h>
/*
@@ -495,6 +496,8 @@ struct snd_ice1712_card_info {
int (*chip_init)(struct snd_ice1712 *);
int (*build_controls)(struct snd_ice1712 *);
unsigned int no_mpu401: 1;
+ unsigned int mpu401_1_info_flags;
+ unsigned int mpu401_2_info_flags;
const char *mpu401_1_name;
const char *mpu401_2_name;
unsigned int eeprom_size;