hc
2024-05-10 23fa18eaa71266feff7ba8d83022d9e1cc83c65a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
/* 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__ */