46 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2#ifndef __PVRUSB2_DVB_H__3#define __PVRUSB2_DVB_H__4 5#include <media/dvb_frontend.h>6#include <media/dvb_demux.h>7#include <media/dvb_net.h>8#include <media/dmxdev.h>9#include "pvrusb2-context.h"10 11#define PVR2_DVB_BUFFER_COUNT 3212#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[2];22 23 struct i2c_client *i2c_client_demod[2];24 struct i2c_client *i2c_client_tuner;25 26 int feedcount;27 int max_feed_count;28 29 struct task_struct *thread;30 struct mutex lock;31 32 unsigned int stream_run:1;33 34 wait_queue_head_t buffer_wait_data;35 char *buffer_storage[PVR2_DVB_BUFFER_COUNT];36};37 38struct pvr2_dvb_props {39 int (*frontend_attach) (struct pvr2_dvb_adapter *);40 int (*tuner_attach) (struct pvr2_dvb_adapter *);41};42 43struct pvr2_dvb_adapter *pvr2_dvb_create(struct pvr2_context *pvr);44 45#endif /* __PVRUSB2_DVB_H__ */46