From: "Daniel W. S. Almeida" <dwlsalmeida@xxxxxxxxx> This series is work in progress. It represents the current work done on a virtual DVB driver for the Linux media subsystem. I am new to the subsystem and to DTV in general, please take that into account. Currently I have written a simple fake tuner and I have been working on getting PSI packets into a TS stream and then feeding the stream to the hardware-independent demux layer. I have been basing my work on ISO 13818, ETSI EN 300 468 and on a real MPEG Transport Stream excerpt. Changes in v2: Attempted not to break assignments into multiple lines as much as possible. Code now passes checkpatch strict mode media: dvb_dummy_tuner: implement driver skeleton Changed snr values to mili db Return value from 0-100 to indicate how far off the requested frequency is from a valid one Use the frequency shift to interpolate between 34dB and 10dB if we can not match against the SNR lookup table Remove sleep calls for suspend/resume Fix memcpy call for the config struct media: dvb_dummy_fe.c: lose TS lock on bad snr Randomly recover the TS lock if the signal quality improves media: dvb_dummy_fe.c: write PSI information into DMX buffer Split the patch into multiple header/source files Hexadecimal literals are now lower case Prefer short function names / reduce function signatures Add #defines for constants when computing section lengths Change signature for functions that take a dummy channel as argument (i.e. channels* is now channels[NUM_CHANNELS]) Daniel W. S. Almeida (3): media: dvb_dummy_tuner: implement driver skeleton media: dvb_dummy_fe.c: lose TS lock on bad snr media: dvb_dummy_fe.c: write PSI information into DMX buffer drivers/media/dvb-frontends/Makefile | 1 + drivers/media/dvb-frontends/dvb_dummy_fe.c | 389 +++++++- drivers/media/dvb-frontends/dvb_dummy_fe.h | 32 + .../media/dvb-frontends/dvb_dummy_fe_common.h | 55 ++ .../media/dvb-frontends/dvb_dummy_fe_psi.c | 902 ++++++++++++++++++ .../media/dvb-frontends/dvb_dummy_fe_psi.h | 287 ++++++ drivers/media/tuners/Kconfig | 9 + drivers/media/tuners/Makefile | 1 + drivers/media/tuners/dvb_dummy_tuner.c | 419 ++++++++ 9 files changed, 2088 insertions(+), 7 deletions(-) create mode 100644 drivers/media/dvb-frontends/dvb_dummy_fe_common.h create mode 100644 drivers/media/dvb-frontends/dvb_dummy_fe_psi.c create mode 100644 drivers/media/dvb-frontends/dvb_dummy_fe_psi.h create mode 100644 drivers/media/tuners/dvb_dummy_tuner.c -- 2.25.2