media: dvb-frontends: add ST STV0910 DVB-S/S2 demodulator frontend driver
This adds a multi frontend driver for the ST STV0910 DVB-S/S2 demodulator frontends. The driver code originates from the Digital Devices' dddvb vendor driver package as of version 0.9.29, and has been cleaned up from core API usage which isn't supported yet in the kernel, and additionally all obvious style issues have been resolved. All camel case and allcaps have been converted to kernel_case and lowercase. Patches have been sent to the vendor package maintainers to fix this aswell. Signal statistics acquisition has been refactored to comply with standards. Permission to reuse and mainline the driver code was formally granted by Ralph Metzler <rjkm@metzlerbros.de>. Signed-off-by: Daniel Scheller <d.scheller@gmx.net> Tested-by: Richard Scobie <r.scobie@clear.net.nz> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
This commit is contained in:
parent
435945e085
commit
cd21b33494
|
@ -28,6 +28,15 @@ config DVB_STV090x
|
|||
DVB-S/S2/DSS Multistandard Professional/Broadcast demodulators.
|
||||
Say Y when you want to support these frontends.
|
||||
|
||||
config DVB_STV0910
|
||||
tristate "STV0910 based"
|
||||
depends on DVB_CORE && I2C
|
||||
default m if !MEDIA_SUBDRV_AUTOSELECT
|
||||
help
|
||||
ST STV0910 DVB-S/S2 demodulator driver.
|
||||
|
||||
Say Y when you want to support these frontends.
|
||||
|
||||
config DVB_STV6110x
|
||||
tristate "STV6110/(A) based tuners"
|
||||
depends on DVB_CORE && I2C
|
||||
|
|
|
@ -110,6 +110,7 @@ obj-$(CONFIG_DVB_CXD2820R) += cxd2820r.o
|
|||
obj-$(CONFIG_DVB_CXD2841ER) += cxd2841er.o
|
||||
obj-$(CONFIG_DVB_DRXK) += drxk.o
|
||||
obj-$(CONFIG_DVB_TDA18271C2DD) += tda18271c2dd.o
|
||||
obj-$(CONFIG_DVB_STV0910) += stv0910.o
|
||||
obj-$(CONFIG_DVB_SI2165) += si2165.o
|
||||
obj-$(CONFIG_DVB_A8293) += a8293.o
|
||||
obj-$(CONFIG_DVB_SP2) += sp2.o
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,32 @@
|
|||
#ifndef _STV0910_H_
|
||||
#define _STV0910_H_
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/i2c.h>
|
||||
|
||||
struct stv0910_cfg {
|
||||
u32 clk;
|
||||
u8 adr;
|
||||
u8 parallel;
|
||||
u8 rptlvl;
|
||||
u8 single;
|
||||
};
|
||||
|
||||
#if IS_REACHABLE(CONFIG_DVB_STV0910)
|
||||
|
||||
extern struct dvb_frontend *stv0910_attach(struct i2c_adapter *i2c,
|
||||
struct stv0910_cfg *cfg, int nr);
|
||||
|
||||
#else
|
||||
|
||||
static inline struct dvb_frontend *stv0910_attach(struct i2c_adapter *i2c,
|
||||
struct stv0910_cfg *cfg,
|
||||
int nr)
|
||||
{
|
||||
pr_warn("%s: driver disabled by Kconfig\n", __func__);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
#endif /* CONFIG_DVB_STV0910 */
|
||||
|
||||
#endif /* _STV0910_H_ */
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue