aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb/frontends/cx24116.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/dvb/frontends/cx24116.c')
-rw-r--r--drivers/media/dvb/frontends/cx24116.c36
1 files changed, 13 insertions, 23 deletions
diff --git a/drivers/media/dvb/frontends/cx24116.c b/drivers/media/dvb/frontends/cx24116.c
index ccd05255d527..b48879186537 100644
--- a/drivers/media/dvb/frontends/cx24116.c
+++ b/drivers/media/dvb/frontends/cx24116.c
@@ -1212,25 +1212,10 @@ static int cx24116_sleep(struct dvb_frontend *fe)
1212 return 0; 1212 return 0;
1213} 1213}
1214 1214
1215static int cx24116_set_property(struct dvb_frontend *fe,
1216 struct dtv_property *tvp)
1217{
1218 dprintk("%s(..)\n", __func__);
1219 return 0;
1220}
1221
1222static int cx24116_get_property(struct dvb_frontend *fe,
1223 struct dtv_property *tvp)
1224{
1225 dprintk("%s(..)\n", __func__);
1226 return 0;
1227}
1228
1229/* dvb-core told us to tune, the tv property cache will be complete, 1215/* dvb-core told us to tune, the tv property cache will be complete,
1230 * it's safe for is to pull values and use them for tuning purposes. 1216 * it's safe for is to pull values and use them for tuning purposes.
1231 */ 1217 */
1232static int cx24116_set_frontend(struct dvb_frontend *fe, 1218static int cx24116_set_frontend(struct dvb_frontend *fe)
1233 struct dvb_frontend_parameters *p)
1234{ 1219{
1235 struct cx24116_state *state = fe->demodulator_priv; 1220 struct cx24116_state *state = fe->demodulator_priv;
1236 struct dtv_frontend_properties *c = &fe->dtv_property_cache; 1221 struct dtv_frontend_properties *c = &fe->dtv_property_cache;
@@ -1455,12 +1440,20 @@ tuned: /* Set/Reset B/W */
1455 return cx24116_cmd_execute(fe, &cmd); 1440 return cx24116_cmd_execute(fe, &cmd);
1456} 1441}
1457 1442
1458static int cx24116_tune(struct dvb_frontend *fe, struct dvb_frontend_parameters *params, 1443static int cx24116_tune(struct dvb_frontend *fe, bool re_tune,
1459 unsigned int mode_flags, unsigned int *delay, fe_status_t *status) 1444 unsigned int mode_flags, unsigned int *delay, fe_status_t *status)
1460{ 1445{
1446 /*
1447 * It is safe to discard "params" here, as the DVB core will sync
1448 * fe->dtv_property_cache with fepriv->parameters_in, where the
1449 * DVBv3 params are stored. The only practical usage for it indicate
1450 * that re-tuning is needed, e. g. (fepriv->state & FESTATE_RETUNE) is
1451 * true.
1452 */
1453
1461 *delay = HZ / 5; 1454 *delay = HZ / 5;
1462 if (params) { 1455 if (re_tune) {
1463 int ret = cx24116_set_frontend(fe, params); 1456 int ret = cx24116_set_frontend(fe);
1464 if (ret) 1457 if (ret)
1465 return ret; 1458 return ret;
1466 } 1459 }
@@ -1473,10 +1466,9 @@ static int cx24116_get_algo(struct dvb_frontend *fe)
1473} 1466}
1474 1467
1475static struct dvb_frontend_ops cx24116_ops = { 1468static struct dvb_frontend_ops cx24116_ops = {
1476 1469 .delsys = { SYS_DVBS, SYS_DVBS2 },
1477 .info = { 1470 .info = {
1478 .name = "Conexant CX24116/CX24118", 1471 .name = "Conexant CX24116/CX24118",
1479 .type = FE_QPSK,
1480 .frequency_min = 950000, 1472 .frequency_min = 950000,
1481 .frequency_max = 2150000, 1473 .frequency_max = 2150000,
1482 .frequency_stepsize = 1011, /* kHz for QPSK frontends */ 1474 .frequency_stepsize = 1011, /* kHz for QPSK frontends */
@@ -1507,8 +1499,6 @@ static struct dvb_frontend_ops cx24116_ops = {
1507 .get_frontend_algo = cx24116_get_algo, 1499 .get_frontend_algo = cx24116_get_algo,
1508 .tune = cx24116_tune, 1500 .tune = cx24116_tune,
1509 1501
1510 .set_property = cx24116_set_property,
1511 .get_property = cx24116_get_property,
1512 .set_frontend = cx24116_set_frontend, 1502 .set_frontend = cx24116_set_frontend,
1513}; 1503};
1514 1504