/* SPDX-License-Identifier: GPL-2.0 */ #ifndef __PVRUSB2_DVB_H__ #define __PVRUSB2_DVB_H__ #include <media/dvb_frontend.h> #include <media/dvb_demux.h> #include <media/dvb_net.h> #include <media/dmxdev.h> #include "pvrusb2-context.h" #define PVR2_DVB_BUFFER_COUNT 32 #define PVR2_DVB_BUFFER_SIZE PAGE_ALIGN(0x4000) struct pvr2_dvb_adapter { struct pvr2_channel channel; struct dvb_adapter dvb_adap; struct dmxdev dmxdev; struct dvb_demux demux; struct dvb_net dvb_net; struct dvb_frontend *fe[2]; struct i2c_client *i2c_client_demod[2]; struct i2c_client *i2c_client_tuner; int feedcount; int max_feed_count; struct task_struct *thread; struct mutex lock; unsigned int stream_run:1; wait_queue_head_t buffer_wait_data; char *buffer_storage[PVR2_DVB_BUFFER_COUNT]; }; struct pvr2_dvb_props { int (*frontend_attach) (struct pvr2_dvb_adapter *); int (*tuner_attach) (struct pvr2_dvb_adapter *); }; struct pvr2_dvb_adapter *pvr2_dvb_create(struct pvr2_context *pvr); #endif /* __PVRUSB2_DVB_H__ */