V4L/DVB: Cleanups for mt2060-integration
[pandora-kernel.git] / drivers / media / dvb / frontends / dib3000.h
index d2ab747..bd0e663 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
@@ -41,28 +51,11 @@ 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
 
-#if defined(CONFIG_DVB_DIB3000MC) || defined(CONFIG_DVB_DIB3000MC_MODULE)
 extern struct dvb_frontend* dib3000mc_attach(const struct dib3000_config* config,
                                             struct i2c_adapter* i2c, struct dib_fe_xfer_ops *xfer_ops);
-#else
-static inline struct dvb_frontend* dib3000mc_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_DIB3000MC
 
+extern int dib3000mc_set_agc_config(struct dvb_frontend *fe, const struct dib3000p_agc_config *agc);
 #endif // DIB3000_H