dib7000p_ops
static const struct dvb_frontend_ops dib7000p_ops;
memcpy(&st->demod.ops, &dib7000p_ops, sizeof(struct dvb_frontend_ops));
void *dib7000p_attach(struct dib7000p_ops *ops)
static const struct dvb_frontend_ops dib7000p_ops = {
void *dib7000p_attach(struct dib7000p_ops *ops);
static inline void *dib7000p_attach(struct dib7000p_ops *ops)
struct dib7000p_ops dib7000p_ops;
if (!dvb_attach(dib7000p_attach, &dib7000p_ops))
fe0->dvb.frontend = dib7000p_ops.init(&i2c_bus->i2c_adap,
if (!dvb_attach(dib7000p_attach, &dib7000p_ops))
if (dib7000p_ops.i2c_enumeration(&i2c_bus->i2c_adap, 1, 0x12, &dib7070p_dib7000p_config) < 0) {
fe0->dvb.frontend = dib7000p_ops.init(&i2c_bus->i2c_adap, 0x80, &dib7070p_dib7000p_config);
fe0->dvb.frontend->sec_priv = kmemdup(&dib7000p_ops, sizeof(dib7000p_ops), GFP_KERNEL);
tun_i2c = dib7000p_ops.get_i2c_master(fe0->dvb.frontend, DIBX000_I2C_INTERFACE_TUNER, 1);
struct dib7000p_ops *dib7000p_ops = fe->sec_priv;
return dib7000p_ops->set_gpio(fe, 8, 0, !onoff);
struct dib7000p_ops dib7000p_ops;
if (!dvb_attach(dib7000p_attach, &state->dib7000p_ops))
if (state->dib7000p_ops.i2c_enumeration(&adap->dev->i2c_adap, 1, 18,
adap->fe_adap[0].fe = state->dib7000p_ops.init(&adap->dev->i2c_adap,
return state->dib7000p_ops.set_gpio(fe, 8, 0, !onoff);
state->dib7000p_ops.set_wbd_ref(fe, offset + dib0070_wbd_offset(fe));
tun_i2c = st->dib7000p_ops.get_i2c_master(adap->fe_adap[0].fe,
if (state->dib7000p_ops.i2c_enumeration(&adap->dev->i2c_adap, 1, 18,
dvb_detach(state->dib7000p_ops.set_wbd_ref);
adap->fe_adap[0].fe = state->dib7000p_ops.init(&adap->dev->i2c_adap, 0x80,
if (!dvb_attach(dib7000p_attach, &state->dib7000p_ops))
if (state->dib7000p_ops.i2c_enumeration(&adap->dev->i2c_adap, 1, 18,
dvb_detach(state->dib7000p_ops.set_wbd_ref);
adap->fe_adap[0].fe = state->dib7000p_ops.init(&adap->dev->i2c_adap, 0x80,
state->dib7000p_ops.set_wbd_ref(fe, target);
state->dib7000p_ops.update_pll(fe, &pll);
state->dib7000p_ops.ctrl_timf(fe, DEMOD_TIMF_SET, adc.timf);
state->dib7000p_ops.set_gpio(fe, 8, 0, 0);
state->dib7000p_ops.set_agc1_min(fe, 0);
state->dib7000p_ops.set_gpio(fe, 8, 0, 1);
state->dib7000p_ops.set_agc1_min(fe, 32768);
if (!dvb_attach(dib7000p_attach, &state->dib7000p_ops))
state->dib7000p_ops.set_gpio(fe, 5, 0, 0);
state->dib7000p_ops.set_agc1_min(fe, 0);
state->dib7000p_ops.set_gpio(fe, 5, 0, 1);
state->dib7000p_ops.set_agc1_min(fe, 32768);
if (state->dib7000p_ops.i2c_enumeration(&adap->dev->i2c_adap, 1, 18,
dvb_detach(state->dib7000p_ops.set_wbd_ref);
adap->fe_adap[0].fe = state->dib7000p_ops.init(&adap->dev->i2c_adap,
if (!dvb_attach(dib7000p_attach, &state->dib7000p_ops))
if (state->dib7000p_ops.i2c_enumeration(&adap->dev->i2c_adap, 1, 0x10, &nim7090_dib7000p_config) != 0) {
dvb_detach(state->dib7000p_ops.set_wbd_ref);
adap->fe_adap[0].fe = state->dib7000p_ops.init(&adap->dev->i2c_adap, 0x80, &nim7090_dib7000p_config);
struct i2c_adapter *tun_i2c = st->dib7000p_ops.get_i2c_tuner(adap->fe_adap[0].fe);
nim7090_dib0090_config.reset = st->dib7000p_ops.tuner_sleep;
nim7090_dib0090_config.sleep = st->dib7000p_ops.tuner_sleep;
nim7090_dib0090_config.get_adc_power = st->dib7000p_ops.get_adc_power;
st->dib7000p_ops.set_gpio(adap->fe_adap[0].fe, 8, 0, 1);
if (!dvb_attach(dib7000p_attach, &state->dib7000p_ops))
if (!dvb_attach(dib7000p_attach, &state->dib7000p_ops))
if (state->dib7000p_ops.i2c_enumeration(&adap->dev->i2c_adap, 1, 0x20, &tfe7090pvr_dib7000p_config[0]) != 0) {
dvb_detach(state->dib7000p_ops.set_wbd_ref);
adap->fe_adap[0].fe = state->dib7000p_ops.init(&adap->dev->i2c_adap, 0x90, &tfe7090pvr_dib7000p_config[0]);
state->dib7000p_ops.slave_reset(adap->fe_adap[0].fe);
if (!dvb_attach(dib7000p_attach, &state->dib7000p_ops))
i2c = state->dib7000p_ops.get_i2c_master(adap->dev->adapter[0].fe_adap[0].fe, DIBX000_I2C_INTERFACE_GPIO_6_7, 1);
if (state->dib7000p_ops.i2c_enumeration(i2c, 1, 0x10, &tfe7090pvr_dib7000p_config[1]) != 0) {
dvb_detach(state->dib7000p_ops.set_wbd_ref);
adap->fe_adap[0].fe = state->dib7000p_ops.init(i2c, 0x92, &tfe7090pvr_dib7000p_config[1]);
struct i2c_adapter *tun_i2c = st->dib7000p_ops.get_i2c_tuner(adap->fe_adap[0].fe);
tfe7090pvr_dib0090_config[0].reset = st->dib7000p_ops.tuner_sleep;
tfe7090pvr_dib0090_config[0].sleep = st->dib7000p_ops.tuner_sleep;
tfe7090pvr_dib0090_config[0].get_adc_power = st->dib7000p_ops.get_adc_power;
st->dib7000p_ops.set_gpio(adap->fe_adap[0].fe, 8, 0, 1);
struct i2c_adapter *tun_i2c = st->dib7000p_ops.get_i2c_tuner(adap->fe_adap[0].fe);
tfe7090pvr_dib0090_config[1].reset = st->dib7000p_ops.tuner_sleep;
tfe7090pvr_dib0090_config[1].sleep = st->dib7000p_ops.tuner_sleep;
tfe7090pvr_dib0090_config[1].get_adc_power = st->dib7000p_ops.get_adc_power;
st->dib7000p_ops.set_gpio(adap->fe_adap[0].fe, 8, 0, 1);
if (!dvb_attach(dib7000p_attach, &state->dib7000p_ops))
if (state->dib7000p_ops.i2c_enumeration(&adap->dev->i2c_adap,
dvb_detach(state->dib7000p_ops.set_wbd_ref);
adap->fe_adap[0].fe = state->dib7000p_ops.init(&adap->dev->i2c_adap,
if (state->dib7000p_ops.i2c_enumeration(&adap->dev->i2c_adap, 2, 18,
st->dib7000p_ops.get_i2c_tuner(adap->fe_adap[0].fe);
tfe7790p_dib0090_config.reset = st->dib7000p_ops.tuner_sleep;
tfe7790p_dib0090_config.sleep = st->dib7000p_ops.tuner_sleep;
tfe7790p_dib0090_config.get_adc_power = st->dib7000p_ops.get_adc_power;
st->dib7000p_ops.set_gpio(adap->fe_adap[0].fe, 8, 0, 1);
dvb_detach(state->dib7000p_ops.set_wbd_ref);
if (!dvb_attach(dib7000p_attach, &state->dib7000p_ops))
if (state->dib7000p_ops.i2c_enumeration(&adap->dev->i2c_adap, 2, 18,
dvb_detach(state->dib7000p_ops.set_wbd_ref);
adap->fe_adap[0].fe = state->dib7000p_ops.init(&adap->dev->i2c_adap, 0x80, &stk7070pd_dib7000p_config[0]);
adap->fe_adap[0].fe = state->dib7000p_ops.init(&adap->dev->i2c_adap,
if (!dvb_attach(dib7000p_attach, &state->dib7000p_ops))
adap->fe_adap[0].fe = state->dib7000p_ops.init(&adap->dev->i2c_adap, 0x82, &stk7070pd_dib7000p_config[1]);
if (!dvb_attach(dib7000p_attach, &state->dib7000p_ops))
if (state->dib7000p_ops.i2c_enumeration(&dev->i2c_adap, 2, 18,
dvb_detach(state->dib7000p_ops.set_wbd_ref);
struct dib7000p_ops dib7000p_ops;
adap->fe_adap[0].fe = state->dib7000p_ops.init(&dev->i2c_adap,
tun_i2c = state->dib7000p_ops.get_i2c_master(adap->fe_adap[0].fe,
state->dib7000p_ops.set_gpio(adap->fe_adap[0].fe, 8, 0, 0);
state->dib7000p_ops.set_gpio(adap->fe_adap[0].fe, 8, 0, 1);
if (!dvb_attach(dib7000p_attach, &state->dib7000p_ops))
if (state->dib7000p_ops.dib7000pc_detection(&adap->dev->i2c_adap) == 0) {
dvb_detach(state->dib7000p_ops.set_wbd_ref);
adap->fe_adap[0].fe = state->dib7000p_ops.init(&adap->dev->i2c_adap, 0x12,
tun_i2c = state->dib7000p_ops.get_i2c_master(adap->fe_adap[0].fe,
state->dib7000p_ops.set_gpio(adap->fe_adap[0].fe, 8, 0, 0);
state->dib7000p_ops.set_gpio(adap->fe_adap[0].fe, 8, 0, 1);
if (!dvb_attach(dib7000p_attach, &state->dib7000p_ops))
if (state->dib7000p_ops.i2c_enumeration(&adap->dev->i2c_adap, 1, 18,
dvb_detach(state->dib7000p_ops.set_wbd_ref);
adap->fe_adap[0].fe = state->dib7000p_ops.init(&adap->dev->i2c_adap, 0x80,
tun_i2c = state->dib7000p_ops.get_i2c_master(adap->fe_adap[0].fe,
if (!dvb_attach(dib7000p_attach, &state->dib7000p_ops))
if (state->dib7000p_ops.dib7000pc_detection(&adap->dev->i2c_adap)) {
adap->fe_adap[0].fe = state->dib7000p_ops.init(&adap->dev->i2c_adap, 18, &stk7700p_dib7000p_config);
memset(&state->dib7000p_ops, 0, sizeof(state->dib7000p_ops));
tun_i2c = state->dib7000p_ops.get_i2c_master(adap->fe_adap[0].fe, DIBX000_I2C_INTERFACE_TUNER, 1);
return state->dib7000p_ops.set_gpio(fe, 8, 0, !onoff);
return state->dib7000p_ops.set_gpio(fe, 9, 0, onoff);
state->dib7000p_ops.set_wbd_ref(fe, offset + dib0070_wbd_offset(fe));
state->dib7000p_ops.set_gpio(fe, 0, 0, 1);
state->dib7000p_ops.set_gpio(fe, 0, 0, 0);
state->dib7000p_ops.set_wbd_ref(fe, offset + dib0070_wbd_offset(fe));
struct i2c_adapter *tun_i2c = st->dib7000p_ops.get_i2c_master(adap->fe_adap[0].fe,
struct i2c_adapter *tun_i2c = st->dib7000p_ops.get_i2c_master(adap->fe_adap[0].fe, DIBX000_I2C_INTERFACE_TUNER, 1);
return state->dib7000p_ops.pid_filter(adapter->fe_adap[0].fe, index, pid, onoff);
return state->dib7000p_ops.pid_filter_ctrl(adapter->fe_adap[0].fe, onoff);
return state->dib7000p_ops.pid_filter(adapter->fe_adap[0].fe, index, pid, onoff);
return state->dib7000p_ops.pid_filter_ctrl(adapter->fe_adap[0].fe, onoff);
if (!dvb_attach(dib7000p_attach, &state->dib7000p_ops))