1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24#ifndef _DRXD_H_
25#define _DRXD_H_
26
27#include <linux/kconfig.h>
28#include <linux/types.h>
29#include <linux/i2c.h>
30
31struct drxd_config {
32 u8 index;
33
34 u8 pll_address;
35 u8 pll_type;
36#define DRXD_PLL_NONE 0
37#define DRXD_PLL_DTT7520X 1
38#define DRXD_PLL_MT3X0823 2
39
40 u32 clock;
41 u8 insert_rs_byte;
42
43 u8 demod_address;
44 u8 demoda_address;
45 u8 demod_revision;
46
47
48
49 u8 disable_i2c_gate_ctrl;
50
51 u32 IF;
52 s16(*osc_deviation) (void *priv, s16 dev, int flag);
53};
54
55#if IS_ENABLED(CONFIG_DVB_DRXD)
56extern
57struct dvb_frontend *drxd_attach(const struct drxd_config *config,
58 void *priv, struct i2c_adapter *i2c,
59 struct device *dev);
60#else
61static inline
62struct dvb_frontend *drxd_attach(const struct drxd_config *config,
63 void *priv, struct i2c_adapter *i2c,
64 struct device *dev)
65{
66 printk(KERN_INFO "%s: not probed - driver disabled by Kconfig\n",
67 __func__);
68 return NULL;
69}
70#endif
71
72extern int drxd_config_i2c(struct dvb_frontend *, int);
73#endif
74