Lines Matching refs:iwcard
195 static int snd_interwave_detect_stb(struct snd_interwave *iwcard,
201 struct snd_card *card = iwcard->card;
213 if ((iwcard->i2c_res = request_region(port, 1, "InterWave (I2C bus)")) != NULL)
218 iwcard->i2c_res = request_region(port, 1, "InterWave (I2C bus)");
220 if (iwcard->i2c_res == NULL) {
237 static int snd_interwave_detect(struct snd_interwave *iwcard,
277 return snd_interwave_detect_stb(iwcard, gus, dev, rbus);
286 struct snd_interwave *iwcard = dev_id;
292 if (inb(iwcard->gus_status_reg)) {
294 snd_gus_interrupt(irq, iwcard->gus);
297 if (inb(iwcard->pcm_status_reg) & 0x01) { /* IRQ bit is set? */
299 snd_wss_interrupt(irq, iwcard->wss);
539 static int snd_interwave_pnp(int dev, struct snd_interwave *iwcard,
546 iwcard->dev = pnp_request_card_device(card, id->devs[0].id, NULL);
547 if (iwcard->dev == NULL)
551 iwcard->devtc = pnp_request_card_device(card, id->devs[1].id, NULL);
552 if (iwcard->devtc == NULL)
556 pdev = iwcard->dev;
580 pdev = iwcard->devtc;
596 struct snd_interwave *iwcard = card->private_data;
598 if (iwcard == NULL)
601 release_and_free_resource(iwcard->i2c_res);
603 if (iwcard->irq >= 0)
604 free_irq(iwcard->irq, (void *)iwcard);
611 struct snd_interwave *iwcard;
618 iwcard = card->private_data;
619 iwcard->card = card;
620 iwcard->irq = -1;
629 struct snd_interwave *iwcard = card->private_data;
649 if ((err = snd_interwave_detect(iwcard, gus, dev
656 iwcard->gus_status_reg = gus->gf1.reg_irqstat;
657 iwcard->pcm_status_reg = gus->gf1.port + 0x10c + 2;
665 "InterWave", iwcard)) {
669 iwcard->irq = xirq;
670 card->sync_irq = iwcard->irq;
753 iwcard->wss = wss;
754 iwcard->gus = gus;