linux/drivers/media/dvb/dvb-core
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
..
demux.h
dmxdev.c [media] dmxdev: Fix a compilation warning due to a bad type 2010-12-29 08:17:13 -02:00
dmxdev.h include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
dvb_ca_en50221.c BKL: remove extraneous #include <smp_lock.h> 2010-11-17 08:59:32 -08:00
dvb_ca_en50221.h V4L/DVB (9054): implement proper locking in the dvb ca en50221 driver 2009-01-29 08:35:37 -02:00
dvb_demux.c [media] Speed up DVB TS stream delivery from DMA buffer into dvb-core's buffer 2011-05-20 09:28:48 -03:00
dvb_demux.h V4L/DVB (13271): TS speed check. Logging transport stream speed in Kbits per second 2009-12-05 18:41:11 -02:00
dvb_filter.c
dvb_filter.h
dvb_frontend.c [media] dvb_frontend: Don't use ops->info.type anymore 2012-01-04 17:29:36 -02:00
dvb_frontend.h [media] dvb: don't require a parameter for get_frontend 2011-12-31 10:28:23 -02:00
dvb_math.c
dvb_math.h
dvb_net.c net: remove use of ndo_set_multicast_list in drivers 2011-08-17 20:22:03 -07:00
dvb_net.h dvb_net: Simplify the code if DVB NET is not defined 2011-07-27 17:52:20 -03:00
dvb_ringbuffer.c V4L/DVB: DVB: Export dvb_ringbuffer_flush() again 2010-02-26 15:10:54 -03:00
dvb_ringbuffer.h
dvbdev.c Merge branch 'llseek' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl 2010-10-22 10:52:56 -07:00
dvbdev.h dvb: Push down BKL into ioctl functions 2010-05-17 05:27:04 +02:00
Makefile [media] Make DVB NET configurable in the kernel 2011-07-27 17:52:20 -03:00