linux/drivers/media/dvb
Mauro Carvalho Chehab 5bfaaddef8 [media] dvb_frontend: Don't use ops->info.type anymore
Get rid of using ops->info.type defined on DVB drivers,
as it doesn't apply anymore.

Currently, one driver (cxd2820) supports more than one different
info.type, as it can be used for DVB-T/T2 and DVB-C. There are more
drivers like that to come. So, the same frontend will have

different DVBv3 types, depending on the current delivery system.

This breaks the existing logic at dvb_frontend, that assumes that
just one delivery system DVBv3 type is supported by all delsys.

In order to easy the DVBv3->DVBv5 conversion, an ancillary function
that maps DVBv3 delivery systems into DVBv5 were added.

Also, on all places, except for the event logic, the DVBv5 cache
will be used to check parameters, instead of the DVBv5 copy.

This patch simplifies the cache sync logic, and warrants that the
cache will be in a clear state at DVB frontend register. This way,
ops->info.type will be filled to reflect the first delivery system,
providing backward compatibility support for it.

For example, in the cases like cxd2820, where the delivery systems
are defined as:
        .delsys = { SYS_DVBT, SYS_DVBT2, SYS_DVBC_ANNEX_A },

A pure DVBv3 will be able to use both DVB-T and DVB-T2, as, at
DVB cache clear, the ops->info.type will be equal to FE_OFDM.

However, DVB-C won't be visible. A quick workaround would be to
do a DVBv5 call to set the delivery system to SYS_DVBC_ANNEX_A.

After such call, ops->info.type will be equal to FE_QAM, and a
DVBv3 application will see the frontend as a DVB-C one.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-04 17:29:36 -02:00
..
b2c2 [media] drivers/media: do not use EXTRA_CFLAGS 2011-09-03 18:50:59 -03:00
bt8xx [media] dvb: don't require a parameter for get_frontend 2011-12-31 10:28:23 -02:00
ddbridge staging: Move media drivers to staging/media 2011-11-03 07:59:03 -02:00
dm1105 [media] drivers/media: do not use EXTRA_CFLAGS 2011-09-03 18:50:59 -03:00
dvb-core [media] dvb_frontend: Don't use ops->info.type anymore 2012-01-04 17:29:36 -02:00
dvb-usb [media] dvb: don't require a parameter for get_frontend 2011-12-31 10:28:23 -02:00
firewire [media] dvb: don't require a parameter for get_frontend 2011-12-31 10:28:23 -02:00
frontends [media] stb6100: Properly retrieve symbol rate 2011-12-31 17:26:23 -02:00
mantis [media] tuners: remove dvb_frontend_parameters from set_params() 2011-12-31 08:57:29 -02:00
ngene staging: Move media drivers to staging/media 2011-11-03 07:59:03 -02:00
pluto2 [media] tuners: remove dvb_frontend_parameters from set_params() 2011-12-31 08:57:29 -02:00
pt1 [media] dvb: Add ops.delsys to the remaining frontends 2011-12-31 10:38:23 -02:00
siano [media] dvb: don't require a parameter for get_frontend 2011-12-31 10:28:23 -02:00
ttpci [media] av7110: convert set_fontend to use DVBv5 parameters 2011-12-31 09:15:04 -02:00
ttusb-budget [media] tuners: remove dvb_frontend_parameters from set_params() 2011-12-31 08:57:29 -02:00
ttusb-dec [media] ttusb-dec: convert set_fontend to use DVBv5 parameters 2011-12-31 09:57:52 -02:00
Kconfig [media] ddbridge: Allow compiling of the driver 2011-07-27 17:55:45 -03:00
Makefile [media] ddbridge: Allow compiling of the driver 2011-07-27 17:55:45 -03:00