linux/drivers/media/usb/dvb-usb/m920x.c

// SPDX-License-Identifier: GPL-2.0-only
/* DVB USB compliant linux driver for MSI Mega Sky 580 DVB-T USB2.0 receiver
 *
 * Copyright (C) 2006 Aapo Tahkola ([email protected])
 *
 * see Documentation/driver-api/media/drivers/dvb-usb.rst for more information
 */

#include "m920x.h"

#include "mt352.h"
#include "mt352_priv.h"
#include "qt1010.h"
#include "tda1004x.h"
#include "tda827x.h"
#include "mt2060.h"

#include <media/tuner.h>
#include "tuner-simple.h"
#include <asm/unaligned.h>

/* debug */
static int dvb_usb_m920x_debug;
module_param_named(debug,dvb_usb_m920x_debug, int, 0644);
MODULE_PARM_DESC();

DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr);

static int m920x_set_filter(struct dvb_usb_device *d, int type, int idx, int pid);

static inline int m920x_read(struct usb_device *udev, u8 request, u16 value,
			     u16 index, void *data, int size)
{}

static inline int m920x_write(struct usb_device *udev, u8 request,
			      u16 value, u16 index)
{}

static inline int m920x_write_seq(struct usb_device *udev, u8 request,
				  struct m920x_inits *seq)
{}

static int m920x_init(struct dvb_usb_device *d, struct m920x_inits *rc_seq)
{}

static int m920x_init_ep(struct usb_interface *intf)
{}

static inline void m920x_parse_rc_state(struct dvb_usb_device *d, u8 rc_state,
					int *state)
{}

static int m920x_rc_query(struct dvb_usb_device *d, u32 *event, int *state)
{}

static int m920x_rc_core_query(struct dvb_usb_device *d)
{}

/* I2C */
static int m920x_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msg[], int num)
{}

static u32 m920x_i2c_func(struct i2c_adapter *adapter)
{}

static struct i2c_algorithm m920x_i2c_algo =;

/* pid filter */
static int m920x_set_filter(struct dvb_usb_device *d, int type, int idx, int pid)
{}

static int m920x_update_filters(struct dvb_usb_adapter *adap)
{}

static int m920x_pid_filter_ctrl(struct dvb_usb_adapter *adap, int onoff)
{}

static int m920x_pid_filter(struct dvb_usb_adapter *adap, int index, u16 pid, int onoff)
{}

static int m920x_firmware_download(struct usb_device *udev, const struct firmware *fw)
{}

/* Callbacks for DVB USB */
static int m920x_identify_state(struct usb_device *udev,
				const struct dvb_usb_device_properties *props,
				const struct dvb_usb_device_description **desc,
				int *cold)
{}

/* demod configurations */
static int m920x_mt352_demod_init(struct dvb_frontend *fe)
{}

static struct mt352_config m920x_mt352_config =;

static struct tda1004x_config m920x_tda10046_08_config =;

static struct tda1004x_config m920x_tda10046_0b_config =;

/* tuner configurations */
static struct qt1010_config m920x_qt1010_config =;

static struct mt2060_config m920x_mt2060_config =;


/* Callbacks for DVB USB */
static int m920x_mt352_frontend_attach(struct dvb_usb_adapter *adap)
{}

static int m920x_mt352_frontend_attach_vp7049(struct dvb_usb_adapter *adap)
{}

static int m920x_tda10046_08_frontend_attach(struct dvb_usb_adapter *adap)
{}

static int m920x_tda10046_0b_frontend_attach(struct dvb_usb_adapter *adap)
{}

static int m920x_qt1010_tuner_attach(struct dvb_usb_adapter *adap)
{}

static int m920x_tda8275_60_tuner_attach(struct dvb_usb_adapter *adap)
{}

static int m920x_tda8275_61_tuner_attach(struct dvb_usb_adapter *adap)
{}

static int m920x_fmd1216me_tuner_attach(struct dvb_usb_adapter *adap)
{}

static int m920x_mt2060_tuner_attach(struct dvb_usb_adapter *adap)
{}


/* device-specific initialization */
static struct m920x_inits megasky_rc_init [] =;

static struct m920x_inits tvwalkertwin_rc_init [] =;

static struct m920x_inits pinnacle310e_init[] =;

static struct m920x_inits vp7049_rc_init[] =;

/* ir keymaps */
static struct rc_map_table rc_map_megasky_table[] =;

static struct rc_map_table rc_map_tvwalkertwin_table[] =;

static struct rc_map_table rc_map_pinnacle310e_table[] =;

/* DVB USB Driver stuff */
static struct dvb_usb_device_properties megasky_properties;
static struct dvb_usb_device_properties digivox_mini_ii_properties;
static struct dvb_usb_device_properties tvwalkertwin_properties;
static struct dvb_usb_device_properties dposh_properties;
static struct dvb_usb_device_properties pinnacle_pctv310e_properties;
static struct dvb_usb_device_properties vp7049_properties;

static int m920x_probe(struct usb_interface *intf,
		       const struct usb_device_id *id)
{}

enum {};

static struct usb_device_id m920x_table[] =;

MODULE_DEVICE_TABLE (usb, m920x_table);

static struct dvb_usb_device_properties megasky_properties =;

static struct dvb_usb_device_properties digivox_mini_ii_properties =;

/* LifeView TV Walker Twin support by Nick Andrew <[email protected]>
 *
 * LifeView TV Walker Twin has 1 x M9206, 2 x TDA10046, 2 x TDA8275A
 * TDA10046 #0 is located at i2c address 0x08
 * TDA10046 #1 is located at i2c address 0x0b
 * TDA8275A #0 is located at i2c address 0x60
 * TDA8275A #1 is located at i2c address 0x61
 */
static struct dvb_usb_device_properties tvwalkertwin_properties =;

static struct dvb_usb_device_properties dposh_properties =;

static struct dvb_usb_device_properties pinnacle_pctv310e_properties =;

static struct dvb_usb_device_properties vp7049_properties =;

static struct usb_driver m920x_driver =;

module_usb_driver();

MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_VERSION();
MODULE_LICENSE();