linux/drivers/media/tuners/fc2580.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * FCI FC2580 silicon tuner driver
 *
 * Copyright (C) 2012 Antti Palosaari <[email protected]>
 */

#include "fc2580_priv.h"

/*
 * TODO:
 * I2C write and read works only for one single register. Multiple registers
 * could not be accessed using normal register address auto-increment.
 * There could be (very likely) register to change that behavior....
 */

/* write single register conditionally only when value differs from 0xff
 * XXX: This is special routine meant only for writing fc2580_freq_regs_lut[]
 * values. Do not use for the other purposes. */
static int fc2580_wr_reg_ff(struct fc2580_dev *dev, u8 reg, u8 val)
{}

static int fc2580_set_params(struct fc2580_dev *dev)
{}

static int fc2580_init(struct fc2580_dev *dev)
{}

static int fc2580_sleep(struct fc2580_dev *dev)
{}

/*
 * DVB API
 */
static int fc2580_dvb_set_params(struct dvb_frontend *fe)
{}

static int fc2580_dvb_init(struct dvb_frontend *fe)
{}

static int fc2580_dvb_sleep(struct dvb_frontend *fe)
{}

static int fc2580_dvb_get_if_frequency(struct dvb_frontend *fe, u32 *frequency)
{}

static const struct dvb_tuner_ops fc2580_dvb_tuner_ops =;

/*
 * V4L2 API
 */
#if IS_ENABLED(CONFIG_VIDEO_DEV)
static const struct v4l2_frequency_band bands[] =;

static inline struct fc2580_dev *fc2580_subdev_to_dev(struct v4l2_subdev *sd)
{}

static int fc2580_standby(struct v4l2_subdev *sd)
{}

static int fc2580_g_tuner(struct v4l2_subdev *sd, struct v4l2_tuner *v)
{}

static int fc2580_s_tuner(struct v4l2_subdev *sd, const struct v4l2_tuner *v)
{}

static int fc2580_g_frequency(struct v4l2_subdev *sd, struct v4l2_frequency *f)
{}

static int fc2580_s_frequency(struct v4l2_subdev *sd,
			      const struct v4l2_frequency *f)
{}

static int fc2580_enum_freq_bands(struct v4l2_subdev *sd,
				  struct v4l2_frequency_band *band)
{}

static const struct v4l2_subdev_tuner_ops fc2580_subdev_tuner_ops =;

static const struct v4l2_subdev_ops fc2580_subdev_ops =;

static int fc2580_s_ctrl(struct v4l2_ctrl *ctrl)
{}

static const struct v4l2_ctrl_ops fc2580_ctrl_ops =;
#endif

static struct v4l2_subdev *fc2580_get_v4l2_subdev(struct i2c_client *client)
{}

static int fc2580_probe(struct i2c_client *client)
{}

static void fc2580_remove(struct i2c_client *client)
{}

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

static struct i2c_driver fc2580_driver =;

module_i2c_driver();

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