#include <linux/kernel.h>
#include <asm/div64.h>
#include <media/dvb_frontend.h>
#include "s921.h"
static int debug = …;
module_param(debug, int, 0644);
MODULE_PARM_DESC(…) …;
#define rc(args...) …
#define dprintk(args...) …
struct s921_state { … };
static struct s921_bandselect_val { … } s921_bandselect[] = …;
struct regdata { … };
static struct regdata s921_init[] = …;
static struct regdata s921_prefreq[] = …;
static struct regdata s921_postfreq[] = …;
static int s921_i2c_writereg(struct s921_state *state,
u8 i2c_addr, int reg, int data)
{ … }
static int s921_i2c_writeregdata(struct s921_state *state, u8 i2c_addr,
struct regdata *rd, int size)
{ … }
static int s921_i2c_readreg(struct s921_state *state, u8 i2c_addr, u8 reg)
{ … }
#define s921_readreg(state, reg) …
#define s921_writereg(state, reg, val) …
#define s921_writeregdata(state, regdata) …
static int s921_pll_tune(struct dvb_frontend *fe)
{ … }
static int s921_initfe(struct dvb_frontend *fe)
{ … }
static int s921_read_status(struct dvb_frontend *fe, enum fe_status *status)
{ … }
static int s921_read_signal_strength(struct dvb_frontend *fe, u16 *strength)
{ … }
static int s921_set_frontend(struct dvb_frontend *fe)
{ … }
static int s921_get_frontend(struct dvb_frontend *fe,
struct dtv_frontend_properties *p)
{ … }
static int s921_tune(struct dvb_frontend *fe,
bool re_tune,
unsigned int mode_flags,
unsigned int *delay,
enum fe_status *status)
{ … }
static enum dvbfe_algo s921_get_algo(struct dvb_frontend *fe)
{ … }
static void s921_release(struct dvb_frontend *fe)
{ … }
static const struct dvb_frontend_ops s921_ops;
struct dvb_frontend *s921_attach(const struct s921_config *config,
struct i2c_adapter *i2c)
{ … }
EXPORT_SYMBOL_GPL(…);
static const struct dvb_frontend_ops s921_ops = …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;