summaryrefslogtreecommitdiff
path: root/sound/pci/hda/hda_beep.h
diff options
context:
space:
mode:
authorJaroslav Kysela <perex@perex.cz>2009-11-03 16:29:50 +0300
committerTakashi Iwai <tiwai@suse.de>2009-11-16 13:35:00 +0300
commit13dab0808bb41b18888e1758a060a685deee1f30 (patch)
tree3d0828a0c537d9ba9934562631816a4671a3bf56 /sound/pci/hda/hda_beep.h
parent123c07aeddd71fbb295842a8c19866e780b9a100 (diff)
downloadlinux-13dab0808bb41b18888e1758a060a685deee1f30.tar.xz
ALSA: hda_intel: Digital PC Beep - delay input device unregistration
The massive register/unregister calls for input device layer might be overkill. Delay unregister call by one HZ as workaround. Also, as benefit, beep->enabled variable is changed immediately now (not from workqueue). Signed-off-by: Jaroslav Kysela <perex@perex.cz> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/hda/hda_beep.h')
-rw-r--r--sound/pci/hda/hda_beep.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/sound/pci/hda/hda_beep.h b/sound/pci/hda/hda_beep.h
index 68465f679d8c..53eba8d8414d 100644
--- a/sound/pci/hda/hda_beep.h
+++ b/sound/pci/hda/hda_beep.h
@@ -34,7 +34,8 @@ struct hda_beep {
unsigned int enabled:1;
unsigned int request_enable:1;
unsigned int linear_tone:1; /* linear tone for IDT/STAC codec */
- struct work_struct register_work; /* scheduled task for beep event */
+ struct work_struct register_work; /* registration work */
+ struct delayed_work unregister_work; /* unregistration work */
struct work_struct beep_work; /* scheduled task for beep event */
struct mutex mutex;
};