diff options
author | Takashi Iwai <tiwai@suse.de> | 2017-11-13 15:43:04 +0100 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2017-11-13 15:43:13 +0100 |
commit | c429bda21ffafb28f02fb2eb4055b4ab6879ed58 (patch) | |
tree | 80715bf534bfa3bcb69ef77cf1dc5f9d98919b44 /sound/core/timer.c | |
parent | 75ee94b20b46459e3d29f5ac2c3af3cebdeef777 (diff) | |
parent | 9718a29d40b7e5ae4692796eb23c54f25559d35e (diff) | |
download | linux-c429bda21ffafb28f02fb2eb4055b4ab6879ed58.tar.gz linux-c429bda21ffafb28f02fb2eb4055b4ab6879ed58.tar.bz2 linux-c429bda21ffafb28f02fb2eb4055b4ab6879ed58.zip |
Merge branch 'for-next' into for-linus
Pull 4.15 updates to take over the previous urgent fixes.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/core/timer.c')
-rw-r--r-- | sound/core/timer.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/sound/core/timer.c b/sound/core/timer.c index 15e82a656d96..ee09dace8bb1 100644 --- a/sound/core/timer.c +++ b/sound/core/timer.c @@ -1069,15 +1069,17 @@ EXPORT_SYMBOL(snd_timer_global_register); struct snd_timer_system_private { struct timer_list tlist; + struct snd_timer *snd_timer; unsigned long last_expires; unsigned long last_jiffies; unsigned long correction; }; -static void snd_timer_s_function(unsigned long data) +static void snd_timer_s_function(struct timer_list *t) { - struct snd_timer *timer = (struct snd_timer *)data; - struct snd_timer_system_private *priv = timer->private_data; + struct snd_timer_system_private *priv = from_timer(priv, t, + tlist); + struct snd_timer *timer = priv->snd_timer; unsigned long jiff = jiffies; if (time_after(jiff, priv->last_expires)) priv->correction += (long)jiff - (long)priv->last_expires; @@ -1159,7 +1161,8 @@ static int snd_timer_register_system(void) snd_timer_free(timer); return -ENOMEM; } - setup_timer(&priv->tlist, snd_timer_s_function, (unsigned long) timer); + priv->snd_timer = timer; + timer_setup(&priv->tlist, snd_timer_s_function, 0); timer->private_data = priv; timer->private_free = snd_timer_free_system; return snd_timer_global_register(timer); |