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

Commit 01b461bb authored by Bimow Chen's avatar Bimow Chen Committed by Mauro Carvalho Chehab
Browse files

[media] it913x: init tuner on attach



That register is needed to program very first in order to operate
correctly.

[crope@iki.fi: returned sequence back, removed sleep, moved reg
write earlier to prevent populating tuner ops in case of failure]

Cc: <stable@vger.kernel.org> # v3.15+
Signed-off-by: default avatarBimow Chen <Bimow.Chen@ite.com.tw>
Signed-off-by: default avatarAntti Palosaari <crope@iki.fi>
Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
parent 0df6580c
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -396,6 +396,7 @@ struct dvb_frontend *it913x_attach(struct dvb_frontend *fe,
		struct i2c_adapter *i2c_adap, u8 i2c_addr, u8 config)
{
	struct it913x_state *state = NULL;
	int ret;

	/* allocate memory for the internal state */
	state = kzalloc(sizeof(struct it913x_state), GFP_KERNEL);
@@ -425,6 +426,11 @@ struct dvb_frontend *it913x_attach(struct dvb_frontend *fe,
	state->tuner_type = config;
	state->firmware_ver = 1;

	/* tuner RF initial */
	ret = it913x_wr_reg(state, PRO_DMOD, 0xec4c, 0x68);
	if (ret < 0)
		goto error;

	fe->tuner_priv = state;
	memcpy(&fe->ops.tuner_ops, &it913x_tuner_ops,
			sizeof(struct dvb_tuner_ops));