linux/drivers/media/dvb-frontends/af9013.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * Afatech AF9013 demodulator driver
 *
 * Copyright (C) 2007 Antti Palosaari <[email protected]>
 * Copyright (C) 2011 Antti Palosaari <[email protected]>
 *
 * Thanks to Afatech who kindly provided information.
 */

#include "af9013_priv.h"

struct af9013_state {};

static int af9013_set_gpio(struct af9013_state *state, u8 gpio, u8 gpioval)
{}

static int af9013_get_tune_settings(struct dvb_frontend *fe,
	struct dvb_frontend_tune_settings *fesettings)
{}

static int af9013_set_frontend(struct dvb_frontend *fe)
{}

static int af9013_get_frontend(struct dvb_frontend *fe,
			       struct dtv_frontend_properties *c)
{}

static int af9013_read_status(struct dvb_frontend *fe, enum fe_status *status)
{}

static int af9013_read_snr(struct dvb_frontend *fe, u16 *snr)
{}

static int af9013_read_signal_strength(struct dvb_frontend *fe, u16 *strength)
{}

static int af9013_read_ber(struct dvb_frontend *fe, u32 *ber)
{}

static int af9013_read_ucblocks(struct dvb_frontend *fe, u32 *ucblocks)
{}

static int af9013_init(struct dvb_frontend *fe)
{}

static int af9013_sleep(struct dvb_frontend *fe)
{}

static const struct dvb_frontend_ops af9013_ops;

static int af9013_download_firmware(struct af9013_state *state)
{}

static const struct dvb_frontend_ops af9013_ops =;

static int af9013_pid_filter_ctrl(struct dvb_frontend *fe, int onoff)
{}

static int af9013_pid_filter(struct dvb_frontend *fe, u8 index, u16 pid,
			     int onoff)
{}

static struct dvb_frontend *af9013_get_dvb_frontend(struct i2c_client *client)
{}

static struct i2c_adapter *af9013_get_i2c_adapter(struct i2c_client *client)
{}

/*
 * XXX: Hackish solution. We use virtual register, reg bit 16, to carry info
 * about i2c adapter locking. Own locking is needed because i2c mux call has
 * already locked i2c adapter.
 */
static int af9013_select(struct i2c_mux_core *muxc, u32 chan)
{}

static int af9013_deselect(struct i2c_mux_core *muxc, u32 chan)
{}

/* Own I2C access routines needed for regmap as chip uses extra command byte */
static int af9013_wregs(struct i2c_client *client, u8 cmd, u16 reg,
			const u8 *val, int len, u8 lock)
{}

static int af9013_rregs(struct i2c_client *client, u8 cmd, u16 reg,
			u8 *val, int len, u8 lock)
{}

static int af9013_regmap_write(void *context, const void *data, size_t count)
{}

static int af9013_regmap_read(void *context, const void *reg_buf,
			      size_t reg_size, void *val_buf, size_t val_size)
{}

static int af9013_probe(struct i2c_client *client)
{}

static void af9013_remove(struct i2c_client *client)
{}

static const struct i2c_device_id af9013_id_table[] =;
MODULE_DEVICE_TABLE(i2c, af9013_id_table);

static struct i2c_driver af9013_driver =;

module_i2c_driver();

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