28 #include <linux/wait.h>
29 #include <linux/time.h>
31 #include <linux/module.h>
38 #define PFX "als100: "
42 "{Avance Logic ALS-007}}"
43 "{{Avance Logic,ALS100 - PRO16PNP},"
44 "{Avance Logic,ALS110},"
45 "{Avance Logic,ALS120},"
46 "{Avance Logic,ALS200},"
48 "{Digimate,3D Sound},"
49 "{Avance Logic,ALS120},"
85 .devs = { {
"@@@0001" }, {
"@X@0001" }, {
"@H@0001" } },
89 .devs = { {
"@@@0001" }, {
"@X@0001" }, {
"@H@0001" } },
93 .devs = { {
"@@@0001" }, {
"@X@0001" }, {
"@H@0001" } },
97 .devs = { {
"@@@1001" }, {
"@X@1001" }, {
"@H@1001" } },
101 .devs = { {
"@@@2001" }, {
"@X@2001" }, {
"@H@2001" } },
105 .devs = { {
"@@@0020" }, {
"@X@0020" }, {
"@H@0001" } },
109 .devs = { {
"@@@0020" }, {
"@X@0020" }, {
"@H@0020" } },
113 .devs = { {
"@@@2001" }, {
"@X@2001" }, {
"@H@2001" } },
141 port[
dev] = pnp_port_start(pdev, 0);
155 mpu_port[
dev] = pnp_port_start(pdev, 0);
172 fm_port[
dev] = pnp_port_start(pdev, 0);
186 static int __devinit snd_card_als100_probe(
int dev,
202 if ((error = snd_card_als100_pnp(dev, acard, pcard, pid))) {
213 dma8[dev], dma16[dev],
227 irq[dev], dma8[dev]);
233 irq[dev], dma8[dev], dma16[dev]);
265 fm_port[dev], fm_port[dev] + 2,
268 fm_port[dev], fm_port[dev] + 2);
285 pnp_set_card_drvdata(pcard, card);
300 res = snd_card_als100_probe(dev, card,
id);
313 pnp_set_card_drvdata(pcard,
NULL);
319 struct snd_card *card = pnp_get_card_drvdata(pcard);
324 snd_pcm_suspend_all(chip->
pcm);
325 snd_sbmixer_suspend(chip);
329 static int snd_als100_pnp_resume(
struct pnp_card_link *pcard)
331 struct snd_card *card = pnp_get_card_drvdata(pcard);
336 snd_sbmixer_resume(chip);
345 .id_table = snd_als100_pnpids,
346 .probe = snd_als100_pnp_detect,
349 .suspend = snd_als100_pnp_suspend,
350 .resume = snd_als100_pnp_resume,
354 static int __init alsa_card_als100_init(
void)
362 if (!als100_devices) {
372 static void __exit alsa_card_als100_exit(
void)