18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Timer handling 48c2ecf20Sopenharmony_ci */ 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ci#ifndef __CTTIMER_H 78c2ecf20Sopenharmony_ci#define __CTTIMER_H 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ci#include <linux/spinlock.h> 108c2ecf20Sopenharmony_ci#include <linux/timer.h> 118c2ecf20Sopenharmony_ci#include <linux/list.h> 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_cistruct snd_pcm_substream; 148c2ecf20Sopenharmony_cistruct ct_atc; 158c2ecf20Sopenharmony_cistruct ct_atc_pcm; 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_cistruct ct_timer; 188c2ecf20Sopenharmony_cistruct ct_timer_instance; 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_cistruct ct_timer *ct_timer_new(struct ct_atc *atc); 218c2ecf20Sopenharmony_civoid ct_timer_free(struct ct_timer *atimer); 228c2ecf20Sopenharmony_ci 238c2ecf20Sopenharmony_cistruct ct_timer_instance * 248c2ecf20Sopenharmony_cict_timer_instance_new(struct ct_timer *atimer, struct ct_atc_pcm *apcm); 258c2ecf20Sopenharmony_civoid ct_timer_instance_free(struct ct_timer_instance *ti); 268c2ecf20Sopenharmony_civoid ct_timer_start(struct ct_timer_instance *ti); 278c2ecf20Sopenharmony_civoid ct_timer_stop(struct ct_timer_instance *ti); 288c2ecf20Sopenharmony_civoid ct_timer_prepare(struct ct_timer_instance *ti); 298c2ecf20Sopenharmony_ci 308c2ecf20Sopenharmony_ci#endif /* __CTTIMER_H */ 31