aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci
diff options
context:
space:
mode:
authorClemens Ladisch <clemens@ladisch.de>2007-09-17 03:33:37 -0400
committerJaroslav Kysela <perex@perex.cz>2007-10-16 10:50:26 -0400
commitc818e0a152bcb138411b07f4495b8e6fb9bacf52 (patch)
treec019627e6099ac16b7ef0cf8bf0c4e7d7088eb6f /sound/pci
parent2ea547dcdd4216370f00dd65a18ee5a0271646a0 (diff)
[ALSA] bt87x: fix detection of generic boards
Add an 'unknown' board type so that it is possible to differentiate between unknown and generic boards. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Diffstat (limited to 'sound/pci')
-rw-r--r--sound/pci/bt87x.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/sound/pci/bt87x.c b/sound/pci/bt87x.c
index 42e57fd02d39..91f9e6a112ff 100644
--- a/sound/pci/bt87x.c
+++ b/sound/pci/bt87x.c
@@ -149,6 +149,7 @@ MODULE_PARM_DESC(load_all, "Allow to load the non-whitelisted cards");
149 149
150/* Cards with configuration information */ 150/* Cards with configuration information */
151enum snd_bt87x_boardid { 151enum snd_bt87x_boardid {
152 SND_BT87X_BOARD_UNKNOWN,
152 SND_BT87X_BOARD_GENERIC, /* both an & dig interfaces, 32kHz */ 153 SND_BT87X_BOARD_GENERIC, /* both an & dig interfaces, 32kHz */
153 SND_BT87X_BOARD_ANALOG, /* board with no external A/D */ 154 SND_BT87X_BOARD_ANALOG, /* board with no external A/D */
154 SND_BT87X_BOARD_OSPREY2x0, 155 SND_BT87X_BOARD_OSPREY2x0,
@@ -165,6 +166,9 @@ struct snd_bt87x_board {
165}; 166};
166 167
167static const __devinitdata struct snd_bt87x_board snd_bt87x_boards[] = { 168static const __devinitdata struct snd_bt87x_board snd_bt87x_boards[] = {
169 [SND_BT87X_BOARD_UNKNOWN] = {
170 .dig_rate = 32000, /* just a guess */
171 },
168 [SND_BT87X_BOARD_GENERIC] = { 172 [SND_BT87X_BOARD_GENERIC] = {
169 .dig_rate = 32000, 173 .dig_rate = 32000,
170 }, 174 },
@@ -861,7 +865,7 @@ static int __devinit snd_bt87x_detect_card(struct pci_dev *pci)
861 snd_printk(KERN_DEBUG "please mail id, board name, and, " 865 snd_printk(KERN_DEBUG "please mail id, board name, and, "
862 "if it works, the correct digital_rate option to " 866 "if it works, the correct digital_rate option to "
863 "<alsa-devel@alsa-project.org>\n"); 867 "<alsa-devel@alsa-project.org>\n");
864 return SND_BT87X_BOARD_GENERIC; 868 return SND_BT87X_BOARD_UNKNOWN;
865} 869}
866 870
867static int __devinit snd_bt87x_probe(struct pci_dev *pci, 871static int __devinit snd_bt87x_probe(struct pci_dev *pci,
@@ -959,8 +963,8 @@ static void __devexit snd_bt87x_remove(struct pci_dev *pci)
959/* default entries for all Bt87x cards - it's not exported */ 963/* default entries for all Bt87x cards - it's not exported */
960/* driver_data is set to 0 to call detection */ 964/* driver_data is set to 0 to call detection */
961static struct pci_device_id snd_bt87x_default_ids[] __devinitdata = { 965static struct pci_device_id snd_bt87x_default_ids[] __devinitdata = {
962 BT_DEVICE(PCI_DEVICE_ID_BROOKTREE_878, PCI_ANY_ID, PCI_ANY_ID, GENERIC), 966 BT_DEVICE(PCI_DEVICE_ID_BROOKTREE_878, PCI_ANY_ID, PCI_ANY_ID, UNKNOWN),
963 BT_DEVICE(PCI_DEVICE_ID_BROOKTREE_879, PCI_ANY_ID, PCI_ANY_ID, GENERIC), 967 BT_DEVICE(PCI_DEVICE_ID_BROOKTREE_879, PCI_ANY_ID, PCI_ANY_ID, UNKNOWN),
964 { } 968 { }
965}; 969};
966 970