Commit 332bed5f authored by Patrick Boettcher's avatar Patrick Boettcher Committed by Mauro Carvalho Chehab

V4L/DVB (4027): Fixes after dvb_tuner_ops-conversion

Some of the dvb_tuner_ops-pointer were set before having a dvb_frontend creating.
Signed-off-by: default avatarPatrick Boettcher <pb@linuxtv.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
parent 2938d780
...@@ -359,6 +359,10 @@ static int cxusb_fmd1216me_tuner_attach(struct dvb_usb_device *d) ...@@ -359,6 +359,10 @@ static int cxusb_fmd1216me_tuner_attach(struct dvb_usb_device *d)
d->pll_addr = 0x61; d->pll_addr = 0x61;
memcpy(d->pll_init, bpll, 4); memcpy(d->pll_init, bpll, 4);
d->pll_desc = &dvb_pll_fmd1216me; d->pll_desc = &dvb_pll_fmd1216me;
d->fe->ops->tuner_ops.init = dvb_usb_tuner_init_i2c;
d->fe->ops->tuner_ops.set_params = dvb_usb_tuner_set_params_i2c;
return 0; return 0;
} }
...@@ -366,6 +370,7 @@ static int cxusb_dee1601_tuner_attach(struct dvb_usb_device *d) ...@@ -366,6 +370,7 @@ static int cxusb_dee1601_tuner_attach(struct dvb_usb_device *d)
{ {
d->pll_addr = 0x61; d->pll_addr = 0x61;
d->pll_desc = &dvb_pll_thomson_dtt7579; d->pll_desc = &dvb_pll_thomson_dtt7579;
d->fe->ops->tuner_ops.calc_regs = dvb_usb_tuner_calc_regs;
return 0; return 0;
} }
...@@ -373,6 +378,7 @@ static int cxusb_lgz201_tuner_attach(struct dvb_usb_device *d) ...@@ -373,6 +378,7 @@ static int cxusb_lgz201_tuner_attach(struct dvb_usb_device *d)
{ {
d->pll_addr = 0x61; d->pll_addr = 0x61;
d->pll_desc = &dvb_pll_lg_z201; d->pll_desc = &dvb_pll_lg_z201;
d->fe->ops->tuner_ops.calc_regs = dvb_usb_tuner_calc_regs;
return 0; return 0;
} }
...@@ -380,6 +386,13 @@ static int cxusb_dtt7579_tuner_attach(struct dvb_usb_device *d) ...@@ -380,6 +386,13 @@ static int cxusb_dtt7579_tuner_attach(struct dvb_usb_device *d)
{ {
d->pll_addr = 0x60; d->pll_addr = 0x60;
d->pll_desc = &dvb_pll_thomson_dtt7579; d->pll_desc = &dvb_pll_thomson_dtt7579;
d->fe->ops->tuner_ops.calc_regs = dvb_usb_tuner_calc_regs;
return 0;
}
static int cxusb_lgdt3303_tuner_attach(struct dvb_usb_device *d)
{
d->fe->ops->tuner_ops.set_params = cxusb_lgh064f_tuner_set_params;
return 0; return 0;
} }
...@@ -391,11 +404,8 @@ static int cxusb_cx22702_frontend_attach(struct dvb_usb_device *d) ...@@ -391,11 +404,8 @@ static int cxusb_cx22702_frontend_attach(struct dvb_usb_device *d)
cxusb_ctrl_msg(d,CMD_DIGITAL, NULL, 0, &b, 1); cxusb_ctrl_msg(d,CMD_DIGITAL, NULL, 0, &b, 1);
if ((d->fe = cx22702_attach(&cxusb_cx22702_config, &d->i2c_adap)) != NULL) { if ((d->fe = cx22702_attach(&cxusb_cx22702_config, &d->i2c_adap)) != NULL)
d->fe->ops->tuner_ops.init = dvb_usb_tuner_init_i2c;
d->fe->ops->tuner_ops.set_params = dvb_usb_tuner_set_params_i2c;
return 0; return 0;
}
return -EIO; return -EIO;
} }
...@@ -407,10 +417,8 @@ static int cxusb_lgdt3303_frontend_attach(struct dvb_usb_device *d) ...@@ -407,10 +417,8 @@ static int cxusb_lgdt3303_frontend_attach(struct dvb_usb_device *d)
cxusb_ctrl_msg(d,CMD_DIGITAL, NULL, 0, NULL, 0); cxusb_ctrl_msg(d,CMD_DIGITAL, NULL, 0, NULL, 0);
if ((d->fe = lgdt330x_attach(&cxusb_lgdt3303_config, &d->i2c_adap)) != NULL) { if ((d->fe = lgdt330x_attach(&cxusb_lgdt3303_config, &d->i2c_adap)) != NULL)
d->fe->ops->tuner_ops.set_params = cxusb_lgh064f_tuner_set_params;
return 0; return 0;
}
return -EIO; return -EIO;
} }
...@@ -422,10 +430,8 @@ static int cxusb_mt352_frontend_attach(struct dvb_usb_device *d) ...@@ -422,10 +430,8 @@ static int cxusb_mt352_frontend_attach(struct dvb_usb_device *d)
cxusb_ctrl_msg(d,CMD_DIGITAL, NULL, 0, NULL, 0); cxusb_ctrl_msg(d,CMD_DIGITAL, NULL, 0, NULL, 0);
if ((d->fe = mt352_attach(&cxusb_mt352_config, &d->i2c_adap)) != NULL) { if ((d->fe = mt352_attach(&cxusb_mt352_config, &d->i2c_adap)) != NULL)
d->fe->ops->tuner_ops.calc_regs = dvb_usb_tuner_calc_regs;
return 0; return 0;
}
return -EIO; return -EIO;
} }
...@@ -437,10 +443,8 @@ static int cxusb_dee1601_frontend_attach(struct dvb_usb_device *d) ...@@ -437,10 +443,8 @@ static int cxusb_dee1601_frontend_attach(struct dvb_usb_device *d)
cxusb_ctrl_msg(d,CMD_DIGITAL, NULL, 0, NULL, 0); cxusb_ctrl_msg(d,CMD_DIGITAL, NULL, 0, NULL, 0);
if ((d->fe = mt352_attach(&cxusb_dee1601_config, &d->i2c_adap)) != NULL) { if ((d->fe = mt352_attach(&cxusb_dee1601_config, &d->i2c_adap)) != NULL)
d->fe->ops->tuner_ops.calc_regs = dvb_usb_tuner_calc_regs;
return 0; return 0;
}
return -EIO; return -EIO;
} }
...@@ -555,6 +559,7 @@ static struct dvb_usb_properties cxusb_bluebird_lgh064f_properties = { ...@@ -555,6 +559,7 @@ static struct dvb_usb_properties cxusb_bluebird_lgh064f_properties = {
.streaming_ctrl = cxusb_streaming_ctrl, .streaming_ctrl = cxusb_streaming_ctrl,
.power_ctrl = cxusb_bluebird_power_ctrl, .power_ctrl = cxusb_bluebird_power_ctrl,
.frontend_attach = cxusb_lgdt3303_frontend_attach, .frontend_attach = cxusb_lgdt3303_frontend_attach,
.tuner_attach = cxusb_lgdt3303_tuner_attach,
.i2c_algo = &cxusb_i2c_algo, .i2c_algo = &cxusb_i2c_algo,
......
...@@ -175,8 +175,8 @@ int dibusb_dib3000mc_frontend_attach(struct dvb_usb_device *d) ...@@ -175,8 +175,8 @@ int dibusb_dib3000mc_frontend_attach(struct dvb_usb_device *d)
for (demod_cfg.demod_address = 0x8; demod_cfg.demod_address < 0xd; demod_cfg.demod_address++) for (demod_cfg.demod_address = 0x8; demod_cfg.demod_address < 0xd; demod_cfg.demod_address++)
if ((d->fe = dib3000mc_attach(&demod_cfg,&d->i2c_adap,&st->ops)) != NULL) { if ((d->fe = dib3000mc_attach(&demod_cfg,&d->i2c_adap,&st->ops)) != NULL) {
d->fe->ops->tuner_ops.init = dvb_usb_tuner_init_i2c; d->fe->ops.tuner_ops.init = dvb_usb_tuner_init_i2c;
d->fe->ops->tuner_ops.set_params = dvb_usb_tuner_set_params_i2c; d->fe->ops.tuner_ops.set_params = dvb_usb_tuner_set_params_i2c;
d->tuner_pass_ctrl = st->ops.tuner_pass_ctrl; d->tuner_pass_ctrl = st->ops.tuner_pass_ctrl;
return 0; return 0;
} }
...@@ -189,6 +189,10 @@ int dibusb_dib3000mc_tuner_attach (struct dvb_usb_device *d) ...@@ -189,6 +189,10 @@ int dibusb_dib3000mc_tuner_attach (struct dvb_usb_device *d)
{ {
d->pll_addr = 0x60; d->pll_addr = 0x60;
d->pll_desc = &dvb_pll_env57h1xd5; d->pll_desc = &dvb_pll_env57h1xd5;
d->fe->ops.tuner_ops.init = dvb_usb_tuner_init_i2c;
d->fe->ops.tuner_ops.set_params = dvb_usb_tuner_set_params_i2c;
return 0; return 0;
} }
EXPORT_SYMBOL(dibusb_dib3000mc_tuner_attach); EXPORT_SYMBOL(dibusb_dib3000mc_tuner_attach);
......
...@@ -57,7 +57,6 @@ static int umt_mt352_frontend_attach(struct dvb_usb_device *d) ...@@ -57,7 +57,6 @@ static int umt_mt352_frontend_attach(struct dvb_usb_device *d)
memset(&umt_config,0,sizeof(struct mt352_config)); memset(&umt_config,0,sizeof(struct mt352_config));
umt_config.demod_init = umt_mt352_demod_init; umt_config.demod_init = umt_mt352_demod_init;
umt_config.demod_address = 0xf; umt_config.demod_address = 0xf;
d->fe->ops->tuner_ops.calc_regs = dvb_usb_tuner_calc_regs;
d->fe = mt352_attach(&umt_config, &d->i2c_adap); d->fe = mt352_attach(&umt_config, &d->i2c_adap);
...@@ -68,6 +67,7 @@ static int umt_tuner_attach (struct dvb_usb_device *d) ...@@ -68,6 +67,7 @@ static int umt_tuner_attach (struct dvb_usb_device *d)
{ {
d->pll_addr = 0x61; d->pll_addr = 0x61;
d->pll_desc = &dvb_pll_tua6034; d->pll_desc = &dvb_pll_tua6034;
d->fe->ops->tuner_ops.calc_regs = dvb_usb_tuner_calc_regs;
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment