summaryrefslogtreecommitdiff
path: root/sound/core/rtctimer.c
diff options
context:
space:
mode:
authorClemens Ladisch <clemens@ladisch.de>2005-10-12 17:12:31 +0200
committerJaroslav Kysela <perex@suse.cz>2005-11-04 13:18:43 +0100
commitde24214d0c8e78134875752619f99b9e5824c196 (patch)
tree147f8cdcf5dfb3be2d95409f7ac44af101d2e0a5 /sound/core/rtctimer.c
parent2fd43d1159d22395aae01836c4b13ee5265a9b6b (diff)
downloadlwn-de24214d0c8e78134875752619f99b9e5824c196.tar.gz
lwn-de24214d0c8e78134875752619f99b9e5824c196.zip
[ALSA] timers: add module refcounting for global timers
Modules: RTC timer driver,Timer Midlevel Add a module pointer to the timer structure and use it for refcounting instead of the card's module pointer to prevent the global timer modules (rtctimer and hpetimer) from being removed while in use. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Diffstat (limited to 'sound/core/rtctimer.c')
-rw-r--r--sound/core/rtctimer.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sound/core/rtctimer.c b/sound/core/rtctimer.c
index 8762ff8938c2..c3c18568207e 100644
--- a/sound/core/rtctimer.c
+++ b/sound/core/rtctimer.c
@@ -124,7 +124,8 @@ static int __init rtctimer_init(void)
if (rtctimer_freq < 2 || rtctimer_freq > 8192 ||
(rtctimer_freq & (rtctimer_freq - 1)) != 0) {
- snd_printk(KERN_ERR "rtctimer: invalid frequency %d\n", rtctimer_freq);
+ snd_printk(KERN_ERR "rtctimer: invalid frequency %d\n",
+ rtctimer_freq);
return -EINVAL;
}
@@ -133,6 +134,7 @@ static int __init rtctimer_init(void)
if (err < 0)
return err;
+ timer->module = THIS_MODULE;
strcpy(timer->name, "RTC timer");
timer->hw = rtc_hw;
timer->hw.resolution = NANO_SEC / rtctimer_freq;