#include "drxk.h"
#include "mt2063.h"
#include <media/dvb_ca_en50221.h>
#include "dvb_usb.h"
#include "cypress_firmware.h"
#define AZ6007_FIRMWARE …
static int az6007_xfer_debug;
module_param_named(xfer_debug, az6007_xfer_debug, int, 0644);
MODULE_PARM_DESC(…) …;
DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr);
#define FX2_OED …
#define AZ6007_READ_DATA …
#define AZ6007_I2C_RD …
#define AZ6007_POWER …
#define AZ6007_I2C_WR …
#define FX2_SCON1 …
#define AZ6007_TS_THROUGH …
#define AZ6007_READ_IR …
struct az6007_device_state { … };
static struct drxk_config terratec_h7_drxk = …;
static struct drxk_config cablestar_hdci_drxk = …;
static int drxk_gate_ctrl(struct dvb_frontend *fe, int enable)
{ … }
static struct mt2063_config az6007_mt2063_config = …;
static int __az6007_read(struct usb_device *udev, u8 req, u16 value,
u16 index, u8 *b, int blen)
{ … }
static int az6007_read(struct dvb_usb_device *d, u8 req, u16 value,
u16 index, u8 *b, int blen)
{ … }
static int __az6007_write(struct usb_device *udev, u8 req, u16 value,
u16 index, u8 *b, int blen)
{ … }
static int az6007_write(struct dvb_usb_device *d, u8 req, u16 value,
u16 index, u8 *b, int blen)
{ … }
static int az6007_streaming_ctrl(struct dvb_frontend *fe, int onoff)
{ … }
#if IS_ENABLED(CONFIG_RC_CORE)
static int az6007_rc_query(struct dvb_usb_device *d)
{ … }
static int az6007_get_rc_config(struct dvb_usb_device *d, struct dvb_usb_rc *rc)
{ … }
#else
#define az6007_get_rc_config …
#endif
static int az6007_ci_read_attribute_mem(struct dvb_ca_en50221 *ca,
int slot,
int address)
{ … }
static int az6007_ci_write_attribute_mem(struct dvb_ca_en50221 *ca,
int slot,
int address,
u8 value)
{ … }
static int az6007_ci_read_cam_control(struct dvb_ca_en50221 *ca,
int slot,
u8 address)
{ … }
static int az6007_ci_write_cam_control(struct dvb_ca_en50221 *ca,
int slot,
u8 address,
u8 value)
{ … }
static int CI_CamReady(struct dvb_ca_en50221 *ca, int slot)
{ … }
static int az6007_ci_slot_reset(struct dvb_ca_en50221 *ca, int slot)
{ … }
static int az6007_ci_slot_shutdown(struct dvb_ca_en50221 *ca, int slot)
{ … }
static int az6007_ci_slot_ts_enable(struct dvb_ca_en50221 *ca, int slot)
{ … }
static int az6007_ci_poll_slot_status(struct dvb_ca_en50221 *ca, int slot, int open)
{ … }
static void az6007_ci_uninit(struct dvb_usb_device *d)
{ … }
static int az6007_ci_init(struct dvb_usb_adapter *adap)
{ … }
static int az6007_read_mac_addr(struct dvb_usb_adapter *adap, u8 mac[6])
{ … }
static int az6007_frontend_attach(struct dvb_usb_adapter *adap)
{ … }
static int az6007_cablestar_hdci_frontend_attach(struct dvb_usb_adapter *adap)
{ … }
static int az6007_tuner_attach(struct dvb_usb_adapter *adap)
{ … }
static int az6007_power_ctrl(struct dvb_usb_device *d, int onoff)
{ … }
static int az6007_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[],
int num)
{ … }
static u32 az6007_i2c_func(struct i2c_adapter *adapter)
{ … }
static struct i2c_algorithm az6007_i2c_algo = …;
static int az6007_identify_state(struct dvb_usb_device *d, const char **name)
{ … }
static void az6007_usb_disconnect(struct usb_interface *intf)
{ … }
static int az6007_download_firmware(struct dvb_usb_device *d,
const struct firmware *fw)
{ … }
static struct dvb_usb_device_properties az6007_props = …;
static struct dvb_usb_device_properties az6007_cablestar_hdci_props = …;
static const struct usb_device_id az6007_usb_table[] = …;
MODULE_DEVICE_TABLE(usb, az6007_usb_table);
static int az6007_suspend(struct usb_interface *intf, pm_message_t msg)
{ … }
static int az6007_resume(struct usb_interface *intf)
{ … }
static struct usb_driver az6007_usb_driver = …;
module_usb_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_VERSION(…) …;
MODULE_LICENSE(…) …;
MODULE_FIRMWARE(…);