Merge tag 'regmap-fix-v5.11-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux/fpc-iii.git] / drivers / media / usb / pvrusb2 / pvrusb2-dvb.h
blobc0b27f5211bf172ef99f37fa6e5e570be01dcddd
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __PVRUSB2_DVB_H__
3 #define __PVRUSB2_DVB_H__
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"
11 #define PVR2_DVB_BUFFER_COUNT 32
12 #define PVR2_DVB_BUFFER_SIZE PAGE_ALIGN(0x4000)
14 struct pvr2_dvb_adapter {
15 struct pvr2_channel channel;
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];
23 struct i2c_client *i2c_client_demod[2];
24 struct i2c_client *i2c_client_tuner;
26 int feedcount;
27 int max_feed_count;
29 struct task_struct *thread;
30 struct mutex lock;
32 unsigned int stream_run:1;
34 wait_queue_head_t buffer_wait_data;
35 char *buffer_storage[PVR2_DVB_BUFFER_COUNT];
38 struct pvr2_dvb_props {
39 int (*frontend_attach) (struct pvr2_dvb_adapter *);
40 int (*tuner_attach) (struct pvr2_dvb_adapter *);
43 struct pvr2_dvb_adapter *pvr2_dvb_create(struct pvr2_context *pvr);
45 #endif /* __PVRUSB2_DVB_H__ */