1/* SPDX-License-Identifier: GPL-2.0 */ 2#ifndef __PVRUSB2_DVB_H__ 3#define __PVRUSB2_DVB_H__ 4 5#include "dvb_frontend.h" 6#include "dvb_demux.h" 7#include "dvb_net.h" 8#include "dmxdev.h" 9#include "pvrusb2-context.h" 10 11#define PVR2_DVB_BUFFER_COUNT 32 12#define PVR2_DVB_BUFFER_SIZE PAGE_ALIGN(0x4000) 13 14struct pvr2_dvb_adapter { 15 struct pvr2_channel channel; 16 17 struct dvb_adapter dvb_adap; 18 struct dmxdev dmxdev; 19 struct dvb_demux demux; 20 struct dvb_net dvb_net; 21 struct dvb_frontend *fe; 22 23 int feedcount; 24 int max_feed_count; 25 26 struct task_struct *thread; 27 struct mutex lock; 28 29 unsigned int stream_run:1; 30 31 wait_queue_head_t buffer_wait_data; 32 char *buffer_storage[PVR2_DVB_BUFFER_COUNT]; 33}; 34 35struct pvr2_dvb_props { 36 int (*frontend_attach) (struct pvr2_dvb_adapter *); 37 int (*tuner_attach) (struct pvr2_dvb_adapter *); 38}; 39 40struct pvr2_dvb_adapter *pvr2_dvb_create(struct pvr2_context *pvr); 41 42#endif /* __PVRUSB2_DVB_H__ */ 43