#include "cx88.h"
#include "dvb-pll.h"
#include <linux/module.h>
#include <linux/init.h>
#include <linux/device.h>
#include <linux/fs.h>
#include <linux/kthread.h>
#include <linux/file.h>
#include <linux/suspend.h>
#include <media/v4l2-common.h>
#include "mt352.h"
#include "mt352_priv.h"
#include "cx88-vp3054-i2c.h"
#include "zl10353.h"
#include "cx22702.h"
#include "or51132.h"
#include "lgdt330x.h"
#include "s5h1409.h"
#include "xc4000.h"
#include "xc5000.h"
#include "nxt200x.h"
#include "cx24123.h"
#include "isl6421.h"
#include "tuner-simple.h"
#include "tda9887.h"
#include "s5h1411.h"
#include "stv0299.h"
#include "z0194a.h"
#include "stv0288.h"
#include "stb6000.h"
#include "cx24116.h"
#include "stv0900.h"
#include "stb6100.h"
#include "stb6100_proc.h"
#include "mb86a16.h"
#include "ts2020.h"
#include "ds3000.h"
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;
MODULE_VERSION(…);
static unsigned int debug;
module_param(debug, int, 0644);
MODULE_PARM_DESC(…) …;
static unsigned int dvb_buf_tscnt = …;
module_param(dvb_buf_tscnt, int, 0644);
MODULE_PARM_DESC(…) …;
DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr);
#define dprintk(level, fmt, arg...) …
static int queue_setup(struct vb2_queue *q,
unsigned int *num_buffers, unsigned int *num_planes,
unsigned int sizes[], struct device *alloc_devs[])
{ … }
static int buffer_prepare(struct vb2_buffer *vb)
{ … }
static void buffer_finish(struct vb2_buffer *vb)
{ … }
static void buffer_queue(struct vb2_buffer *vb)
{ … }
static int start_streaming(struct vb2_queue *q, unsigned int count)
{ … }
static void stop_streaming(struct vb2_queue *q)
{ … }
static const struct vb2_ops dvb_qops = …;
static int cx88_dvb_bus_ctrl(struct dvb_frontend *fe, int acquire)
{ … }
static void cx88_dvb_gate_ctrl(struct cx88_core *core, int open)
{ … }
static int dvico_fusionhdtv_demod_init(struct dvb_frontend *fe)
{ … }
static int dvico_dual_demod_init(struct dvb_frontend *fe)
{ … }
static int dntv_live_dvbt_demod_init(struct dvb_frontend *fe)
{ … }
static const struct mt352_config dvico_fusionhdtv = …;
static const struct mt352_config dntv_live_dvbt_config = …;
static const struct mt352_config dvico_fusionhdtv_dual = …;
static const struct zl10353_config cx88_terratec_cinergy_ht_pci_mkii_config = …;
static const struct mb86a16_config twinhan_vp1027 = …;
#if IS_ENABLED(CONFIG_VIDEO_CX88_VP3054)
static int dntv_live_dvbt_pro_demod_init(struct dvb_frontend *fe)
{ … }
static const struct mt352_config dntv_live_dvbt_pro_config = …;
#endif
static const struct zl10353_config dvico_fusionhdtv_hybrid = …;
static const struct zl10353_config dvico_fusionhdtv_xc3028 = …;
static const struct mt352_config dvico_fusionhdtv_mt352_xc3028 = …;
static const struct zl10353_config dvico_fusionhdtv_plus_v1_1 = …;
static const struct cx22702_config connexant_refboard_config = …;
static const struct cx22702_config hauppauge_hvr_config = …;
static int or51132_set_ts_param(struct dvb_frontend *fe, int is_punctured)
{ … }
static const struct or51132_config pchdtv_hd3000 = …;
static int lgdt330x_pll_rf_set(struct dvb_frontend *fe, int index)
{ … }
static int lgdt330x_set_ts_param(struct dvb_frontend *fe, int is_punctured)
{ … }
static struct lgdt330x_config fusionhdtv_3_gold = …;
static const struct lgdt330x_config fusionhdtv_5_gold = …;
static const struct lgdt330x_config pchdtv_hd5500 = …;
static int nxt200x_set_ts_param(struct dvb_frontend *fe, int is_punctured)
{ … }
static const struct nxt200x_config ati_hdtvwonder = …;
static int cx24123_set_ts_param(struct dvb_frontend *fe,
int is_punctured)
{ … }
static int kworld_dvbs_100_set_voltage(struct dvb_frontend *fe,
enum fe_sec_voltage voltage)
{ … }
static int geniatech_dvbs_set_voltage(struct dvb_frontend *fe,
enum fe_sec_voltage voltage)
{ … }
static int tevii_dvbs_set_voltage(struct dvb_frontend *fe,
enum fe_sec_voltage voltage)
{ … }
static int vp1027_set_voltage(struct dvb_frontend *fe,
enum fe_sec_voltage voltage)
{ … }
static const struct cx24123_config geniatech_dvbs_config = …;
static const struct cx24123_config hauppauge_novas_config = …;
static const struct cx24123_config kworld_dvbs_100_config = …;
static const struct s5h1409_config pinnacle_pctv_hd_800i_config = …;
static const struct s5h1409_config dvico_hdtv5_pci_nano_config = …;
static const struct s5h1409_config kworld_atsc_120_config = …;
static const struct xc5000_config pinnacle_pctv_hd_800i_tuner_config = …;
static const struct zl10353_config cx88_pinnacle_hybrid_pctv = …;
static const struct zl10353_config cx88_geniatech_x8000_mt = …;
static const struct s5h1411_config dvico_fusionhdtv7_config = …;
static const struct xc5000_config dvico_fusionhdtv7_tuner_config = …;
static int attach_xc3028(u8 addr, struct cx8802_dev *dev)
{ … }
static int attach_xc4000(struct cx8802_dev *dev, struct xc4000_config *cfg)
{ … }
static int cx24116_set_ts_param(struct dvb_frontend *fe,
int is_punctured)
{ … }
static int stv0900_set_ts_param(struct dvb_frontend *fe,
int is_punctured)
{ … }
static int cx24116_reset_device(struct dvb_frontend *fe)
{ … }
static const struct cx24116_config hauppauge_hvr4000_config = …;
static const struct cx24116_config tevii_s460_config = …;
static int ds3000_set_ts_param(struct dvb_frontend *fe,
int is_punctured)
{ … }
static struct ds3000_config tevii_ds3000_config = …;
static struct ts2020_config tevii_ts2020_config = …;
static const struct stv0900_config prof_7301_stv0900_config = …;
static const struct stb6100_config prof_7301_stb6100_config = …;
static const struct stv0299_config tevii_tuner_sharp_config = …;
static const struct stv0288_config tevii_tuner_earda_config = …;
static int cx8802_alloc_frontends(struct cx8802_dev *dev)
{ … }
static const u8 samsung_smt_7020_inittab[] = …;
static int samsung_smt_7020_tuner_set_params(struct dvb_frontend *fe)
{ … }
static int samsung_smt_7020_set_tone(struct dvb_frontend *fe,
enum fe_sec_tone_mode tone)
{ … }
static int samsung_smt_7020_set_voltage(struct dvb_frontend *fe,
enum fe_sec_voltage voltage)
{ … }
static int samsung_smt_7020_stv0299_set_symbol_rate(struct dvb_frontend *fe,
u32 srate, u32 ratio)
{ … }
static const struct stv0299_config samsung_stv0299_config = …;
static int dvb_register(struct cx8802_dev *dev)
{ … }
static int cx8802_dvb_advise_acquire(struct cx8802_driver *drv)
{ … }
static int cx8802_dvb_advise_release(struct cx8802_driver *drv)
{ … }
static int cx8802_dvb_probe(struct cx8802_driver *drv)
{ … }
static int cx8802_dvb_remove(struct cx8802_driver *drv)
{ … }
static struct cx8802_driver cx8802_dvb_driver = …;
static int __init dvb_init(void)
{ … }
static void __exit dvb_fini(void)
{ … }
module_init(…) …;
module_exit(dvb_fini);