#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/init.h>
#include <linux/delay.h>
#include <linux/firmware.h>
#include <linux/i2c.h>
#include <asm/div64.h>
#include "stv6111.h"
#include <media/dvb_frontend.h>
struct stv { … };
struct slookup { … };
static const struct slookup lnagain_nf_lookup[] = …;
static const struct slookup lnagain_iip3_lookup[] = …;
static const struct slookup gain_rfagc_lookup[] = …;
static const struct slookup gain_channel_agc_nf_lookup[] = …;
static const struct slookup gain_channel_agc_iip3_lookup[] = …;
static inline u32 muldiv32(u32 a, u32 b, u32 c)
{ … }
static int i2c_read(struct i2c_adapter *adap,
u8 adr, u8 *msg, int len, u8 *answ, int alen)
{ … }
static int i2c_write(struct i2c_adapter *adap, u8 adr, u8 *data, int len)
{ … }
static int write_regs(struct stv *state, int reg, int len)
{ … }
static int write_reg(struct stv *state, u8 reg, u8 val)
{ … }
static int read_reg(struct stv *state, u8 reg, u8 *val)
{ … }
static int wait_for_call_done(struct stv *state, u8 mask)
{ … }
static void init_state(struct stv *state)
{ … }
static int attach_init(struct stv *state)
{ … }
static void release(struct dvb_frontend *fe)
{ … }
static int set_bandwidth(struct dvb_frontend *fe, u32 cutoff_frequency)
{ … }
static int set_lof(struct stv *state, u32 local_frequency, u32 cutoff_frequency)
{ … }
static int set_params(struct dvb_frontend *fe)
{ … }
static s32 table_lookup(const struct slookup *table,
int table_size, u16 reg_value)
{ … }
static int get_rf_strength(struct dvb_frontend *fe, u16 *st)
{ … }
static const struct dvb_tuner_ops tuner_ops = …;
struct dvb_frontend *stv6111_attach(struct dvb_frontend *fe,
struct i2c_adapter *i2c, u8 adr)
{ … }
EXPORT_SYMBOL_GPL(…);
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;