diff options
author | Takashi Iwai <tiwai@suse.de> | 2011-06-14 12:37:06 (GMT) |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2011-06-14 12:37:06 (GMT) |
commit | b3c705aa9e9147a30009bdf6ba853aa7fe138e58 (patch) | |
tree | 27e1543b2a0e441a3929b51a48bf64b77c8f06b7 /include/sound | |
parent | 30bdee0259093e114c711943902c834e5c3326c5 (diff) | |
download | linux-b3c705aa9e9147a30009bdf6ba853aa7fe138e58.tar.xz |
ALSA: rawmidi - Use workq for event handling
Kill tasklet usage in rawmidi core code. Use workq for the event callback
instead of tasklet (which is used only in core/seq/seq_midi.c).
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'include/sound')
-rw-r--r-- | include/sound/rawmidi.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/include/sound/rawmidi.h b/include/sound/rawmidi.h index 2480e7d..6b14359 100644 --- a/include/sound/rawmidi.h +++ b/include/sound/rawmidi.h @@ -27,6 +27,7 @@ #include <linux/spinlock.h> #include <linux/wait.h> #include <linux/mutex.h> +#include <linux/workqueue.h> #if defined(CONFIG_SND_SEQUENCER) || defined(CONFIG_SND_SEQUENCER_MODULE) #include "seq_device.h" @@ -63,6 +64,7 @@ struct snd_rawmidi_global_ops { }; struct snd_rawmidi_runtime { + struct snd_rawmidi_substream *substream; unsigned int drain: 1, /* drain stage */ oss: 1; /* OSS compatible mode */ /* midi stream buffer */ @@ -79,7 +81,7 @@ struct snd_rawmidi_runtime { /* event handler (new bytes, input only) */ void (*event)(struct snd_rawmidi_substream *substream); /* defers calls to event [input] or ops->trigger [output] */ - struct tasklet_struct tasklet; + struct work_struct event_work; /* private data */ void *private_data; void (*private_free)(struct snd_rawmidi_substream *substream); |