diff options
author | Patrick Boettcher <pb@linuxtv.org> | 2006-08-08 14:48:10 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2006-09-26 10:53:46 -0400 |
commit | b7571f8d7e12cd70048331e6a0199a42dc995d99 (patch) | |
tree | 5a536abb2530f3bec89666ddebc457b35a1aba37 /drivers/media/dvb/frontends/dib3000.h | |
parent | 74340b0a8bc60b400c7e5fe4950303aa6f914d16 (diff) |
V4L/DVB: Complete rewrite of the DiB3000mc-driver
A complete rewrite of the DiB3000MC/P driver has been done. It is now much more
easy to maintain and to get improvements inside.
Additionally the tuning time has been reduced and the usage of the driver is
much more understandable now.
Signed-off-by: Patrick Boettcher <pboettcher@dibcom.fr>
Signed-off-by: Francois KANOUNNIKOFF <fkanounnikoff@dibcom.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/dvb/frontends/dib3000.h')
-rw-r--r-- | drivers/media/dvb/frontends/dib3000.h | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/drivers/media/dvb/frontends/dib3000.h b/drivers/media/dvb/frontends/dib3000.h index bd0e663cf6f3..0caac3f0f279 100644 --- a/drivers/media/dvb/frontends/dib3000.h +++ b/drivers/media/dvb/frontends/dib3000.h | |||
@@ -26,20 +26,10 @@ | |||
26 | 26 | ||
27 | #include <linux/dvb/frontend.h> | 27 | #include <linux/dvb/frontend.h> |
28 | 28 | ||
29 | struct dib3000p_agc_config { | ||
30 | u16 val[12]; | ||
31 | }; | ||
32 | |||
33 | struct dib3000_config | 29 | struct dib3000_config |
34 | { | 30 | { |
35 | /* the demodulator's i2c address */ | 31 | /* the demodulator's i2c address */ |
36 | u8 demod_address; | 32 | u8 demod_address; |
37 | |||
38 | const struct dib3000p_agc_config *agc; | ||
39 | |||
40 | /* PLL maintenance and the i2c address of the PLL */ | ||
41 | int (*pll_init)(struct dvb_frontend *fe); | ||
42 | int (*pll_set)(struct dvb_frontend *fe, struct dvb_frontend_parameters* params); | ||
43 | }; | 33 | }; |
44 | 34 | ||
45 | struct dib_fe_xfer_ops | 35 | struct dib_fe_xfer_ops |
@@ -51,11 +41,16 @@ struct dib_fe_xfer_ops | |||
51 | int (*tuner_pass_ctrl)(struct dvb_frontend *fe, int onoff, u8 pll_ctrl); | 41 | int (*tuner_pass_ctrl)(struct dvb_frontend *fe, int onoff, u8 pll_ctrl); |
52 | }; | 42 | }; |
53 | 43 | ||
44 | #if defined(CONFIG_DVB_DIB3000MB) || defined(CONFIG_DVB_DIB3000MB_MODULE) | ||
54 | extern struct dvb_frontend* dib3000mb_attach(const struct dib3000_config* config, | 45 | extern struct dvb_frontend* dib3000mb_attach(const struct dib3000_config* config, |
55 | struct i2c_adapter* i2c, struct dib_fe_xfer_ops *xfer_ops); | 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", __FUNCTION__); | ||
52 | return NULL; | ||
53 | } | ||
54 | #endif // CONFIG_DVB_DIB3000MB | ||
56 | 55 | ||
57 | extern struct dvb_frontend* dib3000mc_attach(const struct dib3000_config* config, | ||
58 | struct i2c_adapter* i2c, struct dib_fe_xfer_ops *xfer_ops); | ||
59 | |||
60 | extern int dib3000mc_set_agc_config(struct dvb_frontend *fe, const struct dib3000p_agc_config *agc); | ||
61 | #endif // DIB3000_H | 56 | #endif // DIB3000_H |