|
@@ -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);
|
|
|
};
|
|
|
|