blob: 6b20a3d5ccb33b04648842a4010629e080f2dc8d [file] [log] [blame]
/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */
/*
* Copyright (c) 2019 Amlogic, Inc. All rights reserved.
*/
#ifndef __ATV_DEMOD_MONITOR_H__
#define __ATV_DEMOD_MONITOR_H__
#include <linux/workqueue.h>
#include <linux/timer.h>
#include <linux/mutex.h>
#define MONI_DISABLE (0)
#define MONI_ENABLE (1)
#define MONI_PAUSE (2)
struct atv_demod_monitor {
struct work_struct work;
struct timer_list timer;
struct dvb_frontend *fe;
struct mutex mtx;
int state;
bool lock;
unsigned int lock_cnt;
void (*disable)(struct atv_demod_monitor *monitor);
void (*enable)(struct atv_demod_monitor *monitor);
void (*pause)(struct atv_demod_monitor *monitor);
};
extern void atv_demod_monitor_init(struct atv_demod_monitor *monitor);
#endif /* __ATV_DEMOD_MONITOR_H__ */