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

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * PCTV 452e DVB driver
 *
 * Copyright (c) 2006-2008 Dominik Kuhlen <[email protected]>
 *
 * TT connect S2-3650-CI Common Interface support, MAC readout
 * Copyright (C) 2008 Michael H. Schimek <[email protected]>
 */

/* dvb usb framework */
#define DVB_USB_LOG_PREFIX
#include "dvb-usb.h"

/* Demodulator */
#include "stb0899_drv.h"
#include "stb0899_reg.h"
#include "stb0899_cfg.h"
/* Tuner */
#include "stb6100.h"
#include "stb6100_cfg.h"
/* FE Power */
#include "isl6423.h"
#include "lnbp22.h"

#include <media/dvb_ca_en50221.h>
#include "ttpci-eeprom.h"

#include <linux/etherdevice.h>

static int debug;
module_param(debug, int, 0644);
MODULE_PARM_DESC();

DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr);

#define ISOC_INTERFACE_ALTERNATIVE

#define SYNC_BYTE_OUT
#define SYNC_BYTE_IN

/* guessed: (copied from ttusb-budget) */
#define PCTV_CMD_RESET
/* command to poll IR receiver */
#define PCTV_CMD_IR
/* command to send I2C  */
#define PCTV_CMD_I2C

#define I2C_ADDR_STB0899
#define I2C_ADDR_STB6100
#define I2C_ADDR_LNBP22
#define I2C_ADDR_24C16
#define I2C_ADDR_24C64


/* pctv452e sends us this amount of data for each issued usb-command */
#define PCTV_ANSWER_LEN
/* Wait up to 1000ms for device  */
#define PCTV_TIMEOUT


#define PCTV_LED_GPIO
#define PCTV_LED_GREEN
#define PCTV_LED_ORANGE

#define ci_dbg(format, arg...)

enum {};


static struct stb0899_postproc pctv45e_postproc[] =;

static struct isl6423_config pctv452e_isl6423_config =;

/*
 * stores all private variables for communication with the PCTV452e DVB-S2
 */
struct pctv452e_state {};

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)
{}

#define CMD_BUFFER_SIZE
static int pctv452e_i2c_msg(struct dvb_usb_device *d, u8 addr,
				const u8 *snd_buf, u8 snd_len,
				u8 *rcv_buf, u8 rcv_len)
{}

static int pctv452e_i2c_xfer(struct i2c_adapter *adapter, struct i2c_msg *msg,
				int num)
{}

static u32 pctv452e_i2c_func(struct i2c_adapter *adapter)
{}

static int pctv452e_power_ctrl(struct dvb_usb_device *d, int i)
{}

static int pctv452e_rc_query(struct dvb_usb_device *d)
{}

static int pctv452e_read_mac_address(struct dvb_usb_device *d, u8 mac[6])
{}

static const struct stb0899_s1_reg pctv452e_init_dev[] =;

static const struct stb0899_s1_reg pctv452e_init_s1_demod[] =;

static struct stb0899_config stb0899_config =;

static struct stb6100_config stb6100_config =;


static struct i2c_algorithm pctv452e_i2c_algo =;

static int pctv452e_frontend_attach(struct dvb_usb_adapter *a)
{}

static int pctv452e_tuner_attach(struct dvb_usb_adapter *a)
{}

enum {};

static struct usb_device_id pctv452e_usb_table[] =;

MODULE_DEVICE_TABLE(usb, pctv452e_usb_table);

static struct dvb_usb_device_properties pctv452e_properties =;

static struct dvb_usb_device_properties tt_connect_s2_3600_properties =;

static void pctv452e_usb_disconnect(struct usb_interface *intf)
{}

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

static struct usb_driver pctv452e_usb_driver =;

module_usb_driver();

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