MODULE_DEVICES("{{AMD,Au1000 AC'97}}");
#endif
-#define chip_t au1000_t
-
#define PLAYBACK 0
#define CAPTURE 1
#define AC97_SLOT_3 0x01
u32 volatile cmd;
u16 volatile data;
int i;
- spin_lock(au1000->ac97_lock);
+ spin_lock(&au1000->ac97_lock);
/* would rather use the interupt than this polling but it works and I can't
get the interupt driven case to work efficiently */
for (i = 0; i < 0x5000; i++)
}
data = au1000->ac97_ioport->cmd & 0xffff;
- spin_unlock(au1000->ac97_lock);
+ spin_unlock(&au1000->ac97_lock);
return data;
{
u32 cmd;
int i;
- spin_lock(au1000->ac97_lock);
+ spin_lock(&au1000->ac97_lock);
/* would rather use the interupt than this polling but it works and I can't
get the interupt driven case to work efficiently */
for (i = 0; i < 0x5000; i++)
cmd &= ~AC97C_READ;
cmd |= ((u32) val << AC97C_WD_BIT);
au1000->ac97_ioport->cmd = cmd;
- spin_unlock(au1000->ac97_lock);
+ spin_unlock(&au1000->ac97_lock);
}
static void
snd_au1000_ac97_free(ac97_t *ac97)
/* put internal AC97 block into reset */
au1000->ac97_ioport->cntrl = AC97C_RS;
au1000->ac97_ioport = NULL;
- release_resource(au1000->ac97_res_port);
- kfree_nocheck(au1000->ac97_res_port);
+ release_and_free_resource(au1000->ac97_res_port);
}
if (au1000->stream[PLAYBACK]->dma >= 0)