struct dvb_frontend_ops — Demodulation information and callbacks for ditialt TV
struct dvb_frontend_ops { struct dvb_frontend_info info; u8 delsys[MAX_DELSYS]; void (* release) (struct dvb_frontend* fe); void (* release_sec) (struct dvb_frontend* fe); int (* init) (struct dvb_frontend* fe); int (* sleep) (struct dvb_frontend* fe); int (* write) (struct dvb_frontend* fe, const u8 buf[], int len); int (* tune) (struct dvb_frontend* fe,bool re_tune,unsigned int mode_flags,unsigned int *delay,enum fe_status *status); enum dvbfe_algo (* get_frontend_algo) (struct dvb_frontend *fe); int (* set_frontend) (struct dvb_frontend *fe); int (* get_tune_settings) (struct dvb_frontend* fe, struct dvb_frontend_tune_settings* settings); int (* get_frontend) (struct dvb_frontend *fe,struct dtv_frontend_properties *props); int (* read_status) (struct dvb_frontend *fe, enum fe_status *status); int (* read_ber) (struct dvb_frontend* fe, u32* ber); int (* read_signal_strength) (struct dvb_frontend* fe, u16* strength); int (* read_snr) (struct dvb_frontend* fe, u16* snr); int (* read_ucblocks) (struct dvb_frontend* fe, u32* ucblocks); int (* diseqc_reset_overload) (struct dvb_frontend* fe); int (* diseqc_send_master_cmd) (struct dvb_frontend* fe, struct dvb_diseqc_master_cmd* cmd); int (* diseqc_recv_slave_reply) (struct dvb_frontend* fe, struct dvb_diseqc_slave_reply* reply); int (* diseqc_send_burst) (struct dvb_frontend *fe,enum fe_sec_mini_cmd minicmd); int (* set_tone) (struct dvb_frontend *fe, enum fe_sec_tone_mode tone); int (* set_voltage) (struct dvb_frontend *fe,enum fe_sec_voltage voltage); int (* enable_high_lnb_voltage) (struct dvb_frontend* fe, long arg); int (* dishnetwork_send_legacy_command) (struct dvb_frontend* fe, unsigned long cmd); int (* i2c_gate_ctrl) (struct dvb_frontend* fe, int enable); int (* ts_bus_ctrl) (struct dvb_frontend* fe, int acquire); int (* set_lna) (struct dvb_frontend *); enum dvbfe_search (* search) (struct dvb_frontend *fe); struct dvb_tuner_ops tuner_ops; struct analog_demod_ops analog_ops; int (* set_property) (struct dvb_frontend* fe, struct dtv_property* tvp); int (* get_property) (struct dvb_frontend* fe, struct dtv_property* tvp); };
embedded struct dvb_tuner_info with tuner properties
Delivery systems supported by the frontend
callback function called when frontend is dettached. drivers should free any allocated memory.
callback function requesting that the Satelite Equipment Control (SEC) driver to release and free any memory allocated by the driver.
callback function used to initialize the tuner device.
callback function used to put the tuner to sleep.
callback function used by some demod legacy drivers to allow other drivers to write data into their registers. Should not be used on new drivers.
callback function used by demod drivers that use
DVBFE_ALGO_HW
; to tune into a frequency.
returns the desired hardware algorithm.
callback function used to inform the demod to set the
parameters for demodulating a digital TV channel.
The properties to be used are stored at
dvb_frontend
.dtv_property_cache;. The demod can change
the parameters to reflect the changes needed for the
channel to be decoded, and update statistics.
callback function
callback function used to inform the parameters
actuall in use. The properties to be used are stored at
dvb_frontend
.dtv_property_cache; and update
statistics. Please notice that it should not return
an error code if the statistics are not available
because the demog is not locked.
returns the locking status of the frontend.
legacy callback function to return the bit error rate.
Newer drivers should provide such info via DVBv5 API,
e. g. set_frontend
;/get_frontend
;, implementing this
callback only if DVBv3 API compatibility is wanted.
legacy callback function to return the signal
strength. Newer drivers should provide such info via
DVBv5 API, e. g. set_frontend
;/get_frontend
;,
implementing this callback only if DVBv3 API
compatibility is wanted.
legacy callback function to return the Signal/Noise
rate. Newer drivers should provide such info via
DVBv5 API, e. g. set_frontend
;/get_frontend
;,
implementing this callback only if DVBv3 API
compatibility is wanted.
legacy callback function to return the Uncorrected Error
Blocks. Newer drivers should provide such info via
DVBv5 API, e. g. set_frontend
;/get_frontend
;,
implementing this callback only if DVBv3 API
compatibility is wanted.
callback function to implement the FE_DISEQC_RESET_OVERLOAD ioctl (only Satellite)
callback function to implement the FE_DISEQC_SEND_MASTER_CMD ioctl (only Satellite).
callback function to implement the FE_DISEQC_RECV_SLAVE_REPLY ioctl (only Satellite)
callback function to implement the FE_DISEQC_SEND_BURST ioctl (only Satellite).
callback function to implement the FE_SET_TONE ioctl (only Satellite).
callback function to implement the FE_SET_VOLTAGE ioctl (only Satellite).
callback function to implement the FE_ENABLE_HIGH_LNB_VOLTAGE ioctl (only Satellite).
callback function to implement the
FE_DISHNETWORK_SEND_LEGACY_CMD ioctl (only Satellite).
Drivers should not use this, except when the DVB
core emulation fails to provide proper support (e.g.
if set_voltage
takes more than 8ms to work), and
when backward compatibility with this legacy API is
required.
controls the I2C gate. Newer drivers should use I2C mux support instead.
callback function used to take control of the TS bus.
callback function to power on/off/auto the LNA.
callback function used on some custom algo search algos.
pointer to struct dvb_tuner_ops
pointer to struct analog_demod_ops
callback function to allow the frontend to validade incoming properties. Should not be used on new drivers.
callback function to allow the frontend to override outcoming properties. Should not be used on new drivers.