[linux-dvb] [PATCH-REWORKED] frontend.h add dvb-s2 support
including backwards compability
js at linuxtv.org
Thu Feb 23 19:43:45 CET 2006
On Wed, Feb 22, 2006, Marcel Siegert wrote:
> once again same topic.
> after short discussion with felix domke on irc,
> we found that the attached solution is more suitable.
> added the FE_SET_MODE ioctl that is needed to differ between DVB-S and DVB-S2 tuning modes
> as on DVB-S2 frontends both modes are supported.
> this ioctl is ONLY needed that we can use the same dvb_frontend_parameters struct,
> also extended for the dvbs2_params but with backwards compatibility.
> on normal "old" frontends (DVB-S/C/T/ATSC) the FE_SET_MODE ioctl is not needed,
> because these frontend drivers do know about the actual size they will receive/send via the
> FE_SET_FRONTEND/FE_GET_FRONTEND ioctl's.
> so backwards compatibility is kept. only an application that has dvb-s2 support will
> have to use the FE_SET_MODE ioctl explicit to tell the driver what type it should be.
I'd actually prefer an extended definition of struct dvb_frontend_parameters
with room for more parameters (e.g. to query DVB-T cell ids etc.), plus
some padding to allow for future extensions.
FE_SET_FRONTEND would be redefined to use the new struct, however
it must be source code compatible (i.e. no changes to apps
necessary, they should continue to work with identical capabilites
if compiled against the new frontend.h).
Binary compatibility can be retained by adding *_OLD cruft,
see dvb/net.h for an example.
What do you think?
More information about the linux-dvb