diff options
Diffstat (limited to 'sound/isa/es18xx.c')
| -rw-r--r-- | sound/isa/es18xx.c | 26 | 
1 files changed, 12 insertions, 14 deletions
diff --git a/sound/isa/es18xx.c b/sound/isa/es18xx.c index 12978b864c3..6faaac60161 100644 --- a/sound/isa/es18xx.c +++ b/sound/isa/es18xx.c @@ -520,7 +520,7 @@ static int snd_es18xx_playback1_trigger(struct snd_es18xx *chip,  			snd_es18xx_mixer_write(chip, 0x78, 0x93);  #ifdef AVOID_POPS  		/* Avoid pops */ -                udelay(100000); +		mdelay(100);  		if (chip->caps & ES18XX_PCM2)  			/* Restore Audio 2 volume */  			snd_es18xx_mixer_write(chip, 0x7C, chip->audio2_vol); @@ -537,7 +537,7 @@ static int snd_es18xx_playback1_trigger(struct snd_es18xx *chip,                  /* Stop DMA */                  snd_es18xx_mixer_write(chip, 0x78, 0x00);  #ifdef AVOID_POPS -                udelay(25000); +		mdelay(25);  		if (chip->caps & ES18XX_PCM2)  			/* Set Audio 2 volume to 0 */  			snd_es18xx_mixer_write(chip, 0x7C, 0); @@ -596,7 +596,7 @@ static int snd_es18xx_capture_prepare(struct snd_pcm_substream *substream)  	snd_es18xx_write(chip, 0xA5, count >> 8);  #ifdef AVOID_POPS -	udelay(100000); +	mdelay(100);  #endif          /* Set format */ @@ -691,7 +691,7 @@ static int snd_es18xx_playback2_trigger(struct snd_es18xx *chip,                  snd_es18xx_write(chip, 0xB8, 0x05);  #ifdef AVOID_POPS  		/* Avoid pops */ -                udelay(100000); +		mdelay(100);                  /* Enable Audio 1 */                  snd_es18xx_dsp_command(chip, 0xD1);  #endif @@ -705,7 +705,7 @@ static int snd_es18xx_playback2_trigger(struct snd_es18xx *chip,                  snd_es18xx_write(chip, 0xB8, 0x00);  #ifdef AVOID_POPS  		/* Avoid pops */ -                udelay(25000); +		mdelay(25);                  /* Disable Audio 1 */                  snd_es18xx_dsp_command(chip, 0xD3);  #endif @@ -2105,10 +2105,11 @@ static int snd_audiodrive_pnpc(int dev, struct snd_es18xx *chip,  #define is_isapnp_selected(dev)		0  #endif -static int snd_es18xx_card_new(int dev, struct snd_card **cardp) +static int snd_es18xx_card_new(struct device *pdev, int dev, +			       struct snd_card **cardp)  { -	return snd_card_create(index[dev], id[dev], THIS_MODULE, -			       sizeof(struct snd_es18xx), cardp); +	return snd_card_new(pdev, index[dev], id[dev], THIS_MODULE, +			    sizeof(struct snd_es18xx), cardp);  }  static int snd_audiodrive_probe(struct snd_card *card, int dev) @@ -2179,10 +2180,9 @@ static int snd_es18xx_isa_probe1(int dev, struct device *devptr)  	struct snd_card *card;  	int err; -	err = snd_es18xx_card_new(dev, &card); +	err = snd_es18xx_card_new(devptr, dev, &card);  	if (err < 0)  		return err; -	snd_card_set_dev(card, devptr);  	if ((err = snd_audiodrive_probe(card, dev)) < 0) {  		snd_card_free(card);  		return err; @@ -2284,14 +2284,13 @@ static int snd_audiodrive_pnp_detect(struct pnp_dev *pdev,  	if (dev >= SNDRV_CARDS)  		return -ENODEV; -	err = snd_es18xx_card_new(dev, &card); +	err = snd_es18xx_card_new(&pdev->dev, dev, &card);  	if (err < 0)  		return err;  	if ((err = snd_audiodrive_pnp(dev, card->private_data, pdev)) < 0) {  		snd_card_free(card);  		return err;  	} -	snd_card_set_dev(card, &pdev->dev);  	if ((err = snd_audiodrive_probe(card, dev)) < 0) {  		snd_card_free(card);  		return err; @@ -2342,7 +2341,7 @@ static int snd_audiodrive_pnpc_detect(struct pnp_card_link *pcard,  	if (dev >= SNDRV_CARDS)  		return -ENODEV; -	res = snd_es18xx_card_new(dev, &card); +	res = snd_es18xx_card_new(&pcard->card->dev, dev, &card);  	if (res < 0)  		return res; @@ -2350,7 +2349,6 @@ static int snd_audiodrive_pnpc_detect(struct pnp_card_link *pcard,  		snd_card_free(card);  		return res;  	} -	snd_card_set_dev(card, &pcard->card->dev);  	if ((res = snd_audiodrive_probe(card, dev)) < 0) {  		snd_card_free(card);  		return res;  | 
