diff options
Diffstat (limited to 'drivers/media/dvb')
-rw-r--r-- | drivers/media/dvb/dvb-core/dvb_frontend.h | 85 |
1 files changed, 7 insertions, 78 deletions
diff --git a/drivers/media/dvb/dvb-core/dvb_frontend.h b/drivers/media/dvb/dvb-core/dvb_frontend.h index e0148a9e663..05ec9954b15 100644 --- a/drivers/media/dvb/dvb-core/dvb_frontend.h +++ b/drivers/media/dvb/dvb-core/dvb_frontend.h @@ -62,99 +62,28 @@ struct dvb_tuner_info { }; struct dvb_tuner_ops { - /** - * Description of the tuner. - */ + struct dvb_tuner_info info; - /** - * Cleanup an attached tuner. - * - * @param fe dvb_frontend structure to clean it up from. - * @return 0 on success, <0 on failure. - */ int (*release)(struct dvb_frontend *fe); - - /** - * Initialise a tuner. - * - * @param fe dvb_frontend structure. - * @return 0 on success, <0 on failure. - */ int (*init)(struct dvb_frontend *fe); - - /** - * Set a tuner into low power mode. - * - * @param fe dvb_frontend structure. - * @return 0 on success, <0 on failure. - */ int (*sleep)(struct dvb_frontend *fe); - /** - * This is for simple PLLs - set all parameters in one go. - * - * @param fe The dvb_frontend structure. - * @param p The parameters to set. - * @return 0 on success, <0 on failure. - */ + /** This is for simple PLLs - set all parameters in one go. */ int (*set_params)(struct dvb_frontend *fe, struct dvb_frontend_parameters *p); - /** - * This is support for demods like the mt352 - fills out the supplied buffer with what to write. - * - * @param fe The dvb_frontend structure. - * @param p The parameters to set. - * @param buf The buffer to fill with data. For an i2c tuner, the first byte should be the tuner i2c address in linux format. - * @param buf_len Size of buffer in bytes. - * @return Number of bytes used, or <0 on failure. - */ - int (*pllbuf)(struct dvb_frontend *fe, struct dvb_frontend_parameters *p, u8 *buf, int buf_len); - - /** - * Get the frequency the tuner was actually set to. - * - * @param fe The dvb_frontend structure. - * @param frequency Where to put it. - * @return 0 on success, or <0 on failure. - */ - int (*get_frequency)(struct dvb_frontend *fe, u32 *frequency); + /** This is support for demods like the mt352 - fills out the supplied buffer with what to write. */ + int (*calc_regs)(struct dvb_frontend *fe, struct dvb_frontend_parameters *p, u8 *buf, int buf_len); - /** - * Get the bandwidth the tuner was actually set to. - * - * @param fe The dvb_frontend structure. - * @param bandwidth Where to put it. - * @return 0 on success, or <0 on failure. - */ + int (*get_frequency)(struct dvb_frontend *fe, u32 *frequency); int (*get_bandwidth)(struct dvb_frontend *fe, u32 *bandwidth); - /** - * Get the tuner's status. - * - * @param fe The dvb_frontend structure. - * @param status Where to put it. - * @return 0 on success, or <0 on failure. - */ #define TUNER_STATUS_LOCKED 1 int (*get_status)(struct dvb_frontend *fe, u32 *status); - /** - * Set the frequency of the tuner - for complex tuners. - * - * @param fe The dvb_frontend structure. - * @param frequency What to set. - * @return 0 on success, or <0 on failure. - */ + /** These are provided seperately from set_params in order to facilitate silicon + * tuners which require sophisticated tuning loops, controlling each parameter seperately. */ int (*set_frequency)(struct dvb_frontend *fe, u32 frequency); - - /** - * Set the bandwidth of the tuner - for complex tuners. - * - * @param fe The dvb_frontend structure. - * @param bandwidth What to set. - * @return 0 on success, or <0 on failure. - */ int (*set_bandwidth)(struct dvb_frontend *fe, u32 bandwidth); }; |