diff options
author | Manu Abraham <abraham.manu@gmail.com> | 2006-06-21 09:27:31 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2006-06-25 01:05:15 -0400 |
commit | 0249ef16fa1eb4a85411d0e1b6e6a906e26ed1ac (patch) | |
tree | 01e44bb2357acd99a851d2feafea23271475cc95 /drivers/media/dvb | |
parent | 8cfba6301c3c7e0d3332e237b99fefc0db001163 (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/media/dvb')
-rw-r--r-- | drivers/media/dvb/dvb-core/dvb_frontend.c | 4 | ||||
-rw-r--r-- | drivers/media/dvb/dvb-core/dvb_frontend.h | 2 |
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); |