linux/drivers/media/tuners/mxl301rf.c

// SPDX-License-Identifier: GPL-2.0
/*
 * MaxLinear MxL301RF OFDM tuner driver
 *
 * Copyright (C) 2014 Akihiro Tsukada <[email protected]>
 */

/*
 * NOTICE:
 * This driver is incomplete and lacks init/config of the chips,
 * as the necessary info is not disclosed.
 * Other features like get_if_frequency() are missing as well.
 * It assumes that users of this driver (such as a PCI bridge of
 * DTV receiver cards) properly init and configure the chip
 * via I2C *before* calling this driver's init() function.
 *
 * Currently, PT3 driver is the only one that uses this driver,
 * and contains init/config code in its firmware.
 * Thus some part of the code might be dependent on PT3 specific config.
 */

#include <linux/kernel.h>
#include "mxl301rf.h"

struct mxl301rf_state {};

static struct mxl301rf_state *cfg_to_state(struct mxl301rf_config *c)
{}

static int raw_write(struct mxl301rf_state *state, const u8 *buf, int len)
{}

static int reg_write(struct mxl301rf_state *state, u8 reg, u8 val)
{}

static int reg_read(struct mxl301rf_state *state, u8 reg, u8 *val)
{}

/* tuner_ops */

/* get RSSI and update propery cache, set to *out in % */
static int mxl301rf_get_rf_strength(struct dvb_frontend *fe, u16 *out)
{}

/* spur shift parameters */
struct shf {};

static const struct shf shf_tab[] =;

struct reg_val {} __attribute__ ((packed));

static const struct reg_val set_idac[] =;

static int mxl301rf_set_params(struct dvb_frontend *fe)
{}

static const struct reg_val standby_data[] =;

static int mxl301rf_sleep(struct dvb_frontend *fe)
{}


/* init sequence is not public.
 * the parent must have init'ed the device.
 * just wake up here.
 */
static int mxl301rf_init(struct dvb_frontend *fe)
{}

/* I2C driver functions */

static const struct dvb_tuner_ops mxl301rf_ops =;


static int mxl301rf_probe(struct i2c_client *client)
{}

static void mxl301rf_remove(struct i2c_client *client)
{}


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

static struct i2c_driver mxl301rf_driver =;

module_i2c_driver();

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