diff options
author | Jaroslav Kysela <perex@suse.cz> | 2005-08-16 11:09:05 +0200 |
---|---|---|
committer | Jaroslav Kysela <perex@suse.cz> | 2005-08-30 08:46:18 +0200 |
commit | a501dfa3a763451dedd583eb90a6c9e90d0e3a3c (patch) | |
tree | 4e7ce36dcef022ae6c29ef7461290fb32463a70c /sound/core/timer.c | |
parent | 47123197c5522f4ae3dc5914e7832dd047f9ddc8 (diff) | |
download | linux-a501dfa3a763451dedd583eb90a6c9e90d0e3a3c.tar.gz linux-a501dfa3a763451dedd583eb90a6c9e90d0e3a3c.tar.bz2 linux-a501dfa3a763451dedd583eb90a6c9e90d0e3a3c.zip |
[ALSA] Timer API - added SUSPEND/RESUME events
PCM Midlevel,Timer Midlevel,ALSA Core
- added SNDRV_TIMER_EVENT_SUSPEND / RESUME events
- changed timer events from PAUSE / CONTINUE in PCM midlevel to SUSPEND / RESUME
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Diffstat (limited to 'sound/core/timer.c')
-rw-r--r-- | sound/core/timer.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/sound/core/timer.c b/sound/core/timer.c index c3997e047214..56bd383a06c2 100644 --- a/sound/core/timer.c +++ b/sound/core/timer.c @@ -880,9 +880,11 @@ void snd_timer_notify(snd_timer_t *timer, enum sndrv_timer_event event, struct t struct list_head *p, *n; snd_runtime_check(timer->hw.flags & SNDRV_TIMER_HW_SLAVE, return); - snd_assert(event >= SNDRV_TIMER_EVENT_MSTART && event <= SNDRV_TIMER_EVENT_MPAUSE, return); + snd_assert(event >= SNDRV_TIMER_EVENT_MSTART && event <= SNDRV_TIMER_EVENT_MRESUME, return); spin_lock_irqsave(&timer->lock, flags); - if (event == SNDRV_TIMER_EVENT_MSTART || event == SNDRV_TIMER_EVENT_MCONTINUE) { + if (event == SNDRV_TIMER_EVENT_MSTART || + event == SNDRV_TIMER_EVENT_MCONTINUE || + event == SNDRV_TIMER_EVENT_MRESUME) { if (timer->hw.c_resolution) resolution = timer->hw.c_resolution(timer); else @@ -1555,10 +1557,14 @@ static int snd_timer_user_params(struct file *file, snd_timer_params_t __user *_ (1<<SNDRV_TIMER_EVENT_STOP)| (1<<SNDRV_TIMER_EVENT_CONTINUE)| (1<<SNDRV_TIMER_EVENT_PAUSE)| + (1<<SNDRV_TIMER_EVENT_SUSPEND)| + (1<<SNDRV_TIMER_EVENT_RESUME)| (1<<SNDRV_TIMER_EVENT_MSTART)| (1<<SNDRV_TIMER_EVENT_MSTOP)| (1<<SNDRV_TIMER_EVENT_MCONTINUE)| - (1<<SNDRV_TIMER_EVENT_MPAUSE))) { + (1<<SNDRV_TIMER_EVENT_MPAUSE| + (1<<SNDRV_TIMER_EVENT_MSUSPEND| + (1<<SNDRV_TIMER_EVENT_MRESUME))) { err = -EINVAL; goto _end; } |