linux/drivers/staging/media/av7110/av7110.h

/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _AV7110_H_
#define _AV7110_H_

#include <linux/interrupt.h>
#include <linux/socket.h>
#include <linux/netdevice.h>
#include <linux/i2c.h>
#include <linux/input.h>
#include <linux/time.h>

#include <linux/dvb/video.h>
#include <linux/dvb/audio.h>
#include <linux/dvb/dmx.h>
#include <linux/dvb/ca.h>
#include <linux/dvb/osd.h>
#include <linux/dvb/net.h>
#include <linux/mutex.h>

#include <media/dvbdev.h>
#include <media/demux.h>
#include <media/dvb_demux.h>
#include <media/dmxdev.h>
#include "dvb_filter.h"
#include <media/dvb_net.h>
#include <media/dvb_ringbuffer.h>
#include <media/dvb_frontend.h>
#include "ves1820.h"
#include "ves1x93.h"
#include "stv0299.h"
#include "tda8083.h"
#include "sp8870.h"
#include "stv0297.h"
#include "l64781.h"

#include <media/drv-intf/saa7146_vv.h>

#define ANALOG_TUNER_VES1820
#define ANALOG_TUNER_STV0297

extern int av7110_debug;

#ifdef pr_fmt
#undef pr_fmt
#endif
#define pr_fmt(fmt)

#define dprintk(level, fmt, arg...)

#define MAXFILT

enum {};

enum av7110_video_mode {};

struct av7110_p2t {};

/* video MPEG decoder events: */
/* (code copied from dvb_frontend.c, should maybe be factored out...) */
#define MAX_VIDEO_EVENT
struct dvb_video_events {};

struct av7110;

/* infrared remote control */
struct infrared {};

/* place to store all the necessary device information */
struct av7110 {};

int ChangePIDs(struct av7110 *av7110, u16 vpid, u16 apid, u16 ttpid,
	       u16 subpid, u16 pcrpid);

void av7110_ir_handler(struct av7110 *av7110, u32 ircom);
int av7110_set_ir_config(struct av7110 *av7110);
int av7110_ir_init(struct av7110 *av7110);
void av7110_ir_exit(struct av7110 *av7110);

/* msp3400 i2c subaddresses */
#define MSP_WR_DEM
#define MSP_RD_DEM
#define MSP_WR_DSP
#define MSP_RD_DSP

int i2c_writereg(struct av7110 *av7110, u8 id, u8 reg, u8 val);
u8 i2c_readreg(struct av7110 *av7110, u8 id, u8 reg);
int msp_writereg(struct av7110 *av7110, u8 dev, u16 reg, u16 val);

int av7110_init_analog_module(struct av7110 *av7110);
int av7110_init_v4l(struct av7110 *av7110);
int av7110_exit_v4l(struct av7110 *av7110);

#endif /* _AV7110_H_ */