#define DVB_USB_LOG_PREFIX …
#include "dvb-usb.h"
#include "stb0899_drv.h"
#include "stb0899_reg.h"
#include "stb0899_cfg.h"
#include "stb6100.h"
#include "stb6100_cfg.h"
#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 …
#define PCTV_CMD_RESET …
#define PCTV_CMD_IR …
#define PCTV_CMD_I2C …
#define I2C_ADDR_STB0899 …
#define I2C_ADDR_STB6100 …
#define I2C_ADDR_LNBP22 …
#define I2C_ADDR_24C16 …
#define I2C_ADDR_24C64 …
#define PCTV_ANSWER_LEN …
#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 = …;
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(…) …;