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 32 |
12 | #define PVR2_DVB_BUFFER_SIZE PAGE_ALIGN(0x4000) |
13 | |
14 | struct 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 | |
38 | struct pvr2_dvb_props { |
39 | int (*frontend_attach) (struct pvr2_dvb_adapter *); |
40 | int (*tuner_attach) (struct pvr2_dvb_adapter *); |
41 | }; |
42 | |
43 | struct pvr2_dvb_adapter *pvr2_dvb_create(struct pvr2_context *pvr); |
44 | |
45 | #endif /* __PVRUSB2_DVB_H__ */ |
46 |