snd_printk("unable to grab IRQ %d\n", pci->irq); 
snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 
static int __devinit snd_ice1712_create(snd_card_t * card,					struct pci_dev *pci,					const char *modelname,					int omni,					int cs8427_timeout,					ice1712_t ** r_ice1712){	ice1712_t *ice;	int err;	static snd_device_ops_t ops = {		.dev_free =	snd_ice1712_dev_free,	};	*r_ice1712 = NULL;        /* enable PCI device */	if ((err = pci_enable_device(pci)) < 0)		return err;	/* check, if we can restrict PCI DMA transfers to 28 bits */	if (pci_set_dma_mask(pci, 0x0fffffff) < 0 ||	    pci_set_consistent_dma_mask(pci, 0x0fffffff) < 0) {		snd_printk("architecture does not support 28bit PCI busmaster DMA\n");		pci_disable_device(pci);		return -ENXIO;	}	ice = kzalloc(sizeof(*ice), GFP_KERNEL);	if (ice == NULL) {		pci_disable_device(pci);		return -ENOMEM;	}	ice->omni = omni ? 1 : 0;	if (cs8427_timeout < 1)		cs8427_timeout = 1;	else if (cs8427_timeout > 1000)		cs8427_timeout = 1000;	ice->cs8427_timeout = cs8427_timeout;	spin_lock_init(&ice->reg_lock);	init_MUTEX(&ice->gpio_mutex);	init_MUTEX(&ice->i2c_mutex);	init_MUTEX(&ice->open_mutex);	ice->gpio.set_mask = snd_ice1712_set_gpio_mask;	ice->gpio.set_dir = snd_ice1712_set_gpio_dir;	ice->gpio.set_data = snd_ice1712_set_gpio_data;	ice->gpio.get_data = snd_ice1712_get_gpio_data;	ice->spdif.cs8403_bits =		ice->spdif.cs8403_stream_bits = (0x01 |	/* consumer format */						 0x10 |	/* no emphasis */						 0x20);	/* PCM encoder/decoder */	ice->card = card;	ice->pci = pci;	ice->irq = -1;	pci_set_master(pci);	pci_write_config_word(ice->pci, 0x40, 0x807f);	pci_write_config_word(ice->pci, 0x42, 0x0006);	snd_ice1712_proc_init(ice);	synchronize_irq(pci->irq);	if ((err = pci_request_regions(pci, "ICE1712")) < 0) {		kfree(ice);		pci_disable_device(pci);		return err;	}	ice->port = pci_resource_start(pci, 0);	ice->ddma_port = pci_resource_start(pci, 1);	ice->dmapath_port = pci_resource_start(pci, 2);	ice->profi_port = pci_resource_start(pci, 3);	if (request_irq(pci->irq, snd_ice1712_interrupt, SA_INTERRUPT|SA_SHIRQ, "ICE1712", (void *) ice)) {		snd_printk("unable to grab IRQ %d\n", pci->irq);		snd_ice1712_free(ice);		return -EIO;	}		ice->irq = pci->irq;	if (snd_ice1712_read_eeprom(ice, modelname) < 0) {		snd_ice1712_free(ice);		return -EIO;	}	if (snd_ice1712_chip_init(ice) < 0) {		snd_ice1712_free(ice);		return -EIO;	}	/* unmask used interrupts */	outb((ice->eeprom.data[ICE_EEP1_CODEC] & ICE1712_CFG_2xMPU401) == 0 ? ICE1712_IRQ_MPU2 : 0 |	     (ice->eeprom.data[ICE_EEP1_CODEC] & ICE1712_CFG_NO_CON_AC97) ? ICE1712_IRQ_PBKDS | ICE1712_IRQ_CONCAP | ICE1712_IRQ_CONPBK : 0,	     ICEREG(ice, IRQMASK));	outb(0x00, ICEMT(ice, IRQ));	if ((err = snd_device_new(card, SNDRV_DEV_LOWLEVEL, ice, &ops)) < 0) {		snd_ice1712_free(ice); 		return err;	}	snd_card_set_dev(card, &pci->dev);	*r_ice1712 = ice;	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/99b359ba10a582148c6725f428a33ba5356dd993/ice1712.c/clean/sound/pci/ice1712/ice1712.c