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

// SPDX-License-Identifier: GPL-2.0
/*
 * Driver for the MaxLinear MxL69x family of combo tuners/demods
 *
 * Copyright (C) 2020 Brad Love <[email protected]>
 *
 * based on code:
 * Copyright (c) 2016 MaxLinear, Inc. All rights reserved
 * which was released under GPL V2
 */

#include <linux/mutex.h>
#include <linux/i2c-mux.h>
#include <linux/string.h>
#include <linux/firmware.h>

#include "mxl692.h"
#include "mxl692_defs.h"

static const struct dvb_frontend_ops mxl692_ops;

struct mxl692_dev {};

static int mxl692_i2c_write(struct mxl692_dev *dev, u8 *buffer, u16 buf_len)
{}

static int mxl692_i2c_read(struct mxl692_dev *dev, u8 *buffer, u16 buf_len)
{}

static int convert_endian(u32 size, u8 *d)
{}

static int convert_endian_n(int n, u32 size, u8 *d)
{}

static void mxl692_tx_swap(enum MXL_EAGLE_OPCODE_E opcode, u8 *buffer)
{}

static void mxl692_rx_swap(enum MXL_EAGLE_OPCODE_E opcode, u8 *buffer)
{}

static u32 mxl692_checksum(u8 *buffer, u32 size)
{}

static int mxl692_validate_fw_header(struct mxl692_dev *dev,
				     const u8 *buffer, u32 buf_len)
{}

static int mxl692_write_fw_block(struct mxl692_dev *dev, const u8 *buffer,
				 u32 buf_len, u32 *index)
{}

static int mxl692_memwrite(struct mxl692_dev *dev, u32 addr,
			   u8 *buffer, u32 size)
{}

static int mxl692_memread(struct mxl692_dev *dev, u32 addr,
			  u8 *buffer, u32 size)
{}

static const char *mxl692_opcode_string(u8 opcode)
{}

static int mxl692_opwrite(struct mxl692_dev *dev, u8 *buffer,
			  u32 size)
{}

static int mxl692_opread(struct mxl692_dev *dev, u8 *buffer,
			 u32 size)
{}

static int mxl692_i2c_writeread(struct mxl692_dev *dev,
				u8 opcode,
				u8 *tx_payload,
				u8 tx_payload_size,
				u8 *rx_payload,
				u8 rx_payload_expected)
{}

static int mxl692_fwdownload(struct mxl692_dev *dev,
			     const u8 *firmware_buf, u32 buf_len)
{}

static int mxl692_get_versions(struct mxl692_dev *dev)
{}

static int mxl692_reset(struct mxl692_dev *dev)
{}

static int mxl692_config_regulators(struct mxl692_dev *dev,
				    enum MXL_EAGLE_POWER_SUPPLY_SOURCE_E power_supply)
{}

static int mxl692_config_xtal(struct mxl692_dev *dev,
			      struct MXL_EAGLE_DEV_XTAL_T *dev_xtal)
{}

static int mxl692_powermode(struct mxl692_dev *dev,
			    enum MXL_EAGLE_POWER_MODE_E power_mode)
{}

static int mxl692_init(struct dvb_frontend *fe)
{}

static int mxl692_sleep(struct dvb_frontend *fe)
{}

static int mxl692_set_frontend(struct dvb_frontend *fe)
{}

static int mxl692_get_frontend(struct dvb_frontend *fe,
			       struct dtv_frontend_properties *p)
{}

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

static int mxl692_read_ber_ucb(struct dvb_frontend *fe)
{}

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

static const struct dvb_frontend_ops mxl692_ops =;

static int mxl692_probe(struct i2c_client *client)
{}

static void mxl692_remove(struct i2c_client *client)
{}

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

static struct i2c_driver mxl692_driver =;

module_i2c_driver();

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