]> Pileus Git - ~andy/linux/blobdiff - sound/drivers/opl4/opl4_synth.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph...
[~andy/linux] / sound / drivers / opl4 / opl4_synth.c
index 49b9e240915c48d1f236644de16157db03a6f0fb..4b91adc0238ca4bc855065c2a0af32ef23d9cf33 100644 (file)
@@ -504,8 +504,7 @@ void snd_opl4_note_on(void *private_data, int note, int vel, struct snd_midi_cha
        spin_lock_irqsave(&opl4->reg_lock, flags);
        for (i = 0; i < voices; i++) {
                voice[i] = snd_opl4_get_voice(opl4);
-               list_del(&voice[i]->list);
-               list_add_tail(&voice[i]->list, &opl4->on_voices);
+               list_move_tail(&voice[i]->list, &opl4->on_voices);
                voice[i]->chan = chan;
                voice[i]->note = note;
                voice[i]->velocity = vel & 0x7f;
@@ -555,8 +554,7 @@ void snd_opl4_note_on(void *private_data, int note, int vel, struct snd_midi_cha
 
 static void snd_opl4_voice_off(struct snd_opl4 *opl4, struct opl4_voice *voice)
 {
-       list_del(&voice->list);
-       list_add_tail(&voice->list, &opl4->off_voices);
+       list_move_tail(&voice->list, &opl4->off_voices);
 
        voice->reg_misc &= ~OPL4_KEY_ON_BIT;
        snd_opl4_write(opl4, OPL4_REG_MISC + voice->number, voice->reg_misc);
@@ -571,8 +569,7 @@ void snd_opl4_note_off(void *private_data, int note, int vel, struct snd_midi_ch
 
 static void snd_opl4_terminate_voice(struct snd_opl4 *opl4, struct opl4_voice *voice)
 {
-       list_del(&voice->list);
-       list_add_tail(&voice->list, &opl4->off_voices);
+       list_move_tail(&voice->list, &opl4->off_voices);
 
        voice->reg_misc = (voice->reg_misc & ~OPL4_KEY_ON_BIT) | OPL4_DAMP_BIT;
        snd_opl4_write(opl4, OPL4_REG_MISC + voice->number, voice->reg_misc);