/* SPDX-License-Identifier: GPL-2.0 */ #ifndef fooptimerhfoo #define fooptimerhfoo struct ptimer_task { unsigned interval; unsigned times; void (*cb)(struct ptimer_task *); bool active; unsigned remain; struct list_head list; }; static inline void ptask_init(struct ptimer_task *ptask, unsigned interval, unsigned times, void (*cb)(struct ptimer_task *)) { ptask->interval = interval; ptask->times = times; ptask->cb = cb; ptask->active = false; } void ptimer_del_task(struct ptimer_task *ptask); void ptimer_add_task(struct ptimer_task *ptask); void ptimer_refdump(); void ptimer_delete(); void ptimer_init(); #endif