Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a17ac45a authored by Krzysztof Helt's avatar Krzysztof Helt Committed by Takashi Iwai
Browse files

ALSA: ad1816a: enable hardware timer



Enable hardware timer with 10 usec resolution.

Signed-off-by: default avatarKrzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent aa9c293a
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -169,5 +169,7 @@ extern int snd_ad1816a_create(struct snd_card *card, unsigned long port,

extern int snd_ad1816a_pcm(struct snd_ad1816a *chip, int device, struct snd_pcm **rpcm);
extern int snd_ad1816a_mixer(struct snd_ad1816a *chip);
extern int snd_ad1816a_timer(struct snd_ad1816a *chip, int device,
			     struct snd_timer **rtimer);

#endif	/* __SOUND_AD1816A_H */
+7 −0
Original line number Diff line number Diff line
@@ -156,6 +156,7 @@ static int __devinit snd_card_ad1816a_probe(int dev, struct pnp_card_link *pcard
	struct snd_card_ad1816a *acard;
	struct snd_ad1816a *chip;
	struct snd_opl3 *opl3;
	struct snd_timer *timer;

	if ((card = snd_card_new(index[dev], id[dev], THIS_MODULE,
				 sizeof(struct snd_card_ad1816a))) == NULL)
@@ -194,6 +195,12 @@ static int __devinit snd_card_ad1816a_probe(int dev, struct pnp_card_link *pcard
		return error;
	}

	error = snd_ad1816a_timer(chip, 0, &timer);
	if (error < 0) {
		snd_card_free(card);
		return error;
	}

	if (mpu_port[dev] > 0) {
		if (snd_mpu401_uart_new(card, 0, MPU401_HW_MPU401,
					mpu_port[dev], 0, mpu_irq[dev], IRQF_DISABLED,
+0 −5
Original line number Diff line number Diff line
@@ -377,7 +377,6 @@ static struct snd_pcm_hardware snd_ad1816a_capture = {
	.fifo_size =		0,
};

#if 0 /* not used now */
static int snd_ad1816a_timer_close(struct snd_timer *timer)
{
	struct snd_ad1816a *chip = snd_timer_chip(timer);
@@ -442,8 +441,6 @@ static struct snd_timer_hardware snd_ad1816a_timer_table = {
	.start =	snd_ad1816a_timer_start,
	.stop =		snd_ad1816a_timer_stop,
};
#endif /* not used now */


static int snd_ad1816a_playback_open(struct snd_pcm_substream *substream)
{
@@ -687,7 +684,6 @@ int __devinit snd_ad1816a_pcm(struct snd_ad1816a *chip, int device, struct snd_p
	return 0;
}

#if 0 /* not used now */
int __devinit snd_ad1816a_timer(struct snd_ad1816a *chip, int device, struct snd_timer **rtimer)
{
	struct snd_timer *timer;
@@ -709,7 +705,6 @@ int __devinit snd_ad1816a_timer(struct snd_ad1816a *chip, int device, struct snd
		*rtimer = timer;
	return 0;
}
#endif /* not used now */

/*
 *