xref: /OK3568_Linux_fs/kernel/sound/pci/ctxfi/cttimer.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */
2*4882a593Smuzhiyun /*
3*4882a593Smuzhiyun  * Timer handling
4*4882a593Smuzhiyun  */
5*4882a593Smuzhiyun 
6*4882a593Smuzhiyun #ifndef __CTTIMER_H
7*4882a593Smuzhiyun #define __CTTIMER_H
8*4882a593Smuzhiyun 
9*4882a593Smuzhiyun #include <linux/spinlock.h>
10*4882a593Smuzhiyun #include <linux/timer.h>
11*4882a593Smuzhiyun #include <linux/list.h>
12*4882a593Smuzhiyun 
13*4882a593Smuzhiyun struct snd_pcm_substream;
14*4882a593Smuzhiyun struct ct_atc;
15*4882a593Smuzhiyun struct ct_atc_pcm;
16*4882a593Smuzhiyun 
17*4882a593Smuzhiyun struct ct_timer;
18*4882a593Smuzhiyun struct ct_timer_instance;
19*4882a593Smuzhiyun 
20*4882a593Smuzhiyun struct ct_timer *ct_timer_new(struct ct_atc *atc);
21*4882a593Smuzhiyun void ct_timer_free(struct ct_timer *atimer);
22*4882a593Smuzhiyun 
23*4882a593Smuzhiyun struct ct_timer_instance *
24*4882a593Smuzhiyun ct_timer_instance_new(struct ct_timer *atimer, struct ct_atc_pcm *apcm);
25*4882a593Smuzhiyun void ct_timer_instance_free(struct ct_timer_instance *ti);
26*4882a593Smuzhiyun void ct_timer_start(struct ct_timer_instance *ti);
27*4882a593Smuzhiyun void ct_timer_stop(struct ct_timer_instance *ti);
28*4882a593Smuzhiyun void ct_timer_prepare(struct ct_timer_instance *ti);
29*4882a593Smuzhiyun 
30*4882a593Smuzhiyun #endif /* __CTTIMER_H */
31