summaryrefslogtreecommitdiffstats
path: root/drivers/sound/sb_card.c
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2000-08-28 22:00:09 +0000
committerRalf Baechle <ralf@linux-mips.org>2000-08-28 22:00:09 +0000
commit1a1d77dd589de5a567fa95e36aa6999c704ceca4 (patch)
tree141e31f89f18b9fe0831f31852e0435ceaccafc5 /drivers/sound/sb_card.c
parentfb9c690a18b3d66925a65b17441c37fa14d4370b (diff)
Merge with 2.4.0-test7.
Diffstat (limited to 'drivers/sound/sb_card.c')
-rw-r--r--drivers/sound/sb_card.c33
1 files changed, 16 insertions, 17 deletions
diff --git a/drivers/sound/sb_card.c b/drivers/sound/sb_card.c
index f66c0b604..9828aab41 100644
--- a/drivers/sound/sb_card.c
+++ b/drivers/sound/sb_card.c
@@ -44,7 +44,9 @@
*
* 25-05-2000 Added Creative SB AWE64 Gold (CTL00B2).
* Pål-Kristian Engstad <engstad@att.net>
- *
+ *
+ * 12-08-2000 Added Creative SB32 PnP (CTL009F).
+ * Kasatenko Ivan Alex. <skywriter@rnc.ru>
*/
#include <linux/config.h>
@@ -54,7 +56,6 @@
#include <linux/isapnp.h>
#include "sound_config.h"
-#include "soundmodule.h"
#include "sb_mixer.h"
#include "sb.h"
@@ -88,7 +89,7 @@ static int __initdata sm_games = 0; /* Logitech soundman games? */
static void __init attach_sb_card(struct address_info *hw_config)
{
- if(!sb_dsp_init(hw_config))
+ if(!sb_dsp_init(hw_config, THIS_MODULE))
hw_config->slots[0] = -1;
}
@@ -189,7 +190,7 @@ struct pci_dev *sb_dev[SB_CARDS_MAX] = {NULL},
#if defined CONFIG_ISAPNP || defined CONFIG_ISAPNP_MODULE
static int isapnp = 1;
static int isapnpjump = 0;
-static int multiple = 0;
+static int multiple = 1;
static int reverse = 0;
static int uart401 = 0;
@@ -198,7 +199,7 @@ static int mpu_activated[SB_CARDS_MAX] = {0};
static int opl_activated[SB_CARDS_MAX] = {0};
#else
static int isapnp = 0;
-static int multiple = 1;
+static int multiple = 0;
#endif
MODULE_DESCRIPTION("Soundblaster driver");
@@ -277,7 +278,7 @@ static struct {
ISAPNP_VENDOR('C','T','L'), ISAPNP_FUNCTION(0x0031),
0,0,0,0,
0,1,1,-1},
- {"Sound Blaster 16",
+ {"Sound Blaster 16",
ISAPNP_VENDOR('C','T','L'), ISAPNP_DEVICE(0x002a),
ISAPNP_VENDOR('C','T','L'), ISAPNP_FUNCTION(0x0031),
0,0,0,0,
@@ -342,6 +343,11 @@ static struct {
ISAPNP_VENDOR('C','T','L'), ISAPNP_FUNCTION(0x0041),
0,0,0,0,
0,1,1,-1},
+ {"Creative SB32 PnP",
+ ISAPNP_VENDOR('C','T','L'), ISAPNP_DEVICE(0x009F),
+ ISAPNP_VENDOR('C','T','L'), ISAPNP_FUNCTION(0x0041),
+ 0,0,0,0,
+ 0,1,1,-1},
{"Sound Blaster AWE 64",
ISAPNP_VENDOR('C','T','L'), ISAPNP_DEVICE(0x009D),
ISAPNP_VENDOR('C','T','L'), ISAPNP_FUNCTION(0x0042),
@@ -436,7 +442,7 @@ static struct {
ISAPNP_VENDOR('@','H','@'), ISAPNP_FUNCTION(0x0001),
0,-1,0,0},
{"ALS100",
- ISAPNP_VENDOR('A','L','S'), ISAPNP_DEVICE(0x0001),
+ ISAPNP_VENDOR('A','L','S'), ISAPNP_DEVICE(0x0001),
ISAPNP_VENDOR('@','@','@'), ISAPNP_FUNCTION(0x0001),
ISAPNP_VENDOR('@','X','@'), ISAPNP_FUNCTION(0x0001),
ISAPNP_VENDOR('@','H','@'), ISAPNP_FUNCTION(0x0001),
@@ -468,10 +474,6 @@ static struct {
{0}
};
-/* That's useful. */
-
-#define show_base(devname, resname, resptr) printk(KERN_INFO "sb: %s %s base located at %#lx\n", devname, resname, (resptr)->start)
-
static struct pci_dev *activate_dev(char *devname, char *resname, struct pci_dev *dev)
{
int err;
@@ -636,7 +638,7 @@ int __init sb_isapnp_probe(struct address_info *hw_config, struct address_info *
return 0;
}
}
- i += reverse ? -1 : 1;
+ i += reverse ? -1 : 1;
}
return -ENODEV;
@@ -679,16 +681,14 @@ static int __init init_sb(void)
if(cfg[card].slots[0]==-1)
return -ENODEV;
- if (!isapnp)
+ if (!isapnp)
cfg_mpu[card].io_base = mpu_io;
if (probe_sbmpu(&cfg_mpu[card]))
sbmpu[card] = 1;
if (sbmpu[card])
- attach_sbmpu(&cfg_mpu[card]);
+ attach_sbmpu(&cfg_mpu[card], THIS_MODULE);
}
- SOUND_LOCK;
-
if(isapnp)
printk(KERN_NOTICE "sb: %d Soundblaster PnP card(s) found.\n", sb_cards_num);
@@ -718,7 +718,6 @@ static void __exit cleanup_sb(void)
opl_dev[i]->deactivate(opl_dev[i]);
#endif
}
- SOUND_LOCK_END;
}
module_init(init_sb);