Attached is a new driver for MaxLinear mxl692 ATSC/QAM combo tuner-demodulator. The driver is used by em28xx based Hauppauge USB QuadHD. The Hauppauge USB QuadHD contains four instances of the mxl692, configured as two "dual tuner" em28xx devices. Bus 003 Device 006: ID 2040:846d Hauppauge Bus 003 Device 005: ID 2040:846d Hauppauge Bus 003 Device 004: ID 04e2:0404 Exar Corp. The ATSC portion works fully, the QAM portion needs some TLC, and is therefore not listed in the DVB capabilities. The driver is based off vendor provided GPLv2 source code. I have left the few long line warnings as is, due to recent developments/statements regarding this topic. I do not feel the driver would be made any clearer by arbitrarily splitting up the remaining lines further. All endianess issues have been sorted out. The driver is verified fully working on a (ancient) powerpc Mac Mini running current mainline kernel. Brad Love (4): mxl692: MaxLinear 692 ATSC demod/tuner driver em28xx-core: Fix TS2 active led em28xx-core: Fix i2c error debug em28xx: Add support for Hauppauge USB QuadHD drivers/media/dvb-frontends/Kconfig | 9 + drivers/media/dvb-frontends/Makefile | 1 + drivers/media/dvb-frontends/mxl692.c | 1378 +++++++++++++++++++++ drivers/media/dvb-frontends/mxl692.h | 38 + drivers/media/dvb-frontends/mxl692_defs.h | 548 ++++++++ drivers/media/usb/em28xx/Kconfig | 1 + drivers/media/usb/em28xx/em28xx-cards.c | 46 + drivers/media/usb/em28xx/em28xx-core.c | 4 +- drivers/media/usb/em28xx/em28xx-dvb.c | 26 + drivers/media/usb/em28xx/em28xx-i2c.c | 6 +- drivers/media/usb/em28xx/em28xx.h | 1 + 11 files changed, 2056 insertions(+), 2 deletions(-) create mode 100644 drivers/media/dvb-frontends/mxl692.c create mode 100644 drivers/media/dvb-frontends/mxl692.h create mode 100644 drivers/media/dvb-frontends/mxl692_defs.h -- 2.28.0