Digital TV Frontend kABI

struct dvb_frontend_tune_settings — parameters to adjust frontend tuning
struct dvb_tuner_info — Frontend name and min/max ranges/bandwidths
struct analog_parameters — Parameters to tune into an analog/radio channel
enum dvbfe_algo — defines the algorithm used to tune into a channel
enum dvbfe_search — search callback possible return status
struct dvb_tuner_ops — Tuner information and callbacks
struct analog_demod_info — Information struct for analog TV part of the demod
struct analog_demod_ops — Demodulation information and callbacks for analog TV and radio
struct dvb_frontend_ops — Demodulation information and callbacks for ditialt TV
struct dtv_frontend_properties — contains a list of properties that are specific to a digital TV standard.
struct dvb_frontend — Frontend structure to be used on drivers.
dvb_register_frontend — Registers a DVB frontend at the adapter
dvb_unregister_frontend — Unregisters a DVB frontend
dvb_frontend_detach — Detaches and frees frontend specific data
dvb_frontend_suspend — Suspends a Digital TV frontend
dvb_frontend_resume — Resumes a Digital TV frontend
dvb_frontend_reinitialise — forces a reinitialisation at the frontend
dvb_frontend_sleep_until — Sleep for the amount of time given by add_usec parameter

The Digital TV Frontend kABI defines a driver-internal interface for registering low-level, hardware specific driver to a hardware independent frontend layer. It is only of interest for Digital TV device driver writers. The header file for this API is named dvb_frontend.h and located in drivers/media/dvb-core.

Before using the Digital TV frontend core, the bridge driver should attach the frontend demod, tuner and SEC devices and call dvb_register_frontend, in order to register the new frontend at the subsystem. At device detach/removal, the bridge driver should call dvb_unregister_frontend to remove the frontend from the core and then dvb_frontend_detach to free the memory allocated by the frontend drivers.

The drivers should also call dvb_frontend_suspend as part of their handler for the device_driver.suspend, and dvb_frontend_resume as part of their handler for device_driver.resume.

A few other optional functions are provided to handle some special cases.