media: dvb: represent min/max/step/tolerance freqs in Hz
Right now, satellite frontend drivers specify frequencies in kHz, while terrestrial/cable ones specify in Hz. That's confusing for developers. However, the main problem is that universal frontends capable of handling both satellite and non-satelite delivery systems are appearing. We end by needing to hack the drivers in order to support such hybrid frontends. So, convert everything to specify frontend frequencies in Hz. Tested-by: Katsuhiro Suzuki <suzuki.katsuhiro@socionext.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
This commit is contained in:
@@ -317,6 +317,34 @@ struct analog_demod_ops {
|
||||
|
||||
struct dtv_frontend_properties;
|
||||
|
||||
/**
|
||||
* struct dvb_frontend_internal_info - Frontend properties and capabilities
|
||||
*
|
||||
* @name: Name of the frontend
|
||||
* @frequency_min_hz: Minimal frequency supported by the frontend.
|
||||
* @frequency_max_hz: Minimal frequency supported by the frontend.
|
||||
* @frequency_stepsize_hz: All frequencies are multiple of this value.
|
||||
* @frequency_tolerance_hz: Frequency tolerance.
|
||||
* @symbol_rate_min: Minimal symbol rate, in bauds
|
||||
* (for Cable/Satellite systems).
|
||||
* @symbol_rate_max: Maximal symbol rate, in bauds
|
||||
* (for Cable/Satellite systems).
|
||||
* @symbol_rate_tolerance: Maximal symbol rate tolerance, in ppm
|
||||
* (for Cable/Satellite systems).
|
||||
* @caps: Capabilities supported by the frontend,
|
||||
* as specified in &enum fe_caps.
|
||||
*/
|
||||
struct dvb_frontend_internal_info {
|
||||
char name[128];
|
||||
u32 frequency_min_hz;
|
||||
u32 frequency_max_hz;
|
||||
u32 frequency_stepsize_hz;
|
||||
u32 frequency_tolerance_hz;
|
||||
u32 symbol_rate_min;
|
||||
u32 symbol_rate_max;
|
||||
u32 symbol_rate_tolerance;
|
||||
enum fe_caps caps;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct dvb_frontend_ops - Demodulation information and callbacks for
|
||||
@@ -404,7 +432,7 @@ struct dtv_frontend_properties;
|
||||
* @analog_ops: pointer to &struct analog_demod_ops
|
||||
*/
|
||||
struct dvb_frontend_ops {
|
||||
struct dvb_frontend_info info;
|
||||
struct dvb_frontend_internal_info info;
|
||||
|
||||
u8 delsys[MAX_DELSYS];
|
||||
|
||||
|
Reference in New Issue
Block a user