aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb/frontends/dib3000.h
diff options
context:
space:
mode:
authorPatrick Boettcher <pb@linuxtv.org>2006-08-08 14:48:10 -0400
committerMauro Carvalho Chehab <mchehab@infradead.org>2006-09-26 10:53:46 -0400
commitb7571f8d7e12cd70048331e6a0199a42dc995d99 (patch)
tree5a536abb2530f3bec89666ddebc457b35a1aba37 /drivers/media/dvb/frontends/dib3000.h
parent74340b0a8bc60b400c7e5fe4950303aa6f914d16 (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.h23
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
29struct dib3000p_agc_config {
30 u16 val[12];
31};
32
33struct dib3000_config 29struct 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
45struct dib_fe_xfer_ops 35struct 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)
54extern struct dvb_frontend* dib3000mb_attach(const struct dib3000_config* config, 45extern 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
48static 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
57extern struct dvb_frontend* dib3000mc_attach(const struct dib3000_config* config,
58 struct i2c_adapter* i2c, struct dib_fe_xfer_ops *xfer_ops);
59
60extern int dib3000mc_set_agc_config(struct dvb_frontend *fe, const struct dib3000p_agc_config *agc);
61#endif // DIB3000_H 56#endif // DIB3000_H