ALSA: drivers: Convert timers to use timer_setup()
PATCH 1/1 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.
Cc Jaroslav Kysela <[email protected]>
Cc Takashi Iwai <[email protected]>
Cc Arvind Yadav <[email protected]>
Cc Bhumika Goyal <[email protected]>
Cc Takashi Sakamoto <[email protected]>
Cc Markus Elfring <[email protected]>
Cc David Howells <[email protected]>
Signed-off-by Kees Cook <[email protected]>
--- sound/drivers/aloop.c | 7 +++---- sound/drivers/dummy.c | 7 +++---- sound/drivers/mpu401/mpu401_uart.c | 7 +++---- sound/drivers/mtpav.c | 7 +++---- sound/drivers/opl3/opl3_midi.c | 4 ++-- sound/drivers/opl3/opl3_seq.c | 2 +- sound/drivers/opl3/opl3_voice.h | 2 +- sound/drivers/serial-u16550.c | 7 +++---- 8 files changed, 19 insertions(+), 24 deletions(-)
sound/drivers/aloop.c +3 -4
@@ -529,9 +529,9 @@ static unsigned int loopback_pos_update(struct loopback_cable *cable)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;spin_lock_irqsave (&dpcm->cable->lock, flags);
@@ -675,8 +675,7 @@ static int loopback_open(struct snd_pcm_substream *substream) } dpcm->loopback = loopback; dpcm->substream = substream; -setup_timer (&dpcm->timer, loopback_timer_function, - (unsigned long )dpcm); +timer_setup (&dpcm->timer, loopback_timer_function,0 ); cable = loopback->cables[substream->number][dev];if (!cable) {
sound/drivers/dummy.c +3 -4
@@ -306,9 +306,9 @@ static int dummy_systimer_prepare(struct snd_pcm_substream *substream)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;int elapsed =0 ;
@@ -343,8 +343,7 @@ static int dummy_systimer_create(struct snd_pcm_substream *substream)if (!dpcm)return -ENOMEM ; substream->runtime->private_data = dpcm; -setup_timer (&dpcm->timer, dummy_systimer_callback, - (unsigned long ) dpcm); +timer_setup (&dpcm->timer, dummy_systimer_callback,0 );spin_lock_init (&dpcm->lock); dpcm->substream = substream;return 0 ;
sound/drivers/mpu401/mpu401_uart.c +3 -4
@@ -169,9 +169,9 @@ EXPORT_SYMBOL(snd_mpu401_uart_interrupt_tx);* timer callback * 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;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);if (mpu->timer_invoked ==0 ) { -setup_timer (&mpu->timer, snd_mpu401_uart_timer, - (unsigned long )mpu); +timer_setup (&mpu->timer, snd_mpu401_uart_timer,0 );mod_timer (&mpu->timer,1 + jiffies); } mpu->timer_invoked |= input ? MPU401_MODE_INPUT_TIMER :
sound/drivers/mtpav.c +3 -4
@@ -406,10 +406,10 @@ static void snd_mtpav_input_trigger(struct snd_rawmidi_substream *substream, int* 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; -struct mtpav *chip = (struct mtpav *)data; +struct mtpav *chip =from_timer (chip, t, timer);int p;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->inmidistate =0 ; mtp_card->outmidihwport =0xffffffff ; -setup_timer (&mtp_card->timer, snd_mtpav_output_timer, - (unsigned long ) mtp_card); +timer_setup (&mtp_card->timer, snd_mtpav_output_timer,0 ); card->private_free = snd_mtpav_free;
sound/drivers/opl3/opl3_midi.c +2 -2
@@ -238,10 +238,10 @@ static int opl3_get_voice(struct snd_opl3 *opl3, int instr_4op,/* * 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;int again =0 ;int i;
sound/drivers/opl3/opl3_seq.c +1 -1
@@ -248,7 +248,7 @@ static int snd_opl3_seq_probe(struct device *_dev) }/* 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); opl3->sys_timer_status =0 ;
sound/drivers/opl3/opl3_voice.h +1 -1
@@ -37,7 +37,7 @@ void snd_opl3_nrpn(void *p, struct snd_midi_channel *chan, struct snd_midi_channvoid 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_timer_func (unsigned long data); +void snd_opl3_timer_func (struct timer_list *t);/* Prototypes for opl3_drums.c */ void snd_opl3_load_drums (struct snd_opl3 *opl3);
sound/drivers/serial-u16550.c +3 -4
@@ -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. */ -static void snd_uart16550_buffer_timer (unsigned long data) +static void snd_uart16550_buffer_timer (struct timer_list *t) {unsigned long flags;struct snd_uart16550 *uart; - uart = (struct snd_uart16550 *)data; + uart =from_timer (uart, t, buffer_timer);spin_lock_irqsave (&uart->open_lock, flags);snd_uart16550_del_timer (uart);snd_uart16550_io_loop (uart);
@@ -828,8 +828,7 @@ static int snd_uart16550_create(struct snd_card *card, uart->prev_in =0 ; uart->rstatus =0 ;memset (uart->prev_status,0x80 ,sizeof (unsigned char ) *SNDRV_SERIAL_MAX_OUTS ); -setup_timer (&uart->buffer_timer, snd_uart16550_buffer_timer, - (unsigned long )uart); +timer_setup (&uart->buffer_timer, snd_uart16550_buffer_timer,0 ); uart->timer_running =0 ;/* Register device */
Signature · 6 lines
2.7.4 -- Kees Cook Pixel Security
Takashi Iwai
AppliedQuoted 5 lines · Kees Cook
In preparation for unconditionally passing the struct
timer_listpointer to all timer callbacks, switch to using the newtimer_setup()andfrom_timer()to pass the timer pointer explicitly.
Quoted 9 lines
Cc Jaroslav Kysela <[email protected]>Cc Takashi Iwai <[email protected]>Cc Arvind Yadav <[email protected]>Cc Bhumika Goyal <[email protected]>Cc Takashi Sakamoto <[email protected]>Cc Markus Elfring <[email protected]>Cc David Howells <[email protected]>Signed-off-by Kees Cook <[email protected]>
Applied, thanks.
Takashi