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

// SPDX-License-Identifier: GPL-2.0-only
/* DVB USB compliant linux driver for Technotrend DVB USB boxes and clones
 * (e.g. Pinnacle 400e DVB-S USB2.0).
 *
 * The Pinnacle 400e uses the same protocol as the Technotrend USB1.1 boxes.
 *
 * TDA8263 + TDA10086
 *
 * I2C addresses:
 * 0x08 - LNBP21PD   - LNB power supply
 * 0x0e - TDA10086   - Demodulator
 * 0x50 - FX2 eeprom
 * 0x60 - TDA8263    - Tuner
 * 0x78 ???
 *
 * Copyright (c) 2002 Holger Waechtler <[email protected]>
 * Copyright (c) 2003 Felix Domke <[email protected]>
 * Copyright (C) 2005-6 Patrick Boettcher <[email protected]>
 *
 * see Documentation/driver-api/media/drivers/dvb-usb.rst for more information
 */
#define DVB_USB_LOG_PREFIX
#include "dvb-usb.h"

#include "ttusb2.h"

#include "tda826x.h"
#include "tda10086.h"
#include "tda1002x.h"
#include "tda10048.h"
#include "tda827x.h"
#include "lnbp21.h"
/* CA */
#include <media/dvb_ca_en50221.h>

/* debug */
static int dvb_usb_ttusb2_debug;
#define deb_info(args...)
module_param_named(debug,dvb_usb_ttusb2_debug, int, 0644);
MODULE_PARM_DESC();
static int dvb_usb_ttusb2_debug_ci;
module_param_named(debug_ci,dvb_usb_ttusb2_debug_ci, int, 0644);
MODULE_PARM_DESC();

DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr);

#define ci_dbg(format, arg...)

enum {};

struct ttusb2_state {};

static int ttusb2_msg(struct dvb_usb_device *d, u8 cmd,
		u8 *wbuf, int wlen, u8 *rbuf, int rlen)
{}

/* ci */
static int tt3650_ci_msg(struct dvb_usb_device *d, u8 cmd, u8 *data, unsigned int write_len, unsigned int read_len)
{}

static int tt3650_ci_msg_locked(struct dvb_ca_en50221 *ca, u8 cmd, u8 *data, unsigned int write_len, unsigned int read_len)
{}

static int tt3650_ci_read_attribute_mem(struct dvb_ca_en50221 *ca, int slot, int address)
{}

static int tt3650_ci_write_attribute_mem(struct dvb_ca_en50221 *ca, int slot, int address, u8 value)
{}

static int tt3650_ci_read_cam_control(struct dvb_ca_en50221 *ca, int slot, u8 address)
{}

static int tt3650_ci_write_cam_control(struct dvb_ca_en50221 *ca, int slot, u8 address, u8 value)
{}

static int tt3650_ci_set_video_port(struct dvb_ca_en50221 *ca, int slot, int enable)
{}

static int tt3650_ci_slot_shutdown(struct dvb_ca_en50221 *ca, int slot)
{}

static int tt3650_ci_slot_ts_enable(struct dvb_ca_en50221 *ca, int slot)
{}

static int tt3650_ci_slot_reset(struct dvb_ca_en50221 *ca, int slot)
{}

static int tt3650_ci_poll_slot_status(struct dvb_ca_en50221 *ca, int slot, int open)
{}

static void tt3650_ci_uninit(struct dvb_usb_device *d)
{}

static int tt3650_ci_init(struct dvb_usb_adapter *a)
{}

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

static u32 ttusb2_i2c_func(struct i2c_adapter *adapter)
{}

static struct i2c_algorithm ttusb2_i2c_algo =;

/* command to poll IR receiver (copied from pctv452e.c) */
#define CMD_GET_IR_CODE

/* IR */
static int tt3650_rc_query(struct dvb_usb_device *d)
{}


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

static int ttusb2_power_ctrl(struct dvb_usb_device *d, int onoff)
{}


static struct tda10086_config tda10086_config =;

static struct tda10023_config tda10023_config =;

static struct tda10048_config tda10048_config =;

static struct tda827x_config tda827x_config =;

static int ttusb2_frontend_tda10086_attach(struct dvb_usb_adapter *adap)
{}

static int ttusb2_ct3650_i2c_gate_ctrl(struct dvb_frontend *fe, int enable)
{}

static int ttusb2_frontend_tda10023_attach(struct dvb_usb_adapter *adap)
{}

static int ttusb2_tuner_tda827x_attach(struct dvb_usb_adapter *adap)
{}

static int ttusb2_tuner_tda826x_attach(struct dvb_usb_adapter *adap)
{}

/* DVB USB Driver stuff */
static struct dvb_usb_device_properties ttusb2_properties;
static struct dvb_usb_device_properties ttusb2_properties_s2400;
static struct dvb_usb_device_properties ttusb2_properties_ct3650;

static void ttusb2_usb_disconnect(struct usb_interface *intf)
{}

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

enum {};

static struct usb_device_id ttusb2_table[] =;

MODULE_DEVICE_TABLE (usb, ttusb2_table);

static struct dvb_usb_device_properties ttusb2_properties =;

static struct dvb_usb_device_properties ttusb2_properties_s2400 =;

static struct dvb_usb_device_properties ttusb2_properties_ct3650 =;

static struct usb_driver ttusb2_driver =;

module_usb_driver();

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