snd_printk("architecture does not support 24bit PCI busmaster DMA\n"); 
snd_printk(KERN_ERR "architecture does not support 24bit PCI busmaster DMA\n"); 
static int __devinit snd_card_als4000_probe(struct pci_dev *pci,					  const struct pci_device_id *pci_id){	static int dev;	snd_card_t *card;	snd_card_als4000_t *acard;	unsigned long gcr;	sb_t *chip;	opl3_t *opl3;	unsigned short word;	int err;	if (dev >= SNDRV_CARDS)		return -ENODEV;	if (!enable[dev]) {		dev++;		return -ENOENT;	}	/* enable PCI device */	if ((err = pci_enable_device(pci)) < 0) {		return err;	}	/* check, if we can restrict PCI DMA transfers to 24 bits */	if (pci_set_dma_mask(pci, 0x00ffffff) < 0 ||	    pci_set_consistent_dma_mask(pci, 0x00ffffff) < 0) {		snd_printk("architecture does not support 24bit PCI busmaster DMA\n");		pci_disable_device(pci);		return -ENXIO;	}	if ((err = pci_request_regions(pci, "ALS4000")) < 0) {		pci_disable_device(pci);		return err;	}	gcr = pci_resource_start(pci, 0);	pci_read_config_word(pci, PCI_COMMAND, &word);	pci_write_config_word(pci, PCI_COMMAND, word | PCI_COMMAND_IO);	pci_set_master(pci);		card = snd_card_new(index[dev], id[dev], THIS_MODULE, 			    sizeof( snd_card_als4000_t ) );	if (card == NULL) {		pci_release_regions(pci);		pci_disable_device(pci);		return -ENOMEM;	}	acard = (snd_card_als4000_t *)card->private_data;	acard->pci = pci;	acard->gcr = gcr;	card->private_free = snd_card_als4000_free;	/* disable all legacy ISA stuff */	snd_als4000_set_addr(acard->gcr, 0, 0, 0, 0);	if ((err = snd_sbdsp_create(card,				    gcr + 0x10,				    pci->irq,				    snd_als4000_interrupt,				    -1,				    -1,				    SB_HW_ALS4000,				    &chip)) < 0) {		snd_card_free(card);		return err;	}	chip->pci = pci;	chip->alt_port = gcr;	snd_card_set_dev(card, &pci->dev);	snd_als4000_configure(chip);	strcpy(card->driver, "ALS4000");	strcpy(card->shortname, "Avance Logic ALS4000");	sprintf(card->longname, "%s at 0x%lx, irq %i",		card->shortname, chip->alt_port, chip->irq);	if ((err = snd_mpu401_uart_new( card, 0, MPU401_HW_ALS4000,				        gcr+0x30, 1, pci->irq, 0,				        &chip->rmidi)) < 0) {		snd_card_free(card);		printk(KERN_ERR "als4000: no MPU-401device at 0x%lx ?\n", gcr+0x30);		return err;	}	if ((err = snd_als4000_pcm(chip, 0)) < 0) {		snd_card_free(card);		return err;	}	if ((err = snd_sbmixer_new(chip)) < 0) {		snd_card_free(card);		return err;	}	    	if (snd_opl3_create(card, gcr+0x10, gcr+0x12,			    OPL3_HW_AUTO, 1, &opl3) < 0) {		printk(KERN_ERR "als4000: no OPL device at 0x%lx-0x%lx ?\n",			   gcr+0x10, gcr+0x12 );	} else {		if ((err = snd_opl3_hwdep_new(opl3, 0, 1, NULL)) < 0) {			snd_card_free(card);			return err;		}	}	snd_als4000_create_gameport(acard, dev);	if ((err = snd_card_register(card)) < 0) {		snd_card_free(card);		return err;	}	pci_set_drvdata(pci, card);	dev++;	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/99b359ba10a582148c6725f428a33ba5356dd993/als4000.c/clean/sound/pci/als4000.c