linux_dsm_epyc7002/drivers/media/pci/ngene
Daniel Scheller 1c2ad82e53 media: ngene: support STV0367 DVB-C/T DuoFlex addons
Add support for STV0367+TDA18212 based DuoFlex CT addon modules. For this,
add a demod probe function and all necessary demod/tuner attach functions
which use existing auxiliary drivers (stv0367 and tda18212) to support
this hardware. As tda18212 is an I2C client driver, proper cleanup code
is added to the deregistration sequence in ngene-core. To not cause use-
after-free situations when there's a CXD2099 I2C client connected, which
is rather freed in ngene-core.c:cxd_detach(), add i2c_client_fe to struct
ngene_channel to keep track if the i2c_client was allocated by a frontend
driver, rather than the CI code paths. Also move the I2C access functions
to the top of the file and add the required read_regs() function for the
tda18212 ping to work.

This adds autoselection (if MEDIA_SUBDRV_AUTOSELECT) of the STV0367 demod
driver and TDA18212 tuner driver to Kconfig aswell.

Signed-off-by: Daniel Scheller <d.scheller@gmx.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2018-03-06 10:59:04 -05:00
..
Kconfig media: ngene: support STV0367 DVB-C/T DuoFlex addons 2018-03-06 10:59:04 -05:00
Makefile media: cxd2099: move driver out of staging into dvb-frontends 2018-03-06 08:50:18 -05:00
ngene-cards.c media: ngene: support STV0367 DVB-C/T DuoFlex addons 2018-03-06 10:59:04 -05:00
ngene-core.c media: ngene: support STV0367 DVB-C/T DuoFlex addons 2018-03-06 10:59:04 -05:00
ngene-dvb.c media: ngene: convert kernellog printing from printk() to dev_*() macros 2018-03-06 10:48:43 -05:00
ngene-i2c.c media: ngene: constify i2c_algorithm structure 2017-07-20 14:59:58 -04:00
ngene.h media: ngene: support STV0367 DVB-C/T DuoFlex addons 2018-03-06 10:59:04 -05:00