diff options
Diffstat (limited to 'sound/drivers/pcsp/pcsp.c')
| -rw-r--r-- | sound/drivers/pcsp/pcsp.c | 9 | 
1 files changed, 4 insertions, 5 deletions
diff --git a/sound/drivers/pcsp/pcsp.c b/sound/drivers/pcsp/pcsp.c index 1c19cd7ad26..36808cdab06 100644 --- a/sound/drivers/pcsp/pcsp.c +++ b/sound/drivers/pcsp/pcsp.c @@ -46,8 +46,9 @@ static int snd_pcsp_create(struct snd_card *card)  	int err;  	int div, min_div, order; +	hrtimer_get_res(CLOCK_MONOTONIC, &tp); +  	if (!nopcm) { -		hrtimer_get_res(CLOCK_MONOTONIC, &tp);  		if (tp.tv_sec || tp.tv_nsec > PCSP_MAX_PERIOD_NS) {  			printk(KERN_ERR "PCSP: Timer resolution is not sufficient "  				"(%linS)\n", tp.tv_nsec); @@ -104,7 +105,7 @@ static int snd_card_pcsp_probe(int devnum, struct device *dev)  	hrtimer_init(&pcsp_chip.timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);  	pcsp_chip.timer.function = pcsp_do_timer; -	err = snd_card_create(index, id, THIS_MODULE, 0, &card); +	err = snd_card_new(dev, index, id, THIS_MODULE, 0, &card);  	if (err < 0)  		return err; @@ -126,8 +127,6 @@ static int snd_card_pcsp_probe(int devnum, struct device *dev)  		return err;  	} -	snd_card_set_dev(pcsp_chip.card, dev); -  	strcpy(card->driver, "PC-Speaker");  	strcpy(card->shortname, "pcsp");  	sprintf(card->longname, "Internal PC-Speaker at port 0x%x", @@ -187,8 +186,8 @@ static int pcsp_probe(struct platform_device *dev)  static int pcsp_remove(struct platform_device *dev)  {  	struct snd_pcsp *chip = platform_get_drvdata(dev); -	alsa_card_pcsp_exit(chip);  	pcspkr_input_remove(chip->input_dev); +	alsa_card_pcsp_exit(chip);  	return 0;  }  | 
