diff options
Diffstat (limited to 'sound/pci/es1938.c')
| -rw-r--r-- | sound/pci/es1938.c | 79 | 
1 files changed, 34 insertions, 45 deletions
diff --git a/sound/pci/es1938.c b/sound/pci/es1938.c index 9213fb38921..34d95bf916b 100644 --- a/sound/pci/es1938.c +++ b/sound/pci/es1938.c @@ -254,7 +254,6 @@ MODULE_DEVICE_TABLE(pci, snd_es1938_ids);  #define WRITE_LOOP_TIMEOUT	0x10000  #define GET_LOOP_TIMEOUT	0x01000 -#undef REG_DEBUG  /* -----------------------------------------------------------------   * Write to a mixer register   * -----------------------------------------------------------------*/ @@ -265,9 +264,7 @@ static void snd_es1938_mixer_write(struct es1938 *chip, unsigned char reg, unsig  	outb(reg, SLSB_REG(chip, MIXERADDR));  	outb(val, SLSB_REG(chip, MIXERDATA));  	spin_unlock_irqrestore(&chip->mixer_lock, flags); -#ifdef REG_DEBUG -	snd_printk(KERN_DEBUG "Mixer reg %02x set to %02x\n", reg, val); -#endif +	dev_dbg(chip->card->dev, "Mixer reg %02x set to %02x\n", reg, val);  }  /* ----------------------------------------------------------------- @@ -281,9 +278,7 @@ static int snd_es1938_mixer_read(struct es1938 *chip, unsigned char reg)  	outb(reg, SLSB_REG(chip, MIXERADDR));  	data = inb(SLSB_REG(chip, MIXERDATA));  	spin_unlock_irqrestore(&chip->mixer_lock, flags); -#ifdef REG_DEBUG -	snd_printk(KERN_DEBUG "Mixer reg %02x now is %02x\n", reg, data); -#endif +	dev_dbg(chip->card->dev, "Mixer reg %02x now is %02x\n", reg, data);  	return data;  } @@ -302,10 +297,9 @@ static int snd_es1938_mixer_bits(struct es1938 *chip, unsigned char reg,  	if (val != oval) {  		new = (old & ~mask) | (val & mask);  		outb(new, SLSB_REG(chip, MIXERDATA)); -#ifdef REG_DEBUG -		snd_printk(KERN_DEBUG "Mixer reg %02x was %02x, set to %02x\n", +		dev_dbg(chip->card->dev, +			"Mixer reg %02x was %02x, set to %02x\n",  			   reg, old, new); -#endif  	}  	spin_unlock_irqrestore(&chip->mixer_lock, flags);  	return oval; @@ -324,7 +318,8 @@ static void snd_es1938_write_cmd(struct es1938 *chip, unsigned char cmd)  			return;  		}  	} -	printk(KERN_ERR "snd_es1938_write_cmd timeout (0x02%x/0x02%x)\n", cmd, v); +	dev_err(chip->card->dev, +		"snd_es1938_write_cmd timeout (0x02%x/0x02%x)\n", cmd, v);  }  /* ----------------------------------------------------------------- @@ -337,7 +332,7 @@ static int snd_es1938_get_byte(struct es1938 *chip)  	for (i = GET_LOOP_TIMEOUT; i; i--)  		if ((v = inb(SLSB_REG(chip, STATUS))) & 0x80)  			return inb(SLSB_REG(chip, READDATA)); -	snd_printk(KERN_ERR "get_byte timeout: status 0x02%x\n", v); +	dev_err(chip->card->dev, "get_byte timeout: status 0x02%x\n", v);  	return -ENODEV;  } @@ -351,9 +346,7 @@ static void snd_es1938_write(struct es1938 *chip, unsigned char reg, unsigned ch  	snd_es1938_write_cmd(chip, reg);  	snd_es1938_write_cmd(chip, val);  	spin_unlock_irqrestore(&chip->reg_lock, flags); -#ifdef REG_DEBUG -	snd_printk(KERN_DEBUG "Reg %02x set to %02x\n", reg, val); -#endif +	dev_dbg(chip->card->dev, "Reg %02x set to %02x\n", reg, val);  }  /* ----------------------------------------------------------------- @@ -368,9 +361,7 @@ static unsigned char snd_es1938_read(struct es1938 *chip, unsigned char reg)  	snd_es1938_write_cmd(chip, reg);  	val = snd_es1938_get_byte(chip);  	spin_unlock_irqrestore(&chip->reg_lock, flags); -#ifdef REG_DEBUG -	snd_printk(KERN_DEBUG "Reg %02x now is %02x\n", reg, val); -#endif +	dev_dbg(chip->card->dev, "Reg %02x now is %02x\n", reg, val);  	return val;  } @@ -391,10 +382,8 @@ static int snd_es1938_bits(struct es1938 *chip, unsigned char reg, unsigned char  		snd_es1938_write_cmd(chip, reg);  		new = (old & ~mask) | (val & mask);  		snd_es1938_write_cmd(chip, new); -#ifdef REG_DEBUG -		snd_printk(KERN_DEBUG "Reg %02x was %02x, set to %02x\n", +		dev_dbg(chip->card->dev, "Reg %02x was %02x, set to %02x\n",  			   reg, old, new); -#endif  	}  	spin_unlock_irqrestore(&chip->reg_lock, flags);  	return oval; @@ -416,7 +405,7 @@ static void snd_es1938_reset(struct es1938 *chip)  				goto __next;  		}  	} -	snd_printk(KERN_ERR "ESS Solo-1 reset failed\n"); +	dev_err(chip->card->dev, "ESS Solo-1 reset failed\n");       __next:  	snd_es1938_write_cmd(chip, ESS_CMD_ENABLEEXT); @@ -1504,16 +1493,15 @@ static int es1938_resume(struct device *dev)  	pci_set_power_state(pci, PCI_D0);  	pci_restore_state(pci);  	if (pci_enable_device(pci) < 0) { -		printk(KERN_ERR "es1938: pci_enable_device failed, " -		       "disabling device\n"); +		dev_err(dev, "pci_enable_device failed, disabling device\n");  		snd_card_disconnect(card);  		return -EIO;  	}  	if (request_irq(pci->irq, snd_es1938_interrupt,  			IRQF_SHARED, KBUILD_MODNAME, chip)) { -		printk(KERN_ERR "es1938: unable to grab IRQ %d, " -		       "disabling device\n", pci->irq); +		dev_err(dev, "unable to grab IRQ %d, disabling device\n", +			pci->irq);  		snd_card_disconnect(card);  		return -EIO;  	} @@ -1545,7 +1533,8 @@ static int snd_es1938_create_gameport(struct es1938 *chip)  	chip->gameport = gp = gameport_allocate_port();  	if (!gp) { -		printk(KERN_ERR "es1938: cannot allocate memory for gameport\n"); +		dev_err(chip->card->dev, +			"cannot allocate memory for gameport\n");  		return -ENOMEM;  	} @@ -1612,7 +1601,8 @@ static int snd_es1938_create(struct snd_card *card,          /* check, if we can restrict PCI DMA transfers to 24 bits */  	if (pci_set_dma_mask(pci, DMA_BIT_MASK(24)) < 0 ||  	    pci_set_consistent_dma_mask(pci, DMA_BIT_MASK(24)) < 0) { -		snd_printk(KERN_ERR "architecture does not support 24bit PCI busmaster DMA\n"); +		dev_err(card->dev, +			"architecture does not support 24bit PCI busmaster DMA\n");  		pci_disable_device(pci);                  return -ENXIO;          } @@ -1639,15 +1629,14 @@ static int snd_es1938_create(struct snd_card *card,  	chip->game_port = pci_resource_start(pci, 4);  	if (request_irq(pci->irq, snd_es1938_interrupt, IRQF_SHARED,  			KBUILD_MODNAME, chip)) { -		snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); +		dev_err(card->dev, "unable to grab IRQ %d\n", pci->irq);  		snd_es1938_free(chip);  		return -EBUSY;  	}  	chip->irq = pci->irq; -#ifdef ES1938_DDEBUG -	snd_printk(KERN_DEBUG "create: io: 0x%lx, sb: 0x%lx, vc: 0x%lx, mpu: 0x%lx, game: 0x%lx\n", +	dev_dbg(card->dev, +		"create: io: 0x%lx, sb: 0x%lx, vc: 0x%lx, mpu: 0x%lx, game: 0x%lx\n",  		   chip->io_port, chip->sb_port, chip->vc_port, chip->mpu_port, chip->game_port); -#endif  	chip->ddma_port = chip->vc_port + 0x00;		/* fix from Thomas Sailer */ @@ -1658,8 +1647,6 @@ static int snd_es1938_create(struct snd_card *card,  		return err;  	} -	snd_card_set_dev(card, &pci->dev); -  	*rchip = chip;  	return 0;  } @@ -1675,21 +1662,22 @@ static irqreturn_t snd_es1938_interrupt(int irq, void *dev_id)  	status = inb(SLIO_REG(chip, IRQCONTROL));  #if 0 -	printk(KERN_DEBUG "Es1938debug - interrupt status: =0x%x\n", status); +	dev_dbg(chip->card->dev, +		"Es1938debug - interrupt status: =0x%x\n", status);  #endif  	/* AUDIO 1 */  	if (status & 0x10) {  #if 0 -                printk(KERN_DEBUG +		dev_dbg(chip->card->dev,  		       "Es1938debug - AUDIO channel 1 interrupt\n"); -		printk(KERN_DEBUG +		dev_dbg(chip->card->dev,  		       "Es1938debug - AUDIO channel 1 DMAC DMA count: %u\n",  		       inw(SLDM_REG(chip, DMACOUNT))); -		printk(KERN_DEBUG +		dev_dbg(chip->card->dev,  		       "Es1938debug - AUDIO channel 1 DMAC DMA base: %u\n",  		       inl(SLDM_REG(chip, DMAADDR))); -		printk(KERN_DEBUG +		dev_dbg(chip->card->dev,  		       "Es1938debug - AUDIO channel 1 DMAC DMA status: 0x%x\n",  		       inl(SLDM_REG(chip, DMASTATUS)));  #endif @@ -1705,12 +1693,12 @@ static irqreturn_t snd_es1938_interrupt(int irq, void *dev_id)  	/* AUDIO 2 */  	if (status & 0x20) {  #if 0 -                printk(KERN_DEBUG +		dev_dbg(chip->card->dev,  		       "Es1938debug - AUDIO channel 2 interrupt\n"); -		printk(KERN_DEBUG +		dev_dbg(chip->card->dev,  		       "Es1938debug - AUDIO channel 2 DMAC DMA count: %u\n",  		       inw(SLIO_REG(chip, AUDIO2DMACOUNT))); -		printk(KERN_DEBUG +		dev_dbg(chip->card->dev,  		       "Es1938debug - AUDIO channel 2 DMAC DMA base: %u\n",  		       inl(SLIO_REG(chip, AUDIO2DMAADDR))); @@ -1808,7 +1796,8 @@ static int snd_es1938_probe(struct pci_dev *pci,  		return -ENOENT;  	} -	err = snd_card_create(index[dev], id[dev], THIS_MODULE, 0, &card); +	err = snd_card_new(&pci->dev, index[dev], id[dev], THIS_MODULE, +			   0, &card);  	if (err < 0)  		return err;  	for (idx = 0; idx < 5; idx++) { @@ -1843,7 +1832,7 @@ static int snd_es1938_probe(struct pci_dev *pci,  			    SLSB_REG(chip, FMLOWADDR),  			    SLSB_REG(chip, FMHIGHADDR),  			    OPL3_HW_OPL3, 1, &opl3) < 0) { -		printk(KERN_ERR "es1938: OPL3 not detected at 0x%lx\n", +		dev_err(card->dev, "OPL3 not detected at 0x%lx\n",  			   SLSB_REG(chip, FMLOWADDR));  	} else {  	        if ((err = snd_opl3_timer_new(opl3, 0, 1)) < 0) { @@ -1859,7 +1848,7 @@ static int snd_es1938_probe(struct pci_dev *pci,  				chip->mpu_port,  				MPU401_INFO_INTEGRATED | MPU401_INFO_IRQ_HOOK,  				-1, &chip->rmidi) < 0) { -		printk(KERN_ERR "es1938: unable to initialize MPU-401\n"); +		dev_err(card->dev, "unable to initialize MPU-401\n");  	} else {  		// this line is vital for MIDI interrupt handling on ess-solo1  		// andreas@flying-snail.de  | 
