|
@@ -1768,20 +1768,17 @@ static void frontend_init(struct budget_ci *budget_ci)
|
|
break;
|
|
break;
|
|
|
|
|
|
case 0x1019: // TT S2-3200 PCI
|
|
case 0x1019: // TT S2-3200 PCI
|
|
- budget_ci->budget.dvb_frontend = stb0899_attach(&tt3200_config, &budget_ci->budget.i2c_adap);
|
|
|
|
|
|
+ budget_ci->budget.dvb_frontend = dvb_attach(stb0899_attach, &tt3200_config, &budget_ci->budget.i2c_adap);
|
|
if (budget_ci->budget.dvb_frontend) {
|
|
if (budget_ci->budget.dvb_frontend) {
|
|
- if (stb6100_attach(budget_ci->budget.dvb_frontend, &tt3200_stb6100_config, &budget_ci->budget.i2c_adap)) {
|
|
|
|
- if (!lnbp21_attach(budget_ci->budget.dvb_frontend, &budget_ci->budget.i2c_adap, 0, 0)) {
|
|
|
|
|
|
+ if (dvb_attach(stb6100_attach, budget_ci->budget.dvb_frontend, &tt3200_stb6100_config, &budget_ci->budget.i2c_adap)) {
|
|
|
|
+ if (!dvb_attach(lnbp21_attach, budget_ci->budget.dvb_frontend, &budget_ci->budget.i2c_adap, 0, 0)) {
|
|
printk("%s: No LNBP21 found!\n", __FUNCTION__);
|
|
printk("%s: No LNBP21 found!\n", __FUNCTION__);
|
|
- if (budget_ci->budget.dvb_frontend->ops.tuner_ops.release)
|
|
|
|
- budget_ci->budget.dvb_frontend->ops.tuner_ops.release(budget_ci->budget.dvb_frontend);
|
|
|
|
- if (budget_ci->budget.dvb_frontend->ops.release)
|
|
|
|
- budget_ci->budget.dvb_frontend->ops.release(budget_ci->budget.dvb_frontend);
|
|
|
|
|
|
+ dvb_frontend_detach(budget_ci->budget.dvb_frontend);
|
|
budget_ci->budget.dvb_frontend = NULL;
|
|
budget_ci->budget.dvb_frontend = NULL;
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
- if (budget_ci->budget.dvb_frontend->ops.release)
|
|
|
|
- budget_ci->budget.dvb_frontend->ops.release(budget_ci->budget.dvb_frontend);
|
|
|
|
|
|
+ dvb_frontend_detach(budget_ci->budget.dvb_frontend);
|
|
|
|
+ budget_ci->budget.dvb_frontend = NULL;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
break;
|