Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5786a34b authored by Michael Krufky's avatar Michael Krufky Committed by Mauro Carvalho Chehab
Browse files

V4L/DVB (4944): Cx88: Convert DViCO FusionHDTV Hybrid to use dvb_pll_attach



Converted DViCO FusionHDTV Hybrid to use dvb_pll_attach, removing
another static dependency of cx88-dvb on dvb-pll.
Acked-by: default avatarChris Pascoe <c.pascoe@itee.uq.edu.au>

Signed-off-by: default avatarMichael Krufky <mkrufky@linuxtv.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
parent 1d4bb7d3
Loading
Loading
Loading
Loading
+3 −32
Original line number Diff line number Diff line
@@ -268,35 +268,6 @@ static struct mt352_config dntv_live_dvbt_pro_config = {
};
#endif

static int dvico_hybrid_tuner_set_params(struct dvb_frontend *fe,
					 struct dvb_frontend_parameters *params)
{
	u8 pllbuf[4];
	struct cx8802_dev *dev= fe->dvb->priv;
	struct i2c_msg msg =
		{ .addr = dev->core->pll_addr, .flags = 0,
		  .buf = pllbuf, .len = 4 };
	int err;

	dvb_pll_configure(dev->core->pll_desc, pllbuf,
			  params->frequency,
			  params->u.ofdm.bandwidth);

	if (fe->ops.i2c_gate_ctrl)
		fe->ops.i2c_gate_ctrl(fe, 1);
	if ((err = i2c_transfer(&dev->core->i2c_adap, &msg, 1)) != 1) {
		printk(KERN_WARNING "cx88-dvb: %s error "
		       "(addr %02x <- %02x, err = %i)\n",
		       __FUNCTION__, pllbuf[0], pllbuf[1], err);
		if (err < 0)
			return err;
		else
			return -EREMOTEIO;
	}

	return 0;
}

static struct zl10353_config dvico_fusionhdtv_hybrid = {
	.demod_address = 0x0f,
	.no_tuner      = 1,
@@ -599,13 +570,13 @@ static int dvb_register(struct cx8802_dev *dev)
#endif
		break;
	case CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_HYBRID:
		dev->core->pll_addr = 0x61;
		dev->core->pll_desc = &dvb_pll_thomson_fe6600;
		dev->dvb.frontend = dvb_attach(zl10353_attach,
					       &dvico_fusionhdtv_hybrid,
					       &dev->core->i2c_adap);
		if (dev->dvb.frontend != NULL) {
			dev->dvb.frontend->ops.tuner_ops.set_params = dvico_hybrid_tuner_set_params;
			dvb_attach(dvb_pll_attach, dev->dvb.frontend, 0x61,
				   &dev->core->i2c_adap,
				   &dvb_pll_thomson_fe6600);
		}
		break;
	case CX88_BOARD_PCHDTV_HD3000: