mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-17 01:34:00 +08:00
ALSA: drivers: Convert timers to use timer_setup()
In preparation for unconditionally passing the struct timer_list pointer to all timer callbacks, switch to using the new timer_setup() and from_timer() to pass the timer pointer explicitly. Signed-off-by: Kees Cook <keescook@chromium.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
1a01901575
commit
bc47ba90b0
@ -529,9 +529,9 @@ static unsigned int loopback_pos_update(struct loopback_cable *cable)
|
|||||||
return running;
|
return running;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void loopback_timer_function(unsigned long data)
|
static void loopback_timer_function(struct timer_list *t)
|
||||||
{
|
{
|
||||||
struct loopback_pcm *dpcm = (struct loopback_pcm *)data;
|
struct loopback_pcm *dpcm = from_timer(dpcm, t, timer);
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
|
|
||||||
spin_lock_irqsave(&dpcm->cable->lock, flags);
|
spin_lock_irqsave(&dpcm->cable->lock, flags);
|
||||||
@ -675,8 +675,7 @@ static int loopback_open(struct snd_pcm_substream *substream)
|
|||||||
}
|
}
|
||||||
dpcm->loopback = loopback;
|
dpcm->loopback = loopback;
|
||||||
dpcm->substream = substream;
|
dpcm->substream = substream;
|
||||||
setup_timer(&dpcm->timer, loopback_timer_function,
|
timer_setup(&dpcm->timer, loopback_timer_function, 0);
|
||||||
(unsigned long)dpcm);
|
|
||||||
|
|
||||||
cable = loopback->cables[substream->number][dev];
|
cable = loopback->cables[substream->number][dev];
|
||||||
if (!cable) {
|
if (!cable) {
|
||||||
|
@ -306,9 +306,9 @@ static int dummy_systimer_prepare(struct snd_pcm_substream *substream)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void dummy_systimer_callback(unsigned long data)
|
static void dummy_systimer_callback(struct timer_list *t)
|
||||||
{
|
{
|
||||||
struct dummy_systimer_pcm *dpcm = (struct dummy_systimer_pcm *)data;
|
struct dummy_systimer_pcm *dpcm = from_timer(dpcm, t, timer);
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
int elapsed = 0;
|
int elapsed = 0;
|
||||||
|
|
||||||
@ -343,8 +343,7 @@ static int dummy_systimer_create(struct snd_pcm_substream *substream)
|
|||||||
if (!dpcm)
|
if (!dpcm)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
substream->runtime->private_data = dpcm;
|
substream->runtime->private_data = dpcm;
|
||||||
setup_timer(&dpcm->timer, dummy_systimer_callback,
|
timer_setup(&dpcm->timer, dummy_systimer_callback, 0);
|
||||||
(unsigned long) dpcm);
|
|
||||||
spin_lock_init(&dpcm->lock);
|
spin_lock_init(&dpcm->lock);
|
||||||
dpcm->substream = substream;
|
dpcm->substream = substream;
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -169,9 +169,9 @@ EXPORT_SYMBOL(snd_mpu401_uart_interrupt_tx);
|
|||||||
* timer callback
|
* timer callback
|
||||||
* reprogram the timer and call the interrupt job
|
* reprogram the timer and call the interrupt job
|
||||||
*/
|
*/
|
||||||
static void snd_mpu401_uart_timer(unsigned long data)
|
static void snd_mpu401_uart_timer(struct timer_list *t)
|
||||||
{
|
{
|
||||||
struct snd_mpu401 *mpu = (struct snd_mpu401 *)data;
|
struct snd_mpu401 *mpu = from_timer(mpu, t, timer);
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
|
|
||||||
spin_lock_irqsave(&mpu->timer_lock, flags);
|
spin_lock_irqsave(&mpu->timer_lock, flags);
|
||||||
@ -191,8 +191,7 @@ static void snd_mpu401_uart_add_timer (struct snd_mpu401 *mpu, int input)
|
|||||||
|
|
||||||
spin_lock_irqsave (&mpu->timer_lock, flags);
|
spin_lock_irqsave (&mpu->timer_lock, flags);
|
||||||
if (mpu->timer_invoked == 0) {
|
if (mpu->timer_invoked == 0) {
|
||||||
setup_timer(&mpu->timer, snd_mpu401_uart_timer,
|
timer_setup(&mpu->timer, snd_mpu401_uart_timer, 0);
|
||||||
(unsigned long)mpu);
|
|
||||||
mod_timer(&mpu->timer, 1 + jiffies);
|
mod_timer(&mpu->timer, 1 + jiffies);
|
||||||
}
|
}
|
||||||
mpu->timer_invoked |= input ? MPU401_MODE_INPUT_TIMER :
|
mpu->timer_invoked |= input ? MPU401_MODE_INPUT_TIMER :
|
||||||
|
@ -406,10 +406,10 @@ static void snd_mtpav_input_trigger(struct snd_rawmidi_substream *substream, int
|
|||||||
* timer interrupt for outputs
|
* timer interrupt for outputs
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static void snd_mtpav_output_timer(unsigned long data)
|
static void snd_mtpav_output_timer(struct timer_list *t)
|
||||||
{
|
{
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
struct mtpav *chip = (struct mtpav *)data;
|
struct mtpav *chip = from_timer(chip, t, timer);
|
||||||
int p;
|
int p;
|
||||||
|
|
||||||
spin_lock_irqsave(&chip->spinlock, flags);
|
spin_lock_irqsave(&chip->spinlock, flags);
|
||||||
@ -707,8 +707,7 @@ static int snd_mtpav_probe(struct platform_device *dev)
|
|||||||
mtp_card->share_irq = 0;
|
mtp_card->share_irq = 0;
|
||||||
mtp_card->inmidistate = 0;
|
mtp_card->inmidistate = 0;
|
||||||
mtp_card->outmidihwport = 0xffffffff;
|
mtp_card->outmidihwport = 0xffffffff;
|
||||||
setup_timer(&mtp_card->timer, snd_mtpav_output_timer,
|
timer_setup(&mtp_card->timer, snd_mtpav_output_timer, 0);
|
||||||
(unsigned long) mtp_card);
|
|
||||||
|
|
||||||
card->private_free = snd_mtpav_free;
|
card->private_free = snd_mtpav_free;
|
||||||
|
|
||||||
|
@ -238,10 +238,10 @@ static int opl3_get_voice(struct snd_opl3 *opl3, int instr_4op,
|
|||||||
/*
|
/*
|
||||||
* System timer interrupt function
|
* System timer interrupt function
|
||||||
*/
|
*/
|
||||||
void snd_opl3_timer_func(unsigned long data)
|
void snd_opl3_timer_func(struct timer_list *t)
|
||||||
{
|
{
|
||||||
|
|
||||||
struct snd_opl3 *opl3 = (struct snd_opl3 *)data;
|
struct snd_opl3 *opl3 = from_timer(opl3, t, tlist);
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
int again = 0;
|
int again = 0;
|
||||||
int i;
|
int i;
|
||||||
|
@ -248,7 +248,7 @@ static int snd_opl3_seq_probe(struct device *_dev)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* setup system timer */
|
/* setup system timer */
|
||||||
setup_timer(&opl3->tlist, snd_opl3_timer_func, (unsigned long) opl3);
|
timer_setup(&opl3->tlist, snd_opl3_timer_func, 0);
|
||||||
spin_lock_init(&opl3->sys_timer_lock);
|
spin_lock_init(&opl3->sys_timer_lock);
|
||||||
opl3->sys_timer_status = 0;
|
opl3->sys_timer_status = 0;
|
||||||
|
|
||||||
|
@ -37,7 +37,7 @@ void snd_opl3_nrpn(void *p, struct snd_midi_channel *chan, struct snd_midi_chann
|
|||||||
void snd_opl3_sysex(void *p, unsigned char *buf, int len, int parsed, struct snd_midi_channel_set *chset);
|
void snd_opl3_sysex(void *p, unsigned char *buf, int len, int parsed, struct snd_midi_channel_set *chset);
|
||||||
|
|
||||||
void snd_opl3_calc_volume(unsigned char *reg, int vel, struct snd_midi_channel *chan);
|
void snd_opl3_calc_volume(unsigned char *reg, int vel, struct snd_midi_channel *chan);
|
||||||
void snd_opl3_timer_func(unsigned long data);
|
void snd_opl3_timer_func(struct timer_list *t);
|
||||||
|
|
||||||
/* Prototypes for opl3_drums.c */
|
/* Prototypes for opl3_drums.c */
|
||||||
void snd_opl3_load_drums(struct snd_opl3 *opl3);
|
void snd_opl3_load_drums(struct snd_opl3 *opl3);
|
||||||
|
@ -309,12 +309,12 @@ static irqreturn_t snd_uart16550_interrupt(int irq, void *dev_id)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* When the polling mode, this function calls snd_uart16550_io_loop. */
|
/* When the polling mode, this function calls snd_uart16550_io_loop. */
|
||||||
static void snd_uart16550_buffer_timer(unsigned long data)
|
static void snd_uart16550_buffer_timer(struct timer_list *t)
|
||||||
{
|
{
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
struct snd_uart16550 *uart;
|
struct snd_uart16550 *uart;
|
||||||
|
|
||||||
uart = (struct snd_uart16550 *)data;
|
uart = from_timer(uart, t, buffer_timer);
|
||||||
spin_lock_irqsave(&uart->open_lock, flags);
|
spin_lock_irqsave(&uart->open_lock, flags);
|
||||||
snd_uart16550_del_timer(uart);
|
snd_uart16550_del_timer(uart);
|
||||||
snd_uart16550_io_loop(uart);
|
snd_uart16550_io_loop(uart);
|
||||||
@ -828,8 +828,7 @@ static int snd_uart16550_create(struct snd_card *card,
|
|||||||
uart->prev_in = 0;
|
uart->prev_in = 0;
|
||||||
uart->rstatus = 0;
|
uart->rstatus = 0;
|
||||||
memset(uart->prev_status, 0x80, sizeof(unsigned char) * SNDRV_SERIAL_MAX_OUTS);
|
memset(uart->prev_status, 0x80, sizeof(unsigned char) * SNDRV_SERIAL_MAX_OUTS);
|
||||||
setup_timer(&uart->buffer_timer, snd_uart16550_buffer_timer,
|
timer_setup(&uart->buffer_timer, snd_uart16550_buffer_timer, 0);
|
||||||
(unsigned long)uart);
|
|
||||||
uart->timer_running = 0;
|
uart->timer_running = 0;
|
||||||
|
|
||||||
/* Register device */
|
/* Register device */
|
||||||
|
Loading…
Reference in New Issue
Block a user