V4L/DVB: Complete rewrite of the DiB3000mc-driver
[pandora-kernel.git] / drivers / media / dvb / frontends / dib3000.h
index bd0e663..0caac3f 100644 (file)
 
 #include <linux/dvb/frontend.h>
 
-struct dib3000p_agc_config {
-       u16 val[12];
-};
-
 struct dib3000_config
 {
        /* the demodulator's i2c address */
        u8 demod_address;
-
-       const struct dib3000p_agc_config *agc;
-
-       /* PLL maintenance and the i2c address of the PLL */
-       int (*pll_init)(struct dvb_frontend *fe);
-       int (*pll_set)(struct dvb_frontend *fe, struct dvb_frontend_parameters* params);
 };
 
 struct dib_fe_xfer_ops
@@ -51,11 +41,16 @@ struct dib_fe_xfer_ops
        int (*tuner_pass_ctrl)(struct dvb_frontend *fe, int onoff, u8 pll_ctrl);
 };
 
+#if defined(CONFIG_DVB_DIB3000MB) || defined(CONFIG_DVB_DIB3000MB_MODULE)
 extern struct dvb_frontend* dib3000mb_attach(const struct dib3000_config* config,
                                             struct i2c_adapter* i2c, struct dib_fe_xfer_ops *xfer_ops);
+#else
+static inline struct dvb_frontend* dib3000mb_attach(const struct dib3000_config* config,
+                                            struct i2c_adapter* i2c, struct dib_fe_xfer_ops *xfer_ops)
+{
+       printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __FUNCTION__);
+       return NULL;
+}
+#endif // CONFIG_DVB_DIB3000MB
 
-extern struct dvb_frontend* dib3000mc_attach(const struct dib3000_config* config,
-                                            struct i2c_adapter* i2c, struct dib_fe_xfer_ops *xfer_ops);
-
-extern int dib3000mc_set_agc_config(struct dvb_frontend *fe, const struct dib3000p_agc_config *agc);
 #endif // DIB3000_H