#include "af9015.h"
static int dvb_usb_af9015_remote;
module_param_named(remote, dvb_usb_af9015_remote, int, 0644);
MODULE_PARM_DESC(…) …;
DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr);
static int af9015_ctrl_msg(struct dvb_usb_device *d, struct req_t *req)
{ … }
static int af9015_write_reg_i2c(struct dvb_usb_device *d, u8 addr, u16 reg,
u8 val)
{ … }
static int af9015_read_reg_i2c(struct dvb_usb_device *d, u8 addr, u16 reg,
u8 *val)
{ … }
static int af9015_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msg[],
int num)
{ … }
static u32 af9015_i2c_func(struct i2c_adapter *adapter)
{ … }
static struct i2c_algorithm af9015_i2c_algo = …;
static int af9015_identify_state(struct dvb_usb_device *d, const char **name)
{ … }
static int af9015_download_firmware(struct dvb_usb_device *d,
const struct firmware *firmware)
{ … }
#define AF9015_EEPROM_SIZE …
#define GOLDEN_RATIO_PRIME_32 …
static int af9015_eeprom_hash(struct dvb_usb_device *d)
{ … }
static int af9015_read_config(struct dvb_usb_device *d)
{ … }
static int af9015_get_stream_config(struct dvb_frontend *fe, u8 *ts_type,
struct usb_data_stream_properties *stream)
{ … }
static int af9015_streaming_ctrl(struct dvb_frontend *fe, int onoff)
{ … }
static int af9015_get_adapter_count(struct dvb_usb_device *d)
{ … }
static int af9015_af9013_set_frontend(struct dvb_frontend *fe)
{ … }
static int af9015_af9013_read_status(struct dvb_frontend *fe,
enum fe_status *status)
{ … }
static int af9015_af9013_init(struct dvb_frontend *fe)
{ … }
static int af9015_af9013_sleep(struct dvb_frontend *fe)
{ … }
static int af9015_tuner_init(struct dvb_frontend *fe)
{ … }
static int af9015_tuner_sleep(struct dvb_frontend *fe)
{ … }
static int af9015_copy_firmware(struct dvb_usb_device *d)
{ … }
static int af9015_af9013_frontend_attach(struct dvb_usb_adapter *adap)
{ … }
static int af9015_frontend_detach(struct dvb_usb_adapter *adap)
{ … }
static struct mt2060_config af9015_mt2060_config = …;
static struct qt1010_config af9015_qt1010_config = …;
static struct tda18271_config af9015_tda18271_config = …;
static struct mxl5005s_config af9015_mxl5003_config = …;
static struct mxl5005s_config af9015_mxl5005_config = …;
static struct mc44s803_config af9015_mc44s803_config = …;
static struct tda18218_config af9015_tda18218_config = …;
static struct mxl5007t_config af9015_mxl5007t_config = …;
static int af9015_tuner_attach(struct dvb_usb_adapter *adap)
{ … }
static int af9015_pid_filter_ctrl(struct dvb_usb_adapter *adap, int onoff)
{ … }
static int af9015_pid_filter(struct dvb_usb_adapter *adap, int index,
u16 pid, int onoff)
{ … }
static int af9015_init(struct dvb_usb_device *d)
{ … }
#if IS_ENABLED(CONFIG_RC_CORE)
struct af9015_rc_setup { … };
static char *af9015_rc_setup_match(unsigned int id,
const struct af9015_rc_setup *table)
{ … }
static const struct af9015_rc_setup af9015_rc_setup_modparam[] = …;
static const struct af9015_rc_setup af9015_rc_setup_hashes[] = …;
static int af9015_rc_query(struct dvb_usb_device *d)
{ … }
static int af9015_get_rc_config(struct dvb_usb_device *d, struct dvb_usb_rc *rc)
{ … }
#else
#define af9015_get_rc_config …
#endif
static int af9015_regmap_write(void *context, const void *data, size_t count)
{ … }
static int af9015_regmap_read(void *context, const void *reg_buf,
size_t reg_size, void *val_buf, size_t val_size)
{ … }
static int af9015_probe(struct dvb_usb_device *d)
{ … }
static void af9015_disconnect(struct dvb_usb_device *d)
{ … }
static const struct dvb_usb_device_properties af9015_props = …;
static const struct usb_device_id af9015_id_table[] = …;
MODULE_DEVICE_TABLE(usb, af9015_id_table);
static struct usb_driver af9015_usb_driver = …;
module_usb_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
MODULE_FIRMWARE(…);