Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awilliam
GitHub Repository: awilliam/linux-vfio
Path: blob/master/drivers/media/dvb/frontends/dib3000.h
15112 views
1
/*
2
* public header file of the frontend drivers for mobile DVB-T demodulators
3
* DiBcom 3000M-B and DiBcom 3000P/M-C (http://www.dibcom.fr/)
4
*
5
* Copyright (C) 2004-5 Patrick Boettcher ([email protected])
6
*
7
* based on GPL code from DibCom, which has
8
*
9
* Copyright (C) 2004 Amaury Demol for DiBcom ([email protected])
10
*
11
* This program is free software; you can redistribute it and/or
12
* modify it under the terms of the GNU General Public License as
13
* published by the Free Software Foundation, version 2.
14
*
15
* Acknowledgements
16
*
17
* Amaury Demol ([email protected]) from DiBcom for providing specs and driver
18
* sources, on which this driver (and the dvb-dibusb) are based.
19
*
20
* see Documentation/dvb/README.dibusb for more information
21
*
22
*/
23
24
#ifndef DIB3000_H
25
#define DIB3000_H
26
27
#include <linux/dvb/frontend.h>
28
29
struct dib3000_config
30
{
31
/* the demodulator's i2c address */
32
u8 demod_address;
33
};
34
35
struct dib_fe_xfer_ops
36
{
37
/* pid and transfer handling is done in the demodulator */
38
int (*pid_parse)(struct dvb_frontend *fe, int onoff);
39
int (*fifo_ctrl)(struct dvb_frontend *fe, int onoff);
40
int (*pid_ctrl)(struct dvb_frontend *fe, int index, int pid, int onoff);
41
int (*tuner_pass_ctrl)(struct dvb_frontend *fe, int onoff, u8 pll_ctrl);
42
};
43
44
#if defined(CONFIG_DVB_DIB3000MB) || (defined(CONFIG_DVB_DIB3000MB_MODULE) && defined(MODULE))
45
extern struct dvb_frontend* dib3000mb_attach(const struct dib3000_config* config,
46
struct i2c_adapter* i2c, struct dib_fe_xfer_ops *xfer_ops);
47
#else
48
static inline struct dvb_frontend* dib3000mb_attach(const struct dib3000_config* config,
49
struct i2c_adapter* i2c, struct dib_fe_xfer_ops *xfer_ops)
50
{
51
printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
52
return NULL;
53
}
54
#endif // CONFIG_DVB_DIB3000MB
55
56
#endif // DIB3000_H
57
58