dib8000_ops
static const struct dvb_frontend_ops dib8000_ops = {
memcpy(&state->fe[0]->ops, &dib8000_ops, sizeof(struct dvb_frontend_ops));
void *dib8000_attach(struct dib8000_ops *ops)
void *dib8000_attach(struct dib8000_ops *ops);
static inline void *dib8000_attach(struct dib8000_ops *ops)
return state->dib8000_ops.set_gpio(fe, 5, 0, !onoff);
return state->dib8000_ops.set_gpio(fe, 0, 0, onoff);
state->dib8000_ops.set_wbd_ref(fe, offset);
struct i2c_adapter *tun_i2c = st->dib8000_ops.get_i2c_master(adap->fe_adap[0].fe,
return state->dib8000_ops.pid_filter(adapter->fe_adap[0].fe, index, pid, onoff);
return state->dib8000_ops.pid_filter_ctrl(adapter->fe_adap[0].fe, onoff);
if (!dvb_attach(dib8000_attach, &state->dib8000_ops))
state->dib8000_ops.i2c_enumeration(&adap->dev->i2c_adap, 1, 18,
adap->fe_adap[0].fe = state->dib8000_ops.init(&adap->dev->i2c_adap, 0x80,
if (!dvb_attach(dib8000_attach, &state->dib8000_ops))
state->dib8000_ops.i2c_enumeration(&adap->dev->i2c_adap, 1, 0x22, 0x80, 0);
adap->fe_adap[0].fe = state->dib8000_ops.init(&adap->dev->i2c_adap, 0x80,
if (!dvb_attach(dib8000_attach, &state->dib8000_ops))
state->dib8000_ops.i2c_enumeration(&adap->dev->i2c_adap, 1, 0x12, 0x82, 0);
adap->fe_adap[0].fe = state->dib8000_ops.init(&adap->dev->i2c_adap, 0x82,
return state->dib8000_ops.get_adc_power(fe, 1);
state->dib8000_ops.set_gpio(fe, 3, 0, 1);
state->dib8000_ops.set_gpio(fe, 3, 0, 0);
state->dib8000_ops.update_pll(fe, &dib8090_pll_config_12mhz, fe->dtv_property_cache.bandwidth_hz / 1000, 0);
state->dib8000_ops.update_pll(fe, &dib8090_pll_config_12mhz, fe->dtv_property_cache.bandwidth_hz / 1000, pll_ratio);
state->dib8000_ops.ctrl_timf(fe, DEMOD_TIMF_SET, timf);
state->dib8000_ops.set_wbd_ref(fe, target);
state->dib8000_ops.set_gpio(fe, 6, 0, 1);
state->dib8000_ops.set_gpio(fe, 6, 0, 0);
state->dib8000_ops.pwm_agc_reset(fe);
state->dib8000_ops.set_tune_state(fe, CT_DEMOD_START);
struct i2c_adapter *tun_i2c = st->dib8000_ops.get_i2c_master(adap->fe_adap[0].fe, DIBX000_I2C_INTERFACE_TUNER, 1);
if (!dvb_attach(dib8000_attach, &state->dib8000_ops))
state->dib8000_ops.i2c_enumeration(&adap->dev->i2c_adap, 1, 18, 0x80, 0);
adap->fe_adap[0].fe = state->dib8000_ops.init(&adap->dev->i2c_adap, 0x80, &dib809x_dib8000_config[0]);
if (!dvb_attach(dib8000_attach, &state->dib8000_ops))
state->dib8000_ops.i2c_enumeration(&adap->dev->i2c_adap, 1, 0x10, 0x82, 0);
adap->fe_adap[0].fe = state->dib8000_ops.init(&adap->dev->i2c_adap, 0x82, &dib809x_dib8000_config[1]);
struct dvb_frontend *fe_slave = st->dib8000_ops.get_slave_frontend(adap->fe_adap[0].fe, 1);
tun_i2c = st->dib8000_ops.get_i2c_master(fe_slave, DIBX000_I2C_INTERFACE_TUNER, 1);
tun_i2c = st->dib8000_ops.get_i2c_master(adap->fe_adap[0].fe, DIBX000_I2C_INTERFACE_TUNER, 1);
if (!dvb_attach(dib8000_attach, &state->dib8000_ops))
state->dib8000_ops.i2c_enumeration(&adap->dev->i2c_adap, 2, 18, 0x80, 0);
adap->fe_adap[0].fe = state->dib8000_ops.init(&adap->dev->i2c_adap, 0x80, &dib809x_dib8000_config[0]);
if (!dvb_attach(dib8000_attach, &state->dib8000_ops))
fe_slave = state->dib8000_ops.init(&adap->dev->i2c_adap, 0x82, &dib809x_dib8000_config[1]);
state->dib8000_ops.set_slave_frontend(adap->fe_adap[0].fe, fe_slave);
state->dib8000_ops.set_wbd_ref(fe, target);
state->dib8000_ops.update_pll(fe, &pll, fe->dtv_property_cache.bandwidth_hz / 1000, 0);
state->dib8000_ops.ctrl_timf(fe, DEMOD_TIMF_SET, adc.timf);
if (!dvb_attach(dib8000_attach, &state->dib8000_ops))
state->dib8000_ops.i2c_enumeration(&adap->dev->i2c_adap, 1, 0x10, 0x80, 1);
adap->fe_adap[0].fe = state->dib8000_ops.init(&adap->dev->i2c_adap,
struct i2c_adapter *tun_i2c = st->dib8000_ops.get_i2c_tuner(adap->fe_adap[0].fe);
tfe8096p_dib0090_config.reset = st->dib8000_ops.tuner_sleep;
tfe8096p_dib0090_config.sleep = st->dib8000_ops.tuner_sleep;
st->dib8000_ops.set_gpio(adap->fe_adap[0].fe, 8, 0, 1);
struct dib8000_ops dib8000_ops;