aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorManu Abraham <abraham.manu@gmail.com>2006-06-21 09:27:31 -0400
committerMauro Carvalho Chehab <mchehab@infradead.org>2006-06-25 01:05:15 -0400
commit0249ef16fa1eb4a85411d0e1b6e6a906e26ed1ac (patch)
tree01e44bb2357acd99a851d2feafea23271475cc95 /drivers
parent8cfba6301c3c7e0d3332e237b99fefc0db001163 (diff)
V4L/DVB (4160): Use device specific algorithms
Signed-off-by: Manu Abraham <manu@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/media/dvb/dvb-core/dvb_frontend.c4
-rw-r--r--drivers/media/dvb/dvb-core/dvb_frontend.h2
2 files changed, 5 insertions, 1 deletions
diff --git a/drivers/media/dvb/dvb-core/dvb_frontend.c b/drivers/media/dvb/dvb-core/dvb_frontend.c
index b8b28b375e60..3152a54a2539 100644
--- a/drivers/media/dvb/dvb-core/dvb_frontend.c
+++ b/drivers/media/dvb/dvb-core/dvb_frontend.c
@@ -72,6 +72,8 @@ MODULE_PARM_DESC(dvb_powerdown_on_sleep, "0: do not power down, 1: turn LNB volt
72#define FESTATE_SEARCHING_FAST (FESTATE_TUNING_FAST | FESTATE_ZIGZAG_FAST) 72#define FESTATE_SEARCHING_FAST (FESTATE_TUNING_FAST | FESTATE_ZIGZAG_FAST)
73#define FESTATE_SEARCHING_SLOW (FESTATE_TUNING_SLOW | FESTATE_ZIGZAG_SLOW) 73#define FESTATE_SEARCHING_SLOW (FESTATE_TUNING_SLOW | FESTATE_ZIGZAG_SLOW)
74#define FESTATE_LOSTLOCK (FESTATE_ZIGZAG_FAST | FESTATE_ZIGZAG_SLOW) 74#define FESTATE_LOSTLOCK (FESTATE_ZIGZAG_FAST | FESTATE_ZIGZAG_SLOW)
75
76#define FE_ALGO_HW 1
75/* 77/*
76 * FESTATE_IDLE. No tuning parameters have been supplied and the loop is idling. 78 * FESTATE_IDLE. No tuning parameters have been supplied and the loop is idling.
77 * FESTATE_RETUNE. Parameters have been supplied, but we have not yet performed the first tune. 79 * FESTATE_RETUNE. Parameters have been supplied, but we have not yet performed the first tune.
@@ -554,7 +556,7 @@ static int dvb_frontend_thread(void *data)
554 } 556 }
555 557
556 /* do an iteration of the tuning loop */ 558 /* do an iteration of the tuning loop */
557 if (fe->ops.tune) { 559 if (fe->ops.get_frontend_algo(fe) == FE_ALGO_HW) {
558 /* have we been asked to retune? */ 560 /* have we been asked to retune? */
559 params = NULL; 561 params = NULL;
560 if (fepriv->state & FESTATE_RETUNE) { 562 if (fepriv->state & FESTATE_RETUNE) {
diff --git a/drivers/media/dvb/dvb-core/dvb_frontend.h b/drivers/media/dvb/dvb-core/dvb_frontend.h
index fee52baa148a..2887e2b862a4 100644
--- a/drivers/media/dvb/dvb-core/dvb_frontend.h
+++ b/drivers/media/dvb/dvb-core/dvb_frontend.h
@@ -102,6 +102,8 @@ struct dvb_frontend_ops {
102 unsigned int mode_flags, 102 unsigned int mode_flags,
103 int *delay, 103 int *delay,
104 fe_status_t *status); 104 fe_status_t *status);
105 /* get frontend tuning algorithm from the module */
106 int (*get_frontend_algo)(struct dvb_frontend *fe);
105 107
106 /* these two are only used for the swzigzag code */ 108 /* these two are only used for the swzigzag code */
107 int (*set_frontend)(struct dvb_frontend* fe, struct dvb_frontend_parameters* params); 109 int (*set_frontend)(struct dvb_frontend* fe, struct dvb_frontend_parameters* params);